Copias de seguridad con Partimage

Por petición de r0sk he hecho este HOW-TO acerca de como clonar facilmente diferentes máquinas cuyo sistema operativo es GNU/Linux. ¿Porque GNU/Linux? Porque Partimage reconoce FAT32, reiserfs v3.6, ext2 y ext3, HPFS, JFS y XFS. Tenemos también UFS y HFS en fase beta y NTFS en experimental.

Usaremos 2 métodos:

  1. Backup y rescate por red
  2. Backup a disco duro, nos hacemos nuestro propio CD/DVD y arrancamos con él para restaurar.

Nos bajaremos SystemRescueCD que es una LiveCD basada en Gentoo que contiene varias herramientas entre ellas, Partimage.
Partimage nos permite hacer backups de particiones por separado (No discos enteros por el momento) y guardarlas a un fichero de imagen sin comprimir, comprimido con gzip o con bz2.

NOTA: Si lo que buscabas era clonar discos podéis usar la utilidad g4u (Ghost for Unix) pero para eso usas “dd”…

Grabaremos la imagen de SystemRescueCD a un CD.

# growisofs -Z /dev/hdX=systemrescuecd.iso

/dev/hdX será vuestra unidad grabadora y systemrescuecd.iso la imagen iso en el directorio que estamos situados.
Podéis grabarla con k3b u otro programa si os gusta más.

Arrancaremos con ella.

1 – Backup por red

Al arrancar nos aparece el prompt y si pulsamos F2, F3 o F4, nos saldrán las opciones de arranque donde tenemos opciones como memtest, modos de vídeo con framebuffer, una herramienta de información de la máquina, etc.

Al pulsar F2 tenemos opciones como modos de vídeo, memtest y otras utilidades.
Al pulsar F3 tenemos opciones del kernel como noacpi para desactivar el ACPI, nonet, etc
Al pulsar F4 tenemos opciones de autorum, para ordenarle ejecutar algo al arrancar

NOTA: La herramienta de información (AIDA) se lanza ejecutando aida y luego usanto avpag y repag para movernos por las pantallas.

Bien, no necesitamos extras, pulsamos intro con las opciones por defecto y el kernel se cargará y comenzará a arrancar el SO.
Llega un momento en el que nos solicita escoger el esquema de teclado, el cual será Español, que se activa escribiendo 13 y pulsando intro.
Termina de cargar y nos da una ayuda por pantalla acerca de como configurar la red, soporte NTFS con Captive, etc. Recomendable leerlo.

Para este método necesitaremos la red así que usaremos net-setup.

# net-setup eth0

Especificaremos la IP manualmente o por DHCP si tenéis un servidor DHCP en la red. Yo escojo asignarla manualmente.
Escribimos nuestra IP, por ejemplo 192.168.1.2, luego nos pedirá el broadcast (192.168.1.255) y la máscara de subred (255.255.255.0), la puerta de enlace (192.168.1.1) y por último el/los servidores DNS (80.58.0.33).

NOTA: Todos los datos que he introducidos son de una red inventada y quizá muy similar a la vuestra. De todos modos aseguraros que los valores que introducís son los correctos.

Nos aseguramos que todo está correctamente configurado. Ejecutamos:

# ifconfig

Y vemos la configuración de la interfaz eth0.

El servidor de partimage se llama partimaged y lo tenemos en el CD, pero no lo utilizaremos.
La idea es montar un sistema de backup Cliente-Servidor, de modo que nosotros desde la LiveCD enviemos los datos por red al servidor.
Supongamos que en otra máquina de nuestra red con IP 192.168.1.3 está arrancado partimaged con la opción -D (Correr en segundo plano) en el directorio /mnt/Backup.

# cd /mnt/Backup
# partimaged -D

1.1 – Crear imagen

Ahora ejecutaremos en el LiveCD partimage.

# partimage

La interfaz es intuitiva, se controla todo con las flechas arriba y abajo, space y la tecla tab.
Lo primero que haremos será escoger de que partición hacer la imagen, por ejemplo, hda1. Nos desplazamos con las flechas de dirección hasta hda1 (Ya que la primera es cloop0) y pulsamos tab.
Ahora el guión amarillo se nos ha situado en la segunda sección donde escribiremos el nombre del fichero, por ejemplo, Backup.
Pulsamos tab de nuevo y escogeremos si hacer copia de seguridad Save o restaurar Restore. Como veis también existe la opción de recuperar solo el MBR. Para marcar una de esas opciones usaremos la tecla space. Nos pondremos sobre Connect to server y pulsamos de nuevo la tecla space, ahora tabulación y escribimos la IP del servidor, 192.168.1.3 en nuestro casi. El puerto lo dejamos por defecto.

Pulsamos F5, lo que nos llevará a la segunda pantalla.

