Usando dd para hacer una copia de seguridad del disco en el mismo disco

Usando dd para hacer una copia de seguridad del disco en el mismo disco

Intenté usar ddpara hacer una copia de seguridad del disco duro de mi computadora, pero obtuve algunos resultados bastante confusos. Lo he visto en múltiples fuentes (por ejemplo:http://www.backuphowto.info/linux-backup-hard-disk-clone-dd,http://debianhelp.co.uk/ddcommand.htm) que incluyen algo así:

dd if=/dev/sda of=~/backup.img

1) A menos que esté muy confundido, esto intentará hacer una copia de seguridad de todo el disco en un archivo en el disco, ¿no es así?

Intenté utilizar este método, pero primero comprimí la salida para ahorrar espacio. Para evitar que el archivo comprimido ocupe mucho espacio al intentar copiar todos los datos libres, solía zerofreeescribir 0 en todo el espacio no utilizado de mi disco. Mi disco tiene una capacidad total de ~320 GB, y se utilizan alrededor de 100 GB, dejando ~220 GB libres.

Cuando intenté usar el siguiente comando:

dd if=/dev/sda | gzip -c > ~/image.img.gz

El archivo respaldado alcanzó un tamaño de ~160 GB antes de salir de la copia de seguridad (con la intención de descubrir cómo realizar una copia de seguridad en un disco externo, una tarea en la que desde entonces he tenido éxito).

2) ¿Por qué la copia de seguridad ocuparía tanto espacio? ¿Es porque ddve el archivo en el que se ha estado escribiendo y luego intenta hacer una copia de seguridad de él también? ¿O es posible que no logré usarlo zerofreedel todo correctamente y, por lo tanto, solo hay una copia de seguridad de un montón de datos basura aleatorios a pesar de mis esfuerzos para evitar que eso suceda?

Respuesta1

No se puede duplicar con precisión un disco duro mientras se está modificando.

A menos que esté muy confundido, esto intentará hacer una copia de seguridad de todo el disco en un archivo en el disco, ¿no es así?

Sí, lo intentará. El ddcomando leerá un bloque (de la unidad), comprimirá el bloque, escribirá el bloque (en un archivo en esa unidad) y pasará al siguiente bloque. La imagen tendrá un backup.imgsistema de archivos parcialmente escrito y punteros a ese archivo.

Nota: Simplifiqué enormemente el almacenamiento en búfer de la tubería entre ddy gzipya que los detalles no son relevantes aquí.

¿Por qué la copia de seguridad ocuparía tanto espacio?

La causa probable es que está intentando copiar el backup.imgarchivo parcialmente escrito. Otros factores requieren un conocimiento avanzado de las estructuras del sistema de archivos que está utilizando.

información relacionada