Resposta de Nerdwaller sobre o uso tee
para transferir e calcular simultaneamente uma soma de verificação é uma boa abordagem se você estiver preocupado principalmente com a corrupção na rede. Ele não irá protegê-lo contra a corrupção no caminho para o disco, etc., porém, já que ele está recebendo a soma de verificação antes de chegar ao disco.
Mas gostaria de acrescentar algo:
1 TiB / 40 minutos ≈ 437 MiB / seg 1 .
Isso é bem rápido, na verdade. Lembre-se que a menos que você tenha um muito de RAM, isso tem que voltar do armazenamento. Então, a primeira coisa a verificar é assistir iostat -kx 10
como você executa suas somas de verificação; em particular, você quer prestar atenção ao %util
coluna. Se você está atrelando os discos (perto de 100%), a resposta é comprar um armazenamento mais rápido.
Caso contrário, como outros pôsteres mencionados, você pode tentar diferentes algoritmos de soma de verificação. MD4, MD5 e SHA-1 são todos projetados para serem hashes criptográficos (embora nenhum deles deva ser usado para essa finalidade; todos são considerados muito fracos). Velocidade sábia, você pode compará-los com openssl speed md4 md5 sha1 sha256
. Eu joguei SHA256 para ter pelo menos um hash ainda forte o suficiente.
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
Acima, você pode ver que o MD4 é o mais rápido e o SHA256 o mais lento. Esse resultado é típico de hardware semelhante a um PC, pelo menos.
Se você quiser ainda mais desempenho (ao custo de ser trivial para adulterar, e também menos propensos a detectar corrupção), você quer olhar para um hash CRC ou Adler. Dos dois, Adler é tipicamente mais rápido, mas mais fraco. Infelizmente, não estou ciente de nenhuma implementação de linha de comando realmente rápida; os programas no meu sistema são todos mais lentos que o md4 do OpenSSL.
Então, sua melhor aposta de velocidade é openssl md4 -r
(a -r
faz com que pareça uma saída md5sum).
Se você estiver disposto a fazer alguma programação e / ou programação mínima, veja O código de Mark Adler acabou no Stack Overflow e também xxhash . Se você tiver o SSE 4.2, não será capaz de superar a velocidade da instrução CRC de hardware.
1 1 TiB = 1024 ⁴ bytes; 1 MiB = 1024 ² bytes. Vem para 17417MB / s com potências de 1000 unidades.