A única maneira de você poder fazer o checksum em uma unidade inteira é desmontar o sistema de arquivos desejado e, em seguida, fazer o checksum:
(assumindo que /dev/sdb
esteja montado em /mnt/foo
)
$ umount /mnt/foo
$ md5sum /dev/sdb
...
Uma vez que você tenha a soma de verificação, você pode usar dd
canalizado através do ssh para transferir o dispositivo de bloco inteiro para outro sistema:
$ dd if=/dev/sdb | ssh user@host "dd of=/path/to/destination/device"
Se você é capaz de usar o ZFS, no entanto, tudo isso fica muito mais fácil, já que você pode capturar um sistema de arquivos inteiro e enviá-lo de maneira eficiente para um servidor remoto. Com o ZFS, praticamente tudo é verificado e você pode ter certeza de que a cópia remota corresponderá à cópia local bit-a-bit.