[GNU/Linux] Creando un CT a partir de otro CT en Proxmox

Hola lector(a) y/o seguidor(a). El otro día estaba tratando de probar algunas plantillas de WordPress para ver si cambiamos el sitio de la intranet y hacer otras locuras por ahí. Agarro y le voy a fajar a un nuevo CT (container) del casi estrenado Proxmox, y sorpresa, no tenía acceso al ftp de INFOMED para actualizar e instalar desde el repo. Es entonces que se me ocurre la idea de si era posible clonar el CT en otro CT y continuar con las fechorías. Por suerte ese Proxmox es un loquillo y gracias a su simple mecanismo de salva y restauración, adicionando mi diabólica idea he logrado hacerlo.

Lo primero es crear una salva del CT a clonar. En esta caso se le está haciendo a un CT que tiene por ID 103 y con nombre www. El nombre de la salva tiene el formato siguiente:

vzdump-lxc-[id del container]-[fecha+hora].tar.lzo

Como resultado se obtuvo la salva:

nombre: vzdump-lxc-103-2018_02_18-00_01_37.tar.lzo

Ahora creamos un nuevo CT de ser posible con la misma plantilla que el anterior, para evitar posibles conflictos. Se le asigna un ID automático (107 en este caso) y con nombre jabber. Una vez creado arrancamos ese CT y creamos la 1ra salva.

nombre: vzdump-lxc-107-2018_02_18-00_02_37.tar.lzo

Detén el CT. Ahora viene la magia, sobreescribir el contenido de la salva de www en la salva de jabber:

cp /mnt/externo/dump/vzdump-lxc-103-2018_02_18-00_01_37.tar.lzo /mnt/externo/dump/vzdump-lxc-107-2018_02_18-00_02_37.tar.lzo

Luego vamos a la interface web de ese CT y restauramos esa salva y ….. ¿que rayos pasó? Me restauró todo como estaba el otro CT, incluso con MAC, IP nombre de PC y todo. Pues esto es en sí el mecanismo. Ahora sin pánico (recuerda que si padeces de la presión tómate un buen tilo y vuelve a la carga) solo hay que modificar algunas cosillas. El Proxmox guarda los datos de configuración de las CT en la ruta /etc/pve/nodes/pve01/lxc en ficheros por separado de cada CT. A modificar se ha dicho.

Contenido inicial:

arch: amd64
cores: 1
hostname: www
memory: 512
nameserver: 192.168.0.2
net0: name=eth0,bridge=vmbr0,gw=192.168.0.1,hwaddr=1E:60:2D:12:FC:C5,ip=192.168.0.7/24,type=veth
onboot: 1
ostype: debian
rootfs: local-lvm:vm-107-disk-1,size=8G
searchdomain: miunidad.sld.cu
startup: order=3
swap: 512

Contenido modificado:

hostname: jabber
net0: name=eth0,bridge=vmbr0,gw=192.168.0.1,hwaddr=1E:FC:C5:60:2D:12,ip=192.168.0.14/24,type=veth
startup: order=8

A groso modo se ha cambiado el IP, MAC, hostname y orden de inicio. Guardamos los cambios y cerramos sesión web en el Proxmox. Volvemos a iniciar sesión, y, ahora si aparece como querías. Arrancas el CT y comprueba que todo está como en el CT original.

Por último, como ya tienes ese nuevo CT trabajando no te hace falta esa salva, así que si quieres elimínala, no vaya a ser que te confundas y trates de restaurarla y tengas que modificar todo de nuevo. De momento he probado con varias cosas como reinicar el servicio ssh y el apache2, para por si las moscas, pero la cosa va viento en popa y a toda vela. No se que implicaciones pueda tener este proceder no tradicional pero si explota algo recuerde que la 1ra cláusula del uso de tecnologías libres y cito: “No nos hacemos responsables por el uso indebido y/o inapropiado del producto“.

Enlace permanente a este artículo: http://sasousuke.cubava.cu/2018/02/19/gnu-linux-creando-un-ct-a-partir-de-otro-ct-en-proxmox/