

Si tenemos ordenadores idénticos con tarjetas de red, este método es muy cómodo.
Netcat es parecido a cat*, pero por red, es decir, abre un puerto tcp/udp y realiza una transferencia bit a bit de un archivo. Como en Linux tenemos la suerte de que todos los dispositivos son tratados como archivos...pues ya tenemos otra poderosa herramienta para clonar equipos.
Ejemplo 1.
Clonamos un disco duro completo "al vuelo" por red
 |
|
 |
CLIENTE (donde queremos copiar)
nc -l 8000 | dd of=/dev/sda
|
|
SERVIDOR (máquina donde están los datos)
dd if=/dev/sda | nc 192.168.1.2 8000
|
PASO 1- Ponemos la máquina cliente en modo de escucha (con la opción -l de netcat).
Después usamos dd para enviar los datos a través de netcat.
En el ejemplo, todo lo que se reciba por el puerto 8000 será escrito en el disco duro sda (pero se puede usar otro puerto, por ejemplo el 1234).
En algunas versiones de netcat se usa -p 8000 para establecer el puerto en destino, esto es: nc -l -p 8000 | dd of=/dev/sda y el servidor sin cambios.
PASO 2- Leemos con dd el disco duro del servidor y lo redirigimos todo al puerto 8000.
Si quisiéramos copiar a la vez en más de un ordenador sólo tendríamos que añadir & (para pasar el comando a segundo plano) al final de la línea del servidor e introducir lo mismo pero con la IP de otro equipo.
TRUCO 1.
Mostrando la velocidad de volcado
Podemos ver la velocidad y la cantidad de datos volcados usando mbuffer.
dd if=/dev/sda | mbuffer | nc 192.168.0.2:8000

Por supuesto, podemos usar mbuffer con cualquier otra herramienta de volcado en red, solo hay que entubarla.
TRUCO 2.
Ganando velocidad Netcat + Partclone
Podemos combinar netcat con partclone para acelerar las copias de particiones al vuelo sin crear imágenes ni archivos intermedios.
Ordenador que espera la copia
nc -l -p 8000 | partclone.ext4 -C -r -o /dev/sda1
Ordenador que proporciona los datos
sudo partclone.ext4 -c -s /dev/sda1 | nc 192.168.1.2 8000
Si queremos volcar también el mbr primario, haríamos lo siguiente:
nc -l -p 8000 | dd of=/dev/sda (ordenador que escucha y espera la copia)
dd if=/dev/sda bs=512 count=1 | nc 192.168.1.2 8000 (ordenador que tiene los datos)
Comments (0)
You don't have permission to comment on this page.