DRBL Clonezilla
DRBL Clonezilla
DRBL Clonezilla
Por Román Gelbort en Dic.21, 2009
Hay una copia actualizada de este documento en http://www.elproferoman.com.ar/2009/12/29/clonadodeequiposcon
doblebooteo/
Este trabajo fue desarrollado en proyectos de Piensa Libre (http://www.piensalibre.com.ar)
Obra derivada de Maxpowel en Feb.20, 2009
Índice
DRBL (Diskless Remote Boot in Linux).............................................................................................1
¿Qué eso de multicast?....................................................................................................................1
Procedimiento..................................................................................................................................2
Paso 1: Crear imagen del disco/partición.............................................................................................3
Paso 2: Preparación del servidor........................................................................................................12
Paso 3: En los clientes a clonar..........................................................................................................19
Para este ejemplo usare la versión live disponible aquí http://free.nchc.org.tw/drbllive/unstable/ (este artículo se hizo
usando drbllivexfce0.9.156.iso)
También presupongo un ambiente donde se requiere doble booteo (XP y GNU/Linux) y todas las máquinas están en red.
A este proceso lo pude probar en varias oportunidades:
• 40 netbooks classmate con Tuquito Linux. Se clonaron en unos 10 minutos las 40 máquinas (más el tiempo de
encendido y booteo por red).
• 20 equipos de escritorio Pentium 4 con 1 Gb de RAM y doble booteo (XP y Ubuntu Linux 8.04). Estos
equipos tenían bastantes imágenes en galerías y otros archivos como manuales y tutoriales. Se clonaba en unos
15 minutos todo el laboratorio + unos 10 minutos que tomaba el encendido de todos los equipos.
• 20 equipos de escritorio Pentium 4 con 256 Mb de RAM y doble booteo (XP y Ubuntu Linux 8.04). Estos
equipos no tenían archivos agregados. Se tuvieron que clonar usando unicast porque no había como poner en
funcionamiento a todos juntos. Tomaba unos 15 minutos cada equipo.
DRBL (Diskless Remote Boot in Linux)
¿Qué es DRBL?
Herramienta que permite arrancar un sistema operativo, en las máquinas de la red, sin necesidad de
tener ningún software instalado localmente. Junto a clonezilla (incluido en DRBL) podremos clonar en
modo multicast, tantas máquinas como queramos, simultáneamente.
Para mí es la mejor herramienta de clonación de discos existente y es que habituado a usar herramientas de este tipo con
DRBL y Clonezilla te das cuenta de como DRBL es muy superior al resto.
Clonezilla, por su parte, es un frontend (cara visible) de otras aplicaciones muy consolidadas en el mundo del software
libre, como son: dd, partimage, ntfsclone, etc.
Explicaré un caso práctico donde clonaré un disco duro de una máquina con varios sistemas operativos (GNU/Linux y
XP) a otras 5 computadoras, usando el modo multicast.
Procedimiento
El primer paso es grabar la imagen ISO de DRBL en un CD para poder arrancarlo en el equipo que vas a usar como
servidor de clonación.
Una vez iniciado deberías ver algo así:
Solo necesitamos usar los iconos Clonezilla server (arriba) y Clonezilla live (debajo). También tiene el gParted que
siempre viene bien.
Antes de empezar, para estos menesteres, es mejor no usar UUID en el /etc/fstab, ni en /boot/grub/menu.lst, en el
GNU/Linux que vas a usar como equipo ejemplo, usa el método tradicional (/dev/sda4 , /dev/hda1 , etc.).
Paso 1: Crear imagen del disco/partición
Este paso solo será necesario la primera vez (o cuando queramos crear una nueva imagen).
Booteamos con el live CD en el equipo que vamos a tomar de ejemplo para replicar.
Hacemos doble clic en “Clonezilla live”
Lo que aquí nos pregunta, es si queremos crear una imagen de un dispositivo (deviceimage) o clonar directamente
desde un disco/partición a otro (devicedevice).
Seleccionamos la primera opción si pondremos la imagen creada en otra máquina. Y la segunda opción si usamos un
pendrive, disco removible o conectamos otro disco al puerto IDE o SATA de la máquina que usaremos para crear la
imagen.
Necesitamos un lugar donde grabar la imagen y eso es lo que nos pregunta aquí, que donde la queremos guardar.
IMPORTANTE: No se puede guardar una imagen de una partición en esa misma partición. Si vas a hacer una
imagen de /dev/sda3 no puedes guardarla en /dev/sda3. Lo mismo con los discos duros, si quieres crear una
imagen de un disco duro tendrás que grabarla en otro.
Las opciones que muestra son:
local_dev: usar un dispositivo local, como puede ser otro disco duro, un pendrive o un disco duro USB.
ssh_server: usar un servidor ssh para guardar la imagen en otra máquina.
No hablaré sobre las otras opciones porque creo que no sirve complicarla más en este tutorial. Con estas dos opciones
podés crear tus imágenes en un disco removible o en otro equipo que usarás de depósito de imágenes.
Yo voy a usar la opción ssh_server.
Lo más simple es poner una IP a mano seleccionando "static".
Escribimos la IP del servidor SSH que almacenará nuestra imagen.
En mi caso, uso una notebook como servidor y conecto la computadora a clonar a través de sus puertos ethernet con un
cable cruzado. Para eso le pongo a mano esta IP a la notebook: 192.168.120.254. Y esta a la computadora a clonar:
192.168.120.1 (solo por comodidad).
A continuación nos pregunta por el puerto, a lo que dejaremos el 22 que trae por defecto.
Escribimos el usuario para acceder por ssh. Es el usuario en el servidor que tiene permisos de escritura en el directorio
donde vamos a poner la imagen tomada del equipo a clonar.
Recordemos que en el servidor (la notebook) habíamos booteado el linux que la máquina tiene instalado. No clonezilla.
Es importante que este sistema tenga instalado el paquete opensshserver ya que de no tenerlo, no aceptará conexiones
ssh.
La ruta (en el servidor) donde guardaremos la imagen.
Confirmamos que todo está bien
Nos pregunta si aceptamos el las claves de cifrado del servidor. Escribe "yes" y dale al enter
La contraseña del usuario (en el servidor).
Explico el menú:
savedisk > Crear imagen del disco duro entero
restoredisk > Restaurar disco duro a partir de una imagen
saveparts > Crear imagen de una o varias particiones
restoreparts > Resturar particiones a partir de una imagen
exit > salir
En mi caso, seleccionaré “savedisk”
Nombre para la imagen. La fecha es un buen nombre para saber cuales son mas actuales y todo eso. A continuación
seleccionamos el disco duro
Aquí nos pregunta cómo queremos crear la imagen:
q > Forma estándar, recomiendo usar esta ya que la imagen también se comprime
q1 > Réplica exacta usando dd. Esta opción es útil para cuando tenemos particiones cifradas.
Lo dejamos tal cual
Z1 > Usa gzip para comprimir la imagen, tarda un tiempo razonable y la compresión también lo es
Z2 > Usa bzip2, tamaño menor de la imagen pero tarda muchísimo más
Z3 > Usa lzo, prácticamente igual que gzip en tiempo y compresión
Z0 > No comprime
Yo uso la primera opción, es la que más me gusta
Para ir dividiendo la imagen en partes de X megas, por ejemplo por si la vamos a grabar en CD. En nuestro caso,
ponemos 0 para que la haga toda de un solo archivo (asegurate de tener espacio en el disco duro)
Indicamos que queremos que haga cuando termine. Yo le digo que reinicie para que no tenga problemas con los puntos
de montaje cuando se configure el servidor DRBL
Confirmamos escribiendo la letra "y" (de yes).
Creando la imagen, nos muestra el avance del proceso. Trata las particiones de manera independiente así que no te
asustes si ves que parece que vuelve a empezar, lo que pasa es que está continuando con la siguiente. Una vez haya
terminado el sistema se reiniciará solo. Volvemos a seleccionar la primera opción en el menú de arranque.
Paso 2: Preparación del servidor
Ahora hay que bootear con el DRBL, el equipo que usamos de servidor (la notebook en mi caso).
Una vez cargado el escritorio hacemos doble clic en el icono “Clonezilla Server”. Repetimos el proceso de
configuración de la red igual que antes. Ahora nos salen muchas letras amarillas.
Estas letras amarillas nos vienen a decir que necesitamos otra IP pero esto se configura solo, simplemente pulsa enter
En este punto nos pregunta si queremos que acepte todos los clientes o solo un rango de IP o MAC. En mi caso quiero
que acepte todos los clientes "All Select all clients"
Ahora nos pregunta que donde esta la imagen, el menú es como el que hicimos antes donde seleccionamos
“ssh_server”, posteriormente la ip del servidor, el puerto, el usuario y la ruta de la imagen. Después te mostrará un par
de confirmaciones (dar enters) y configurará la red. Si ves por ahí algún failed, es simplemente porque apaga algún
servicio (como el dhcp).
Seleccionamos lo que queremos hacer, en nuestro caso "restoredisk" en el cliente. Todas estas opciones hacen
referencia al cliente así que puedes grabar imágenes de particiones y discos remotos La última opción nos deja
elegirlo en el cliente pero como dice entre paréntesis solo para unicast (un servidor, un cliente).
Aquí activar hnn0 PC para que configure él solo las IP y hostname en las máquinas XP y evitarse ir luego de uno en
uno.
Muy importante: activar t1 porque si no lo haces, no van a arrancar los XP (en el caso que sea ese uno de los sistemas).
Este menú es interesante, te lo explico:
Opción por defecto: Usa la tabla de particiones de la imagen1
k: No crear tabla de particiones > No la veo mucha utilidad en nuestro caso pero sí cuando creamos imágenes de
particiones para volcarlas en una tabla de particiones existente
k1: Crea una tabla de particiones para dependiendo de las particiones. Esto para imágenes de discos no sirve de mucho
pero cuando queremos volcar una imagen de una partición sobre un disco duro sin particiones nos crea las particiones
necesarias y así nos evita el error que nos diría luego de “/dev/sda3 nof found” por ejemplo. Cuidado que esta opción te
borra la tabla de particiones actual y repito que sólo es útil cuando queremos volcar una imagen de partición en un disco
duro sin tabla de particiones definida.
En esta pantalla solo elegimos Skip this option, ya que no ganaremos nada porque estamos trabajando sobre un liveCD
y perderemos esta configuración luego de reiniciar el server.
1 En nuestro caso usaremos esta porque hemos hecho una réplica de todo el disco
Yo suelo poner reboot para asegurarme de que luego todo funciona pero si esta tarea la estas realizando remotamente mi
recomendación es que selecciones "poweroff". Y si estás haciendo pruebas yo uso la tercera opción "choose" para ver si
ha habido fallos y en función de eso reiniciar, apagar o lo que quiera
Seleccionamos la imagen, si tenemos más pues aparecerán más
Seleccionamos el disco duro ya que se pueden crear imágenes que contengan varios discos duros. En mi caso solo uno
Y por fin !Multicast!
clients+timetowait > nos preguntará por el numero de clientes a los que tiene que esperar o un tiempo máximo, lo
que antes suceda. Es mi opción preferida, por si se traba algún cliente, igual arranca después de un tiempo y luego
arreglo lo que falló en ese.
time to wait > espera los segundos que le indiquemos a que se conecten todos los clientes que quieran
clients to wait > espera a un determinado número de clientes antes de empezar el proceso
El número de clientes a los que quieres enviar la imagen
El tiempo máximo que va a espera. 300 segundos (5 minutos) está bien para cantidades chicas, pero si tenemos 15 o 20
equipos, poner 600 segundos estará más adecuado.
Bien... ya esta el servidor escuchando, ahora a los clientes.
Es importante no cerrar esta ventana mientras sigue el proceso.
Paso 3: En los clientes a clonar
Si tenemos arranque por red (y activado en la BIOS) no tenemos más que esperar una vez que prendemos el cliente. Si
no, vamos metiendo un cd de DRBL (o un pendrive desde donde pueda bootear) en cada uno y lo arrancamos
seleccionando la última opción “Network boot via etherboot”
Si después del arranque por red nos aparece esta pantalla con la opción "Clonezilla: multicast restore...".
No te impacientes con el arranque por red, a veces puede llevar casi un minuto en responder el servidor.
Y aquí el proceso de copiado.
Una vez que se terminaron de activar todas, debería aparecer esto en cada una.
Siempre hay alguna que se conecta antes, en ese caso aparecerá una pantalla azul, diciendo: "Please wait".
Bien!! Terminó correctamente. Debería salir el resultado de cada uno de los clientes y si en todos es "success", entonces
terminaste. A mi nunca me ha fallado ninguna transferencia una vez ha sido iniciada pero nunca se sabe.
Por fin terminamos. Ahora todas las computadoras tienen el mismo sistema operativo y todo igual
Esta es la manera que he usado yo, pero puedes probar infinidad de opciones diferentes hasta que se ajuste a tus
necesidades. Las primeras veces puede parecer un poco complejo o que pida muchos datos, pero cuando lo haces un par
de veces seguro que te va a resultar simple.
Este documento está licenciado bajo Creative Commons AttributionShareAlike 2.5 Argentina, disponible en
http://creativecommons.org/licenses/bysa/2.5/ar/.