Mostrar información

 
 
19/nov/2014
dd if of gzip, Hacer copia de seguridad de discos usando dd
He respaldado mi sistema a una unidad externa usando "dd", esta tarea es preferible hacerla ...

He respaldado mi sistema a una unidad externa usando "dd", esta tarea es preferible hacerla desde distribución de Linux Live, puede elegir cualquiera, incluso el CD de instalación, yo en este caso he preferido hacerlo con la muchas veces mencionada System Rescue, en mi caso desde un pendrive para arrancar desde él. A continuación se muestran los pasos en breve:

  • Arrancar desde la distribución live bien Usb o CD-ROM.
  • Permanecer como root
  • Asegúrese de que no hay particiones montadas desde el disco duro de origen.

Montar el disco duro externo.

# mkdir /mnt/sdb1

# mount -t vfat /dev/sdb1 /mnt/sdb1     
  • Hacer un Backup del dispositivo.
# dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c  > /mnt/sdb1/hda.img.gz
  • "dd" es el comando para hacer una copia bit a bit, donde "if=/dev/hda" es el "fichero" de entrada y "of=/mnt/sdb1/hda.img.gz" es el "fichero" de salida. Todos los "ficheros" de salida deben tener un nombre, en este lo llamamos "hda.img.gz". "conv=sync,noerror" indica a dd que no debe leer los blocks que puedan tener errores, escribiendo así siempre la longitud correcta. Siempre que su disco duro no presente errores, recuerda que dd leerá cada bloque de datos simple, incluyendo cualquier bloques que el sistema operativo evita usar porque los ha marcado como malos. "bs=64K" es el tamaño del bloque de 64x1024 Bytes. Usando este gran tamaño de bloque se acelera el proceso de copia. La salida de dd es pipeada para ser comprimida con gzip.
  • Restaurar el sistema:
# gunzip -c /mnt/sdb1/hda.img.gz | dd of=/dev/hda conv=sync,noerror bs=64K

NOTE: He tenido mucho éxito obviando "conv=sync,noerror" durante el proceso de restauración.

  • Almacenar información adicional sobre la geometría de disco necesaria para interpretar la tabla de particiones almacenada dentro de la imagen. El más importante de los cuales es el tamaño del cilindro
# fdisk -l /dev/hda > /mnt/sdb1/hda_fdisk.info

Nota:

Una de las desventajas de usar el método dd sobre software específicamente diseñado para el trabajo como Ghost o PartImage es que dd almacenará la partición entera, incluyendo bloques actualmente no utilizados para almacenar los archivos (es decir, espacio vacío), mientras que Ghost entiende el sistema de archivos y no almacenará estos bloques sin asignar. La sobrecarga no está mal mientras se comprima la imagen y los bloques tengan baja entropía. En general esto no será el caso porque puede vacíar los bloques que contienen basura de los archivos pasados. Para corregir esto, lo mejor es que todos los bloques tengan espacio en blanco antes de hacer la imagen. Después de hacer eso, los bloques contendrán sobre todo ceros y por lo tanto se comprimen a casi nada.

Montar la partición, luego cree un archivo de ceros que llena todo el disco, luego borrelo otra vez.

También puede ejecutar, este escript (más seguro), antes de hacer la copia de seguridad, dejar que se llene el disco duro (vigilar desde otra terminal/consola), luego borre el archivo creado (volviendo a dejar el espacio libre). Entonces tras su ejecución, habrá suprimido toda la basura.

O hacer, como se indica en este fichero:

# dd if=/dev/zero of=/tmp/delete.me bs=8M; rm delete.me
 
 
Fuente - http://www.linux-party.com/index.php/75-hardware/9228-dd-if-of-gzip-image-your-hard-drive-using-dd