La réponse de Nerdwaller à propos de l'utilisation teepour transférer et calculer simultanément une somme de contrôle est une bonne approche si vous êtes principalement préoccupé par la corruption sur le réseau. Il ne vous protégera pas contre la corruption sur le chemin du disque, etc., car il prend la somme de contrôle avant qu'il ne frappe le disque.
Mais je voudrais ajouter quelque chose:
1 TiB / 40 minutes ≈ 437 MiB / sec 1 .
C'est assez rapide, en fait. N'oubliez pas que si vous n'avez pas beaucoup de RAM, cela doit revenir du stockage. Donc, la première chose à vérifier est de regarder iostat -kx 10pendant que vous exécutez vos sommes de contrôle; en particulier, vous voulez faire attention à la %utilcolonne. Si vous fixez les disques (près de 100%), la réponse est d'acheter un stockage plus rapide.
Sinon, comme d'autres affiches l'ont mentionné, vous pouvez essayer différents algorithmes de somme de contrôle. MD4, MD5 et SHA-1 sont tous conçus pour être des hachages cryptographiques (bien qu'aucun de ceux-ci ne devrait plus être utilisé à cette fin; tous sont considérés comme trop faibles). En termes de vitesse, vous pouvez les comparer avec openssl speed md4 md5 sha1 sha256. J'ai jeté dans SHA256 pour avoir au moins un hachage encore assez fort.
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md4              61716.74k   195224.79k   455472.73k   695089.49k   820035.58k
md5              46317.99k   140508.39k   320853.42k   473215.66k   539563.35k
sha1             43397.21k   126598.91k   283775.15k   392279.04k   473153.54k
sha256           33677.99k    75638.81k   128904.87k   155874.91k   167774.89k
De ce qui précède, vous pouvez voir que MD4 est le plus rapide et SHA256 le plus lent. Ce résultat est typique sur du matériel de type PC, au moins.
Si vous voulez encore plus de performances (au prix d'être triviales à falsifier et également moins susceptibles de détecter la corruption), vous voulez regarder un hachage CRC ou Adler. Des deux, Adler est généralement plus rapide, mais plus faible. Malheureusement, je ne connais aucune implémentation de ligne de commande vraiment rapide; les programmes sur mon système sont tous plus lents que le md4 d'OpenSSL.
Donc, votre meilleur pari en termes de vitesse est openssl md4 -r(le -rfait ressembler à une sortie md5sum).
Si vous êtes prêt à faire de la compilation et / ou une programmation minimale, consultez le code de Mark Adler sur Stack Overflow et également xxhash . Si vous avez SSE 4.2, vous ne pourrez pas battre la vitesse de l'instruction matérielle CRC.
1 1 TiB = 1024⁴ octets; 1 Mio = 1024² octets. Vient à 17417MB / sec avec des puissances de 1000 unités.