Cómo migrar contenedores entre servidores proxmox

Cómo migrar contenedores entre nodos Proxmox

Bueno, ahora que ya sabemos cómo instalar Proxmox 4 en Debian Jessie, si tenemos una instalación anterior y lo que estamos haciendo es cambiarnos de hardware, debemos aprender a migrar máquinas openvz de un proxmox a otro sin apagarlas.A pesar de no apagar las máquinas, se puede sufrir alguna desconexión durante un breve espacio de tiempo, ya que si es verdad que las máquinas no se apagar, y su funcionamiento es prácticamente instantáneo entre que salen de un nodo y entran en el otro, pero también tenemos que recordar que si por ejemplo son servidores web y se usan con nombres de dominios habrá que cambiar las dns, lo que puede tardar un buen rato en reflejarse, y convertirse en una caída del servicio.

Esto puede no representar un problema si tenemos en cuenta que hay opciones para evitar el borrado del contenedor en el host de orígen, lo que pasa es que si es muy activa nos podemos encontrar con que rápidamente quedarán desactualizados los datos en las web del nodo de destino.

De cualquier forma, si ya tienes tus dos instalaciones proxmox, y no puedes esperar a migrar las máquinas, simplemente seguirás estos sencillos pasos que no requieren experiencia previa.

Cómo mover un contenedor a otro nodo Proxmox sin apagarlo

Como este método de migración puede tener varias metas diferentes, daré por sentado que o bien no necesitas modificar DNSs en un dominio web por que no las usas, o simplemente conoces el proceso, que no va más allá de entrar en tu registrador y poner la nueva ip de destino que hayas configurado en la nueva máquina.

Léete también  Como copiar todos los contactos de mi teléfono android a mi cuenta de Google

Vamos a ejecutar una serie de comandos tanto en la máquina que tenemos el contenedor (la llamaremos vieja), como en la máquina a la que vamos a migrar el contenedor (o nueva).

Lo primero será habilitar conexión ssh con certificados para no tener que utilizar una contraseña entre las dos máquinas, para ello nos iremos a nuestro servidor viejo y ejecutaremos lo siguiente:

##Máquina VIEJA##

ssh-keygen -t rsa
cd .ssh/
scp id_rsa.pub [email protected]:./id_rsa.pub

En estas líneas crearemos el certificado y lo enviaremos a la máquina nueva, sustituiremos 1.2.3.4 por la ip de la máquina nueva donde mandaremos el contenedor. Nos pedirá la contraseña del usuario root, que si no tenemos habilitado podremos sustituir por cualquier otro usuario que tenga algún permiso de escritura en alguna carpeta.

##Máquina NUEVA##

cd .ssh/
touch authorized_keys2
chmod 600 authorized_keys2
cat ../id_rsa.pub >> authorized_keys2
rm ../id_rsa.pub

> rm: remove regular file `../id_rsa.pub'? y

Es estas nuevas líneas lo que hacemos es añadir el certificado a las claves autorizadas en la máquina nueva, de forma que al conectarse entre ellas no nos hagan falta contraseñas. Si no lo has hecho con el usuario root, tendrás que cambiar la carpeta por la que hayas utilizado tú.

Ahora llega la parte importante, pues es la migración del contenedor a un nuevo servidor Proxmox que realizaremos con el siguiente comando, OJO, te pongo dos y abajo te explico la diferencia para que elijas el que prefieras:

##Máquina VIEJA##
##Elige uno de estos dos comandos, no ejecutes los dos##

#Comando 1 - migra y ELIMINA del servidor viejo#
vzmigrate 1.2.3.4 101

#Comando 2 - migra pero NO ELIMINA del servidor viejo #
vzmigrate --remove-area no 1.2.3.4 101

Desde mi punto de vista, si lo preparas todo para que se redirijan las cosas a la ip que toca, no deberías tener mas que como mucho algún minuto suelto del contenedor sin funcionar al ejecutar el primer comando, pero siempre puedes forzar que no se elimine con el segundo comando.

Léete también  Qué transportista lleva mi paquete de china y cómo hacer el seguimiento

Debes sustituir 1.2.3.4 por la ip de tu servidor nuevo, de esta forma en cuanto ejecutes el comando verás aparecer un mensaje similar a

Starting migration of CT 101 to 1.2.3.4
Preparing remote node
Initializing remote quota
Syncing private
Stopping container
Syncing 2nd level quota
Starting container
Cleanup

Puede tardar un poco entre pasos, recuerda que estamos migrando un contenedor y que en muchos casos pesará unos cuantos gigas, por lo que dependerá de la velocidad de conexión entre las máquinas lo que tardará en pasarlo de una a otra.

En cuanto termine veremos que ya no está en la máquina vieja, y que en la nueva nos aparecerá el contenedor funcionando. Lo normal es que haga un reinicio, pero puedes ejecutar vzmigrate –help para ver qué otras opciones puedes usar en la migración.

Así de sencillo es migrar de un hardware a otro, y como son máquinas virtuales no deberías tener ningún tipo de problema en el funcionamiento. A lo sumo te puedes encontrar con algún conflicto de red, pero veremos como configurar una ip estática en linux en otro artículo y te puede ayudar a configurarlos.

Si no tienes red en la máquina de destino, simplemente ejecuta este comando en el host

vzctl enter 101

donde el 101 es el id del contenedor, lo que hace este comando es acceder a la consola del contenedor que le digamos desde el host, lo que implica que si no va la red igual podremos acceder a él y configurarlo.

¿Sueles usar proxmox? ¿Para qué tipo de entornos?

 


AYUDANOS a poder seguir dando respuestas. Te podemos echar una mano y tú también a nosotros, símplemente dale a me gusta.