Aquí escogeremos el método de compresión, si queremos comprobar la partición antes de hacer la imagen, si queremos introducir descripción de la imagen, qué hacer una vez terminado y algo muy interesante, partir la imagen en trozos del tamaño que le indiquemos, en MB.

Al pulsar F5 nos mandará introducir la descripción y luego tras comprobar la partición, nos pedirá confirmación para continuar.

Veremos que en el directorio /mnt/Backup se nos ha creado el fichero Backup.000, si hubiésemos mandado crear ficheros de 1024MB, serían X trozos, llamándose .000 el primero, .001 el segundo, etc.

1.2 – Restaurarla

Doy por supuesto que partimaged no se tocó y sigue ejecutándose como estaba, en el directorio donde están los ficheros.

Ahora haremos como la vez anterior pero escogeremos la partición a restaurar, el nombre de la imagen será Backup.000 (Si, esta vez con ceros) y más abajo “Restore partition from image file”. Marcaremos y rellenaremos la sección del servidor y pulsaremos F5.
Si no nos hemos equivocado nos saldrá la descripción de la imagen por pantalla, daremos intro y configuraremos si hacer una simulación o no, y si deseamos escribir es espacio vacío con ceros. Yo siempre hago una simulación primero, de hecho la hago justo al terminar de hacer la backup (Paso anterior) y escribo con ceros el espacio vacío.

Como siempre, nos pedirá confirmación. Es sencillo :).

2 – Creación de CD autoarrancable
Nos crearemos una LiveCD basada en SystemRescueCD con nuestra backup dentro.
No sé lo que os habrá ocupado la imagen pero a mi del sistema (Solo el sistema, sin /home ni /mnt, por supuesto) me ocupa 1.7 GB.

NOTA: Al parecer con los DVD-R hay problemas para hacer multisesión por lo que haré paso 2.1 y paso 2.2. El paso 1.1 será aprovechando la multisesión y el paso 2.2 será haciendonos una ISO aprovechando la existente.

2.1 – Aprovechando la multisesión de un DVD+R

/dev/hdX es vuestra grabadora y despues del = la ruta a la ISO.

# growisofs -Z /dev/hdc=systemrescuecd-x86-0.2.19.iso

Executing 'builtin_dd if=systemrescuecd-x86-0.2.19.iso of=/dev/hdc obs=32k seek=0'
/dev/hdc: "Current Write Speed" is 4.1x1385KBps.
6291456/126834688 ( 5.0%) @1.3x, remaining 1:16
24739840/126834688 (19.5%) @3.9x, remaining 0:28
43220992/126834688 (34.1%) @3.9x, remaining 0:19
61702144/126834688 (48.6%) @3.9x, remaining 0:14
80150528/126834688 (63.2%) @3.9x, remaining 0:09
98631680/126834688 (77.8%) @3.9x, remaining 0:05
117112832/126834688 (92.3%) @3.9x, remaining 0:01
builtin_dd: 61936*2KB out @ average 3.4x1385KBps
/dev/hdc: flushing cache
/dev/hdc: updating RMA
/dev/hdc: closing session

Ahora añadiremos un directorio o ficheros con nuestro fichero/ficheros de backup. Dentro de él estará el Backup.000 o los difernetes ficheros que tengamos.

# growisofs -M /dev/hdc -J -R /mnt/Backup

O un fichero solo:

# growisofs -M /dev/hdc -J -R systemrescuecd-x86-0.2.19.iso

Executing 'mkisofs -C 16,93952 -M /dev/fd/3 -J -R systemrescuecd-x86-0.2.19.iso | builtin_dd of=/dev/hdc obs=32k seek=5872'
Rock Ridge signatures found
mkisofs: Old session has illegal name 'SYSTEMRESCUECD_MANUAL_PDF_E.PDF;1' length 33
mkisofs: New session will use name 'SYSTEMRE.PDF;1'
mkisofs: Old session has illegal name 'SYSTEMRESCUECD_MANUAL_PDF_F.PDF;1' length 33
mkisofs: New session will use name 'SYSTEMRE.PDF;1'
/dev/hdc: "Current Write Speed" is 4.1x1385KBps.
60.86% done, estimate finish Wed May 24 21:33:28 2006
64.07% done, estimate finish Wed May 24 21:33:31 2006
67.26% done, estimate finish Wed May 24 21:33:33 2006
70.47% done, estimate finish Wed May 24 21:33:36 2006
73.67% done, estimate finish Wed May 24 21:33:38 2006
76.88% done, estimate finish Wed May 24 21:33:40 2006
80.07% done, estimate finish Wed May 24 21:33:42 2006
83.28% done, estimate finish Wed May 24 21:33:43 2006
86.48% done, estimate finish Wed May 24 21:33:44 2006
89.69% done, estimate finish Wed May 24 21:33:46 2006
92.89% done, estimate finish Wed May 24 21:33:50 2006
96.09% done, estimate finish Wed May 24 21:33:53 2006
99.29% done, estimate finish Wed May 24 21:33:58 2006
Total translation table size: 0
Total rockridge attributes bytes: 22040
Total directory bytes: 53248
Path table size(bytes): 198
Max brk space used 21000
156107 extents written (304 MB)
builtin_dd: 62160*2KB out @ average 2.6x1385KBps
/dev/hdc: flushing cache
/dev/hdc: updating RMA
/dev/hdc: closing session
/dev/hdc: reloading tray

