Clonar un disco duro a través de red con netcat y dd

En la administración de equipos de una Empresa es muy normal el tener una clonación de la partición o del disco completo de los equipos que manejan los usuarios, para en caso de desastre poder recuperar dicha copia de seguridad con todas las aplicaciones ya instaladas y tener el equipo levantado en poco tiempo. Esto es muy común en Windows a través del Ghost y en linux tenemos la maravillosa herramienta partimage, o el comando dd entre otros.

Estas no son las únicas formas de poder realizar clonaciones de un equipo, y en algunas ocasiones se tienen 2 equipos idénticos o un archivo imagen generado con el comando dd y queremos que se clone el disco o la imagen de un equipo a otro.

Partimos de la base de que al clonar el disco de un equipo a otro, no tenemos la posibilidad de poder desconectar el disco duro de un equipo y engancharselo al que queremos cargarle la información, bien porque no hay medios para instalarlo o porque se trata de dos equipos portátiles.

La forma que vamos a plantear aquí es poder clonar de un equipo a otro a través de la red ethernet (paso de los datos por la tarjetas red). por tanto tenemos que tener los 2 equipos con red bien a través de un cable RJ45 cruzado directo de un equipo a otro o conectados ambos por medio de un Hub , Switch o Router.

Para poder hacer esto necesitamos que ambos equipos arranque con un Live-CD (como puede ser Ubuntu), para que ninguna de las máquinas arranque a través del disco que se quiere leer en el origen y copiar en el destino. Una vez arrancado ambos sistemas Live hay que configurar la tarjeta de red en ambos en el mismo rango de IP’s. Las nuestras en el ejemplo que nos ocupa serán:

Maquina origen 192.168.1.1 disco: sda
Maquina destino 192.168.1.2 disco sdb

Los discos los he nombrado distintos para que sea más claro cual es cual, pero si es una clonación de 2 equipos idénticos lo normal es que ambos sean sda o lo que corresponda.
las herramientas que vamos a usar para realizar esta clonación son los paquetes:
netcat
dd -> este último ya viene instalado por defecto en todas las distros.

Bien vamos al lio, una vez que tenemos las máquinas preparadas ejecutamos en la maquina destino como root o sudo lo siguiente

# nc -l -p 1234 | gunzip | dd of=/dev/sdb

Donde:
-l -> Es en modo escucha o «Listen mode» en el cual se queda en este estado esperando datos.
-p -> Puerto de comunicaciones por el cual esta escuchando 1234 pero se puede poner otro eso si aconsejo que sea por encima del puerto 1024.
gunzip -> los datos que reciba se van a descomprimir con gunzip.
dd of=/dev/sdb -> Que unidad de disco vamos sobrescribir, en nuestro caso /dev/sdb, pero si queremos clonar una partición pondriamos /dev/sdb1 o la partición o unidad de disco que corresponda.
Si lo que quisieramos es hacer una copia de la unidad origen en el destino pero en un fichero y no machacar el disco origen se podría poner algo como esto:

# nc -l -p 1234 | gunzip | dd of=/midirectorio/nombre_fichero.img

Ahora nos vamos a la maquina origen de la cual queremos clonar su disco y ejecutamos

# dd if=/dev/sda | gzip | nc 192.168.1.2 1234

Y con esto tendríamos otro método alternativo de clonación de discos a través de red.

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *