Trinity Rescue Kit - Mass Clone: Clonación de discos multicast | Algo de Linux

martes, 21 de octubre de 2008

Trinity Rescue Kit - Mass Clone: Clonación de discos multicast

Mclone (Mass Clone) es una utilidad incluida a partir de la versión 3-3 de TRK (no disponible en anteriores versiones) que nos permite clonar equipos a través de la red vía multicast.

Hasta ahora hemos utilizado sistemas de clonación unicast, porque, la verdad es que los sistemas multicast solían estar tan sólo en herramientas comerciales, pero en estos últimos tiempos están apareciendo bastantes herramientas de clonación usando multicast, como mass clone, clonezilla...

La ventaja que nos ofrece un sistema de clonación multicast es que un único flujo de datos, proveniente de una determinada fuente, se puede enviar simultáneamente a diversos receptores, con lo que conseguimos menor tráfico en la red y mayor velocidad de clonación. En cambio, en un sistema de clonación unicast, se envía un flujo de datos a cada cliente, con lo que la red estará más ocupada y la clonación será más lenta.

La ventaja de tener mclone incluido en TRK es que no necesitamos montar un servidor para clonar de forma remota varias máquinas. Con arrancar TRK ya lo tenemos disponible.

La clonación con mclone es muy rápida, puesto que sólo se envía un paquete a múltiples receptores. Según el autor de TRK, en un switch de 100 mbits, la media de velocidad es de alrededor de 93 mbits. Las limitaciones a la hora de clonar estarán en la velocidad de la red, el disco a clonar o la cpu de la máquina.

TRK dispone de una opción muy interesante, que es arrancar en modo servidor. Ésto nos permite arrancar el servidor desde nuestra instalación en CD o USB e iniciar todos los clientes a través de la red para ejecutar mclone en cada uno de ellos.

Según el autor de TRK, una imagen de alrededor de 4Gb se clona en una red de 100 mbits en unos 7 minutos aproximadamente. Interesante, ¿no?

Las principales características de mclone son:
  • El sistema es rápido y escalable.
  • Nos permite realizar copias exactas de cualquier sistema operativo.
  • En sistemas Windows XP y Vista se utiliza ntfsclone.
  • Para otros sistemas de ficheros, la herramienta usa dd.
  • Permite utilizar tres tipos de algoritmos de compresión para crear las imágenes: gzip, bzip2 y 7-zip.
  • Permite restaurar los valores originales C/H/S (Cilindro, Cabeza, Sector) en sistemas NTFS. Además, lo hace automáticamente.
  • Permite correr, de forma separada, un máximo de 50 sesiones simultáneas sobre la red.
  • Permite ajustar la velocidad de clonación, indicándole el máximo de mbits.
  • Permite clonar automáticamente o elegir los discos/particiones a clonar.
  • Permite sobreescribir o no el sector de arranque, según le indiquemos.
  • Permite omitir el chequeo C/H/S.
Modo de uso

mclone tiene unos cuantos parámetros, pero básicamente tenemos dos modos de uso:
  • Modo sender (mclone -s). Este modo nos permite servir la imagen de un equipo para clonar los demás. El equipo que ejecuta el modo sender es el que envía la imagen de sí mismo.
  • Modo cliente (mclone). Este modo permite que los equipos clientes sean clonados con la imagen enviada por el equipo que ejecuta mclone en modo sender.
Clonación directa de un equipo a otro u otros.
El equipo que nos servirá de modelo de clonación ejecutará el modo sender:
# mclone -s

Los equipos destinatarios de la clonación, se ejecutarán en modo cliente:
# mclone

Una vez que los equipos estén listos y esperando, pulsaremos Enter en uno de ellos y comenzará el proceso de clonación directamente.

Creación de una imagen de un equipo.
Además de clonar directamente de una máquina a otra u otras, podemos crear un fichero de imagen, que nos servirá de modelo de clonación posteriormente.

El equipo que servirá de modelo ejecutará:
# mclone -s

El equipo que guardará la imagen ejecutará mclone con el parámetro -o. Por ejemplo:
# mclone -o equipomodelo

Crearemos una imagen llamada equipomodelo. Además, la imagen se guardará sin comprimir como un conjunto de ficheros en un directorio con el nombre que hayamos indicado (equipomodelo en el ejemplo) y que mclone creará en el directorio actual, si no existe.

Si queremos crear la imagen comprimida, por ejemplo, en formato gzip, lo indicaremos con el comando -C tipocompresión. Veamos un ejemplo:
# mclone -C gzip -o equipomodelo

Debemos tener cuidado con la compresión. Por lo que dice el autor de TRK en su web, gzip es el único compresor que no consume muchos recursos. Pero, si lo que queremos es mayor compresión, aunque la velocidad de transmisión sea más lenta, usaremos bzip2 o 7-zip como método de compresión.

