Clonación de particiones y discos con Puppy Linux Imprimir
SOFTWARE - General
Escrito por Pedro José Salazar Román   
Lunes, 03 de Septiembre de 2012 12:03

Una de las tareas más habituales que tiene que realizar un técnico de informática o un asesor TIC de un centro educativo es la de realizar imágenes de los ordenadores para ahorrar tiempo en caso de que sea necesaria una restauración del sistema ante un error inesperado del mismo.

Los problemas que suelen necesitar de una restauración del equipo son:

  1. El sistema operativo no arranca.
  2. El ordenador va muy lento, probablemente debido a algunas actualizaciones.
  3. El disco duro que tenía almacenado el sistema operativo se ha roto.
  4. El equipo ha sido infectado por un virus o algún tipo de software malicioso.
  5. Cualquier otra razón que no permita el correcto funcionamiento del sistema.

El procedimiento de clonación de equipos es:

  1. Instalar el sistema operativo y configurarlo en un equipo
  2. Instalar las aplicaciones de usuario y configurarlas.
  3. Crear la imagen del disco del equipo configurado
  4. Almacenar dicha imagen en un medio extraible o en red
  5. Restaurar de la imagen en un equipo nuevo o en el mismo si falló
  6. Comprobar que el sistema restaurado funciona correctamente

Las ventajas del sistema de clonado son:

  1. Aumentar la productividad, debido a que los equipos están menos tiempo sin dar servicio
  2. Ahorrar tiempo al técnico en las reparaciones
  3. Ahorrar tiempo en la implantación de múltiples equipos

Para llevar a cabo una clonación o creación de imágenes de un equipo vamos a usar la distribución Puppy Linux.

Nota: más información sobre Puppy Linux

Para realizar la clonación y usaremos la aplicación Pudd, una interfaz gráfica del comando dd, que nos facilita mucho el trabajo.

Para empezar arrancamos con un cd o pendrive que tenga el Puppy Linux en el equipo que queremos clonar, configuramos el teclado en español y pulsamos con el botón derecho sobre el escritorio, elegimos la opción Utility + Pudd copy …

En el cuadro de diálogo que aparece distinguimos 3 zonas

La zona 1 es para probar si hay unidades usb, zip o disquetes conectados y listos para ser usados. Esta no la usaremos en este documento.

La zona 2 es para clonar discos.

La zona 3 es para clonar particiones.

Nota: las prácticas que se van a ver a partir de ahora se han realizado en máquinas virtuales pero pueden realizarse de la misma forma en equipo reales. La máquina virtual que usaremos tiene dos discos, uno con un sistema instalado en una única partición y otro disco vacío.

Empezaremos haciendo una imagen de disco a disco

Para ello, elegimos en select source: choose drive, elegimos el primer disco (disco1), el que tiene instalado el sistema a clonar(sda) y en choose destination: choose drive, elegimos el segundo disco (disco2), el que está vacío (sdb)

La aplicación procede a la clonación, esto tardará un tiempo que dependerá de lo grande que sea el disco origen.

Una vez terminado, tenemos dos discos completamente iguales. Cerramos el sistema.

Ahora vamos a simular que el disco del sistema falla (caso1) o que nos llevamos el segundo disco a un equipo nuevo (caso2), ambos casos son iguales.

Caso1: quitamos el cd y el disco instalado (disco1) de la máquina virtual , dejamos solo el disco2, en el que acabamos de hacer la copia y arrancamos.

Caso2: creamos una máquina virtual nueva y le agregamos el disco2

Iniciamos el sistema y …

Todo correcto porque la clonación de disco copió cada sector del disco1 en el disco2, incluido el MBR con el gestor de arranque.
De esta manera tan sencilla se puede clonar un disco.

Nota: el disco2 no estaba particionado, no era necesario ya que la clonación es completa.

El proceso de clonación de disco se puede realizar de disco a disco (el procedimiento visto anteriormente) o de disco a archivo de imagen.

Para realizar una clonación de disco a archivo usamos el Pudd.
En select source: choose drive, elegimos el disco a clonar y en select destination: choose file, elegimos el fichero en el que se va a guardar la imagen del disco, para restaurar la imagen guardada en el archivo el procedimiento es el contrario.
En select source: choose file, elegimos elegimos el fichero que tiene la imagen del disco clonado y en select destination: choose drive, el disco donde restaurar dicha imagen,
Si realizamos este proceso veremos que ...

¡NO FUNCIONA! el proceso de restauración de la imagen en un fichero a un disco. Esperemos que corrijan esto en próximas versiones.
Afortunadamente existe una alternativa sencilla y que nos permite conocer como funciona la Interfaz Pudd del comando dd.

Proceso de clonación de discos a archivos y su restauración mediante el Comando linux dd.
Abrimos un terminal y procedemos con los siguientes pasos:

  1. clonar disco a disco: dd if=/dev/sda of=/dev/sdb
  2. clonar disco a archivo: dd if=/dev/sda | gzip -c >/mnt/sdb1/clondisco.img.gz ¡OJO! con Pudd esto es lo que funciona pero la restauración NO!!!
  3. restaurar una imagen en archivo a disco: gunzip -c /mnt/sdb1/clondisco.img.gz | dd of=/dev/sda , esto es lo que falla con Pudd