Al visualizar el contenido del DVD veremos que tenemos una .iso en el raíz del DVD o un directorio si usamos el primer comando.
Vamos a arrancar con él y restaurar como hicimos en el paso 1.2 pero localmente. El CD/DVD se monta automaticamnete en /mnt/cdrom, por lo que la ruta será /mnt/cdrom/Backup/Backup.000 por ejemplo.

2.2 – Creando una ISO aprovechando la existente

Ahora vamos a intentar hacer una ISO personalizada para grabarla a un DVD-R.
Lo primero que haremos será coger los ficheros de la ISO, así que la montaremos como root:

# mount /home/user/Desktop/systemrescuecd.iso /mnt/ISO -o loop

Ahora copiaremos los ficheros a un directorio:

# mkdir /home/user/Desktop/newiso
# cp -rfp /mnt/ISO/* /home/user/Desktop/newiso/

Copiaremos la imagen de Paertimage dentro del arbol de directorio de lo que será el CD:

# mkdir /home/user/Desktop/newiso/Backup
# cp -rfp /mnt/Backup/Backup.000 /home/user/Desktop/newiso/Backup/

Haremos la ISO con la etiqueta “Mi Backup del día X”, usando los ficheros .bin y .cat que buscará a partir de ~/Desktop/newiso

# mkisofs -l -r -J -V “Mi Backup del dia X” -hide-rr-moved -v -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/MIISO.iso ~/Desktop/newiso/

Grabamos:

# growisofs -Z /dev/hdc=/home/user/MIISO.iso

r0sk espero que te ayude. Ahora solo falta compilar un kernel genérico total, con genkernel por ejemplo e ir haciendo instalaciones a saco. Respecto al MBR, que lo necesitaremos podemos porbar a hacer una backup con Partimage aunque nunca lo probé.

Nota final:
Si hacemos una imagen de una partición de 5 GB, la partición destino ha de ser de 5 GB o más, pero nunca de menos o no nos dejará restaurarlo.

Anuncios

6 Responses to “Copias de seguridad con Partimage”


  1. 1 igayoso 27 mayo 2006 en 10:03

    Muy bueno el HOW-TO Gura, me parece muy usable y práctico. Espero ponerlo en prueba estos días, ya te contaré.

    Gracias y un saludo, sigue así 😀

  2. 3 bu 1 junio 2006 en 13:02

    Es un tutorial interesante, ya que hablas de software de imagen, permiteme una consulta, tenemos un controlador de dominio (AD) con windows 2003 server con array de discos SATA en raid 5 , se te ocurre alguna manera desatendida para realizar una imagen de la particion de sistema (ghost, acronis true image) cada semana o algo asi, lo ideal seria q reiniciara hiciera la imagen y volviera a reinciar.a ver si se te ocurre esto habai pensado algo con un script.

  3. 4 Gura 1 junio 2006 en 15:48

    Veritas tiene muy buen software y tiene muy buena fama. No es gratis… es una solución empresarial muy potente parece.
    Tienes ntbackup que viene integrado pero lo veo poco potente… Yo también tengo que buscar una solución como tu, solo que no tengo ningún Raid 1 con discos dinámicos.

  4. 5 bu 2 junio 2006 en 11:06

    he estado mirando el exec backup de veritas (ahora symantec) pero tiene precios desorbitados igual que el livestate de symantec. los problemas vienen con en ghost con discos sata en raid.al final creo que usare el acronis true image que parece lo mas fiable aunque probare un poco mas con el ghost que como estoy de practicas apenas puedo tocar los servidores.si encuentras gluna solucion que mole pon algo.yo hare igual.

  5. 6 Gura 24 noviembre 2006 en 00:21

    Parece que algunos usuarios han experimentado problemas al descargar la ISO de System Rescue CD. Ahí os va otra forma de descargarlo:
    http://sourceforge.net/project/showfiles.php?group_id=85811


Comments are currently closed.



Las opiniones reflejadas en este blog son personales o ni siquiera son opiniones, y bajo ningún concepto representan las estrategias, opiniones o posturas de mi empresa actual, ni de ninguna en las que he trabajado, así como tampoco de ninguno de los clientes o proveedores de todas ellas.
La información se proporciona como está, sin garantías de ninguna clase, y no otorga ningún derecho. Los comentarios pertenecen a sus autores y bajo ningún concepto el autor del blog se hará responsable de los mismos.

Categorías

Archivos


A %d blogueros les gusta esto: