Clonar máquina en red

Por Paco Aldarias Raya

Impreso: 14 de diciembre 2007

Email: pacolinux arroba inicia punto es

Web: http://aldarias.es/pacodebian

Con Linux Debian. En Valencia (España)

El documento tiene version .html, y .pdf, cambiando en el navegador la parte final podrás acceder a ambos.

Este documento es de libre reproducción siempre que se cite su fuente.

Realizado con: LATEX

Índice General


1 Introducción

Si tienen computadoras genéricas conectadas a la red, se las puede clonar de una manera muy simple. No importa si la computadora tiene windows, linux o más de un sistema operativo instalado. La idea es copiar byte a byte los discos duros

2 Clonar en red

En la computadora de destino lo más recomendable es tener un live cd corriendo. Yo lo hice con knoppix que tiene todas las herramientas necesarias. En esta computadora ponemos la siguiente línea:

# nc -l -p 9898 | dd of=/dev/destino bs=1M

nc, lo que hace es escuchar en el puerto 9898 (mayor que 1024). Sí algo llega a ese puerte lo envía a standard output. Con dd escribimos lo que nos llega al dispositivo de destino. Generalmente /dev/hda.

En la computadora de origen escribimos byte a byte al puerto 9898 de la computadora de destino. Para esto utilizamo nc.

# dd if=/dev/origen bs=1M | nc ip.destino 9898

Listo de ahí sí esperar un buen rato hasta que se copien las máquinas. Es recomendable hacerlo con redes rápidas y utilizando switches en lugar de hubs.


3 Clonar dos discos duros

Para clonar dos discos duros conectados a la misma máquina:

# dd if=/dev/origen of=/dev/destino bs=1M

Por ejemplo

# dd if=/dev/hda of=/dev/hdb bs=1M

Sí la máquina tiene un solo sistema operativo talvez algo como el kickstart de red hat es mejor. Pero si tiene muchos sistemas y no quieres instalar uno por uno es una gran alternativa.

4 Clonación por red

4.1 Creating the image

* Bootup the machine via Knoppix (or any other Linux that does not run from your hard drive) and configure the network

* Make sure your hard drive (I will assume /dev/hda for now) is not mounted

* Make sure you have enough free storage capacity on the machine that will hold the image.

* For faster backups make sure that the hard drive has DMA transferred enable and is in 32-bit mode. You can check with

hdparm -cd /dev/hda

and set with

hdparm -c 1 -d 1 /dev/hda

* Cleanup the disk space for each partition used for better compression, e.g. using:

dd if=/dev/zero of=empty.tmp bs=1024 count=<number of free bytes>

rm empty.tmp

Replace <number of free bytes< with the number of free bytes (see df output for this information)

* Start the listener on the server that will store the image:

nc -v -w 120 -p 1235 -l < /dev/null > image.gz

This will run netcat in verbose mode. It will listen to port 1235 (can be any available port) for 120 seconds. It writes all incoming data to image.gz

* Start the real backup process on the backup machine within 120 seconds:

dd if=/dev/hda bs=512 | gzip -c | nc -v -w 60 <server IP> 1235

Replace the server IP accordingly. The 1235 is the port given above.

* Wait some time and have a cup of coffee

4.2 Restoring the image

* Bootup the restore machine via Knoppix (or any other Linux that does not run from your hard drive) and configure the network

* All data on the restore machine will be destroyed!

* Make sure the hard drive capacity is greater than or equal to the hard drive capacity of the backup machine

* Start the feeder on the server:

cat image.gz | nc -v -w 120 -p 1236 -l

* Start the restore process on the restore machine:

nc -v -w 60 <server ip> 1236 < /dev/null | gzip -dc | dd of=/dev/hda bs=512

Replace server ip with the IP from the feeder.

* Wait some time and have a cup of coffee.

* Reboot the restore machine and accept the fsck errors.

4.3 Doing this on the fly

You can also try to do this without an intermediate machine that stores the image.

* On the listening restore machine execute:

nc -v -w 120 -p 1237 -l < /dev/null | gzip -dc | dd of=/dev/hda bs=512

Note: This will destroy ALL data on the restore machine!

* On the feeding backup machine execute:

dd if=/dev/hda bs=512 | gzip -c | nc -v -w 60 <server ip> 1237

This will copy all information over the network to the restore machine.

* Now have a cup of coffee again, then reboot and see fsck complaining.

5 Bibliografía


Índice de Materias

clonar discos
3
clonar máquinas
1
dd
3
nc
2

Sobre este documento...

Clonar máquina en red

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html clonar -split 0 -local_icons 1 -show_section_numbers -no_auto_link -no_navigation

The translation was initiated by Paco on 2007-12-14


Paco 2007-12-14