Nota: En esta imagen de ejemplo, hay 3 discos. Clonamos el tercero(sdc) en un archivo que almacenamos en el primero, que tiene montada la primera partición (sda1) y después restauramos el archivo imagen el segundo disco (sdb). Si ahora arrancamos la máquina sólo con el segundo disco todo irá perfectamente. Este paso es el que no funciona con Pudd.

Clonación de una partición

Para poder hacer una imagen de una partición necesitamos almacenar la imagen en otra partición distinta. Para poder hacer una imagen de un disco necesitamos almacenar la imagen en otro disco distinto. Por ello nuestra maquina virtual fue creada con dos discos.

Lo primero es asegurarnos que el segundo disco tiene una partición con un sistema de archivos disponible para guardar la imagen. Para ello volvemos a ejecutar el Gparted

 

Elegimos el disco sdb

Creamos la tabla de particiones y la partición con un sistema de archivos como hicimos con sda (ver este manual). Al cerrar Gparted veremos como el sistema automáticamente detecta el nuevo disco con su partición.

Para clonar una partición directamente en otra, el procedimiento es el mismo que hemos visto en clonar disco a disco.
Para clonar una partición en un archivo hay que montar la partición donde vamos a guardar el archivo. Veamos el procedimiento a seguir.

Pulsamos en sdb1 para montar la partición, nos saldrá este icono

Ya tenemos la partición del segundo disco disponible para su uso.

Volvemos al Pudd, pulsamos en Choose partition (zona 3)

Elegimos la partición origen, es decir, la que queremos clonar.

Nos indica que elijamos el destino

Elegimos Choose File, aunque podíamos clonar la partición directamente en otra partición con Choose_partition  o guardar la imagen en una localización de red (choose_remote).

Elegimos directorio de destino(/mnt/sdb1) y nombre del archivo de imagen, por ej.: miparticion1.img, es preferible no tocar la extensión del archivo (.img).

Pulsamos Ok, luego continue y luego yes.

Tardará un rato en hacer la imagen, en este caso con este minisistema 2 minutos máximo

Todo correcto, pulsamos enter.

Si vamos a sdb1 veremos el archivo de la imagen comprimido

Ahora creamos una nueva máquina virtual con un disco limpio (puppy4.vdi) y le añadimos este que hemos creado (el sdb que es el archivo puppy3b.vdi)

, y arrancamos la nueva máquina (puppy4) con el cd (con el archivo iso) de Puppy.

Al arrancar hay que crear la partición del disco sda y darle formato

Tendremos, después de hacer click en sda1 y sdb1, montadas las particiones y el cd.

Ahora hay que restaurar la partición con el Pudd del cdlive.

Hay que elegir en source: Choose File, el archivo creado antes, miparticion.img.gz que se encuentra en el disco sdb, y elegimos destino en  Choose Partition y pulsamos en sda1.

Una vez restaurada la imagen de la partición en sda1, apagamos la máquina, Quitamos el cd virtual y el disco2 (puppy3b.vdi). La máquina virtual queda solo con el disco puppy4.vdi.

Arracamos y ...??

el sistema no se inicia, porque no tiene gestor de arranque, la clonación de la partición NO COPIA EL MBR. Todo ha funcionado correctamente pero si intentamos clonar una partición con el arranque del sistema, no funciona porque dicho arranque está fuera de la partición.

PARA COPIAR EL MBR hay que hacer clonación de disco.

¿Se puede arreglar este contratiempo? Por supuesto, instalamos el Grub4dos.

Gestor de Arranque

Si metiéramos el cd  de nuevo e iniciáramos la máquina deberíamos ejecutar el grub o grub4dos. En este manual lo hacemos con el grub4dos.

Pulsamos en el escritorio con el botón derecho del ratón.

 

 


Nos indica donde instalar el gestor de arranque GRUB. En nuestro caso en el sda y pulsamos OK.

 

Ahora nos dirá que va a añadir un nombre a la lista del gestor de arranque, ponemos el nombre que queremos que aparezca en el menú de arranque

  

y en options, borramos ro, que montaría el sistema de solo lectura. Pulsamos OK

Nos indica que se va a instalar el gestor de arranque grub4dos en el sector MBR del disco1 (sda). Pulsamos OK, todo va bien.

 

Nos dice que el gestor de arranque ha sido correctamente instalado y donde se encuentra el menú del gestor de arranque para modificarlo a mano, e incluso indica donde está el archivo con la copia del MBR antiguo. Pulsamos OK.

Ya estaría instalado y configurado el gestor de arranque. Reiniciamos el sistema y veremos como arranca con el sistema restaurado del archivo a la partición.

La distribución Puppy Linux nos permite multitud de opciones para gestionar nuestros sistemas, os recomiendo que tengáis un cd con ella para solucionar incidencias.