Acabo de hacer una copia de seguridad de un disco duro completo (50 GB) a ssh
través de:
dd if=/dev/hda | buffer -s 64k -S 10m | ssh myuser@myhost "cat > ~/image.img"
¿Cuál es ahora la mejor manera de verificar la integridad del archivo image.img
, es decir, cómo verificar que todo se haya copiado correctamente?
Respuestas:
Si el comando finalizó con éxito, la copia de seguridad es correcta, salvo un error de hardware (que podría afectar igualmente cualquier verificación que pueda realizar). Más tarde puede volverse incorrecto si el hardware es defectuoso, pero la mayoría del hardware de almacenamiento detecta daños.
Aquí hay una advertencia: en una tubería, el shell no informa errores desde el lado izquierdo. (Esto se debe a un escenario bastante común en el que el lado derecho no necesita leer todos los datos, por ejemplo
some_command | head
, y los troqueles lado izquierdo debido a su producción ya no quería.) Así que aquí un error de lectura dedd
Would ser ignorado. En bash, configure lapipefail
opción para informar errores de todas las partes de la tubería.Además, tenga en cuenta que
dd bs=…
ignora algunos errores ydd
suele ser más lento que las alternativas . Recomiendo no usarlodd
en absoluto: no tiene beneficios simplemente copiar un archivo completo. Al contrario de lo que podría haber leído en alguna parte,dd
no es un comando de acceso al disco de bajo nivel con propiedades especiales, no hay absolutamente ninguna magiadd
, la magia está dentro/dev/hda
.Sin embargo, si desea verificar la copia de seguridad, la mejor manera es tomar una suma de verificación criptográfica en cada lado y compararlos. Por ejemplo:
Verifique que las dos sumas de verificación sean idénticas.
Tenga en cuenta que esto prueba si la copia de seguridad y el original son idénticos en el momento de la verificación. Cualquier cosa que cambie
/dev/hda
, incluido el montaje y desmontaje de un sistema de archivos, incluso sin realizar ningún cambio (que actualizará una última fecha de montaje en muchos sistemas de archivos), cambiará la suma de comprobación. Si desea verificar la integridad más adelante, anote la suma de comprobación del disco en el momento de la copia de seguridad en algún lugar.fuente
/dev/hda
ha cambiado desde que se realizó la copia de seguridad de los valores hash no coincidirán.Como mencionaron Darnir y Giles, lo mejor que puede hacer es ejecutar hashes criptográficos inmediatamente después de la copia de seguridad antes de que se haya modificado algo en su disco de origen. Sin embargo, si ha utilizado el disco desde entonces, es muy probable que los hashes no coincidan. Incluso cambiar un byte en el disco dará como resultado un hash completamente diferente.
Aunque es mucho menos que ideal, puede verificar la imagen al montarla. En el sistema donde está la imagen del disco, ejecute lo siguiente (cree
/mnt/disk
si no existe o use una ubicación alternativa):Luego puede navegar
/mnt/disk
y ver todos los archivos. Verifique los hash sha1 de los archivos críticos dentro de la imagen contra los originales para verificar su integridad.fuente
Use el comando qemu-img
fuente