Autorestaurar imágenes de discos/particiones con clonezilla a través de la red | Algo de Linux

lunes, 19 de marzo de 2012

Autorestaurar imágenes de discos/particiones con clonezilla a través de la red

En el artículo anterior, vimos cómo restaurar una imagen de disco de forma automática, teniendo la imagen almacenada en un pendrive autoarrancable.

Otra cosa, bastante interesante, por cierto, que podemos hacer es crear entradas de autorestauración en el fichero syslinux.cfg que nos permitan tomar las imágenes desde un servidor vía sshfs.

Ésto es algo de lo que no hay mucha documentación y que me costó bastante hacer que funcionara, aunque si te lo encuentras explicado, la verdad es que resulta hasta sencillo.

Cuando queremos ejecutar un comando, se lo indicamos a clonezilla mediante el parámetro ocs_live_run. Por ejemplo:

ocs_live_run="ocs-sr -g auto -e1 auto -e2 -c -r -j2 -p true restoredisk portatil-profesor-20111004 sda"

Con el parámetro anterior le estoy diciendo básicamente que restaure el disco sda con la imagen portatil-profesor-20111004 y que espere mi respuesta cuando termine la restauración, entre otras opciones.

Para restaurar la imagen desde una máquina mediante sshfs, antes de poder hacer la restauración tenemos que haber montado la partición donde se encuentra la imagen, lo que requiere que antes se disponga de una IP, y, además, debemos de dar tiempo para que el comando sshfs nos pida la password del usuario con permisos para leer la imagen en el servidor. 

¿Y cómo hacemos todo ésto? Bueno, pues simplemente, haciendo uso de los parámetros ocs_prerun. Con ocs_prerun podemos ejecutar algo, antes de hacer el ocs_live_run. Además, podemos usar varios ocs_prerun, para establecer una secuencia de ejecución de comandos. El primero se llamará ocs_prerun, el segundo: ocs_prerun1, el tercero: ocs_prerun2, etc...

Fijémonos en la siguiente entrada, que he creado para restaurar la imagen de un portátil de profesor:

label Restaurar portatil profesor
  # MENU DEFAULT
  # MENU HIDE
  MENU LABEL Restaurar portatil profesor
  # MENU PASSWD
  kernel /live-hd/vmlinuz
  append initrd=/live-hd/initrd.img boot=live config live-media-path=/live-hd noswap nolocales edd=on nomodeset noprompt ocs_prerun="dhclient -v eth0" ocs_prerun1="sleep 2" ocs_prerun2="sshfs clonacion@172.19.144.16:/home/partimag /home/partimag" ocs_prerun3="sleep 2" ocs_live_run="ocs-sr -g auto -e1 auto -e2 -c -r -j2 -p true restoredisk portatil-profesor-20111004 sda"  ocs_live_keymap="NONE" ocs_live_batch="no" ocs_lang="es_ES.UTF-8" vga=788 ip=frommedia  nosplash
  TEXT HELP
  * Clonezilla live version: 1.2.9-19-i486. (C) 2003-2011, NCHC, Taiwan
  * Disclaimer: Clonezilla comes with ABSOLUTELY NO WARRANTY
  ENDTEXT


El primer ocs_prerun (ocs_prerun="dhclient -v eth0") pide una ip al servidor dhcp.

El segundo ocs_prerun (ocs_prerun1="sleep 2") hace que el comando espere 2 segundos antes de ejecutar el siguiente comando. Ésto nos sirve para dar tiempo a que el equipo reciba una IP antes de realizar el montaje de /home/partimag mediante sshfs.

El tercer ocs_prerun (ocs_prerun2="sshfs clonacion@172.19.144.16:/home/partimag /home/partimag") monta la partición /home/partimag del servidor de imágenes en /home/partimag.

El cuarto ocs_prerun (ocs_prerun3="sleep 2") hace que se esperen 2 segundos antes de ejecutar el siguiente comando. Ésto nos sirve para dar tiempo a que el usuario introduzca la password para realizar el montaje de /home/partimag mediante sshfs antes de restaurar.

Por último, se ejecutaría el comando definido en ocs_live_run, que realizaría la restauración.

3 comentarios:

josemrfblog dijo...

Muchas gracias. Me ha venido genial. Ahora sólo me falta solucionar el tema de que no me pida la clave del equipo remoto donde están las imágenes.
Saludos.

josemrfblog dijo...

Muchas gracias. Me ha venido genial. Ahora sólo me falta solucionar el tema de que no me pida la clave del equipo remoto donde están las imágenes.
Saludos.

Juan Carlos Cajal dijo...

Me podrías decir donde guardas la imagen. Yo solo tengo un pen con clonezilla, preparado con TUXBOOT y la imagen la tengo en una carpeta llamada /home/partimag, la imagen me la pone allí el clonezilla cuando hago la imagen del equipo. Pero a la hora de restaurarla en otro equipo me pone el error "target_parts in not assigned in function task_restoreparts". Si me pudieses ayudar.
Gracias