Restaurar un equipo desde una imagen creada.
Una vez que tenemos una imagen en el equipo modelo, podemos servírsela a otras máquinas pasando el parámetro -i a mclone. Siguiendo con el ejemplo anterior:
# mclone -i equipomodelo

Como podemos ver, no es necesario especificar el sistema de compresión usado para crear la imagen. Mclone ya se encarga de detectarlo.

En el equipo que reciba la imagen, ejecutaremos mclone sin parámetros:
# mclone

Otras opciones de mclone.
  • -n Nos permite indicar un número máximo de sesiones cuando realizamos clonaciones múltiples. Tanto en el cliente como en el servidor debemos especificar el mismo número. Ejemplo: cliente -> mclone -n 5 - servidor -> mclone -s -n 5
  • -d omite la detección automática de discos y nos permite especificar los discos que queremos clonar. Ejemplo: mclone -s -d /dev/sda,/dev/sdb
  • -p omite la detección automática de particiones y nos permite especificar las que queramos clonar. Ejemplo: mclone -s -p /dev/sda1
  • -b omite la grabación del sector de arranque. Ésto nos servirá si no queremos que al clonar se sobreescriba nuestro sector de arranque, por ejemplo, porque tengamos un gestor de arranque instalado.
  • -c omite la comprobación C/H/S. Esta opción no debería ser necesaria, a menos que tengamos problemas con el arranque.
  • -t establece un timeout entre el primer cliente que conecta y el último que puede conectar. El timeout por defecto es de 10 segundos.
  • -r establece la velocidad de transferencia. Podemos especificar el máximo bitrate en kilobit (k) o en megabit (m). Ésto puede servirnos para no consumir todo el ancho de banda de la red al clonar. Ejemplo: mclone -s -r 70m
  • -C nos permite elegir el método de compresión a utilizar: gzip, bzip2 o 7-zip. Ejemplo: mclone -C gzip -o equipomodelo

9 comentarios:

Esteban M. Navas Martín dijo...

Hoy he realizado una prueba usando mclone para clonar máquina a máquina a través de la red.

El sistema operativo de la máquina modelo era LinEX.

Ambos equipos eran diferentes, con diferente hardware, incluido el disco duro y todo ha ido bien, salvo el sector de arranque, que he tenido que reparar tras clonar.

Decir que el proceso ha sido muy sencillo y cómodo de realizar.

La pega que pondría es que el proceso ha sido un poco lento, comparándolo con mi sistema de clonación habitual vía partimage (unos 10 o 15 minutos más lento). Quizás haya sido porque el proceso de clonación de sistemas linux usa dd para clonar.

También imagino que el proceso sería satisfactorio al clonar varias máquinas, ya que, el otro proceso de clonación que uso es unicast, y los tiempos aumentan al incrementar el número de máquinas a clonar de forma simultánea.

Jorge Felix dijo...

Esteban, Yo lo he estado probando tambien, pero quiero clonar particiones ntfs, lo hace todo bien, pero al entrar a la particion con fdisk dice que esta dañada. Se podra reparar tambien ?

Saludos.

Esteban M. Navas Martín dijo...

No he tenido oportunidad aún de clonar una partición ntfs con esta herramienta.

Quizás podría ser que la partición se hubiera quedado montada al salir de TRK. En ocasiones, salir sin desmontar, provoca errores en el sistema de archivos ¿Has probado a utilizar ntfsfix para quitar los errores?

Esteban M. Navas Martín dijo...

Otras herramientas incluidas en TRK que podrían servirte para reparar particiones:

* testdisk.
* gpart.

Jorge Felix dijo...

Esteban, sabes lo volvi a hacer de pc a pc, y solo falló en el mbr, pero con el disco de xp, ejecute fixmbr y listo... pero el que si me falla es si restauro desde una imagen que monto de un recurso compartido.

Saludos, y Gracias.

Esteban M. Navas Martín dijo...

Prueba a hacer un umountallfs una vez que termine todo el proceso.

Un saludo,

Esteban M.

Angel Calderon M dijo...

Hola, vi tu blog y me intereso, ando buscando un software que me permita clonar maquinas con windwos xp, 7 y 8 de preferencia q el iso se pueda guardar en la red, alguna recomendacion?

Angel Calderon M dijo...

Hola, ando buscando un software q me permita clonar pcs con windows xp, 7 y 8 y poder guardar el iso en la red, de preferencia q solo clone lo utilizado por el disco y no todo el disco, alguna recomendacion

Esteban M. Navas Martín dijo...

Hola, Ángel. Te recomiendo usar clonezilla. Es lo que utilizo habitualmente. Puedes montarlo en un pendrive o disco duro externo y clonar desde disco o a través de la red almacenando las imágenes en máquinas linux o windows.