El comando nc (Netcat) permite la clonación de discos en caliente enviando datos de una partición o disco a través de la red (TCP/UDP) mientras el sistema operativo está funcionando. Combinado con dd para la lectura/escritura de datos, se utiliza en entornos Linux para transferir la imagen exacta de un disco origen a uno destino en otra máquina, ideal para migraciones sin inactividad.
Funcionamiento básico (clonación en caliente por red):
- En la máquina de destino (receptor): Se prepara el disco para recibir datos.bash
nc -l -p 1234 | dd of=/dev/sdb bs=1Mnc -l -p 1234: Abre el puerto 1234 a la escucha.| dd of=/dev/sdb: Recibe los datos y los escribe en el disco destino (/dev/sdb).
- En la máquina de origen (emisor): Se envían los datos del disco activo.bash
dd if=/dev/sda bs=1M | nc IP_DESTINO 1234dd if=/dev/sda: Lee el disco origen (/dev/sda) byte a byte.| nc IP_DESTINO 1234: Envía los datos por la red al destino.
Consideraciones importantes:
- Riesgo de cambios: Al clonar “en caliente”, los archivos que cambien durante el proceso pueden generar una copia inconsistente, aunque el sistema sea arrancable.
- Tamaño: El disco de destino debe ser igual o mayor que el de origen.
- Seguridad: Netcat no cifra los datos transferidos, úselo en redes seguras.
- Alternativas: Para clonación en caliente profesional y más segura, se recomiendan herramientas dedicadas como
ddrescueo software de gestión de particiones.