verificación google

martes, 21 de agosto de 2018

Actualizar de Proxmox 4 a Proxmox 5, Debian 8 Jessie a Debian 9 Stretch



Si recientemente has actualizado tu Proxmox 4 habrás visto el mensaje "Support for Proxmox VE 4.4
ends on June 30, 2018". Así que ha llegado el momento de actualizar a la última versión Proxmox 5.

Este artículo está basado en la fuente principal en la web de www.proxmox.com en su wiki de soporte: https://pve.proxmox.com/wiki/Upgrade_from_4.x_to_5.0 consúltalo para más ayuda.

En términos generales, existen dos posibilidades para pasar de Proxmox 4 a Proxmox 5.
  1. La primera opción es realizar una nueva instalación en hardware nuevo para posteriormente restauración de máquinas virtuales desde la copia de seguridad. 
  2. La segunda opción es realizar una actualización en a través de apt, paso a paso.
En cualquier caso, será necesario que vacíes la memoria caché del navegador después de la actualización y vuelvas a cargar la página de la GUI o existe la posibilidad de que veas muchas fallas.

Seguramente si utilizas tu servidor de virtualización Proxmox como laboratorio de pruebas como lo hago yo, es muy probable que no tengas disponible nuevo hardware para realizar una nueva instalación y realizar una migración de todas las máquinas virtualizadas.

Así pues en nuestro caso vamos a poner en practica la opción de actualizar; nos disponemos a actualizar Proxmox desde el repositorio de APT. Vamos a aclarar que esta actualización en Debian de proxmox va asociada a la versión de Debian que corremos. Proxmox 4 está asociado a la versión Debian 8 (Jessie) mientras que Proxmox 5 está asociado a la versión Debian 9 (Stretch), por tanto principalmente lo que haremos para hacer la actualización de Proxmox es una actualización de repositorios para utilizar la última versión de Debian  9 (Stretch). 

IMPORTANTE: Tal y como especifican en el manual oficial de Proxmox; debes saber antes de comenzar si usa ceph, actualice su clúster Ceph a la versión Luminous antes de actualizar, siguiendo el artículo Ceph Jewel to Luminous.

Antes de actualizar

Principalmente nos tenemos que asegurar antes de actualizar de cumplir los siguientes puntos:
  • Tenemos copia de seguridad de todas las máquinas virtuales.
  • Todo el sistema está funcionando correctamente. 
  • Todas las máquinas virtuales están correctamente apagadas. 
  • Asegurarnos de estar en la última versión (Proxmox 4.4) antes de iniciar el proceso de actualización a Proxmox 5, para ello ejecutar: 
    • apt-get update && apt-get dist-upgrade
  • Mi ultima recomendación personal es reiniciar el sistema con todas las máquinas sin iniciar (start on boot OFF).

Comenzamos la actualización: 

Los pasos para la actualización sin pocos y simples como puedes ver. 

1. Cambiar en nuestro sources.list de nombre de versión, cambiando de jessie a stretch. Puede que no estemos utilizando el nombre de la versión en nuestro sources.list asegúrate. 
sed -i 's/jessie/stretch/g' /etc/apt/sources.list
1.1. Igualmente hay que cambiar el nombre de la versión en nuestro fichero pve-enterprise.list, en mi caso tenía el repositorio de Proxmox en el propio sources.list, puesto que este Proxmox venía de una versión anterior donde el repositorio simplemente se añadía en el sources.list principal.
sed -i 's/jessie/stretch/g' /etc/apt/sources.list.d/pve-enterprise.list
2. Actualizar nuestra lista de repositorios con la actual Stretch.
apt-get update
3. Descargar e instalar las nuevas versiones de paquetes.
apt-get dist-upgrade

Este último paso en el proceso de actualización será el más largo y también dependerá mucho de nuestra linea de acceso a internet. Puesto que tiene que descargar todos los paquetes necesarios para la actualización y posteriormente desempaquetarlos e instalarlos.

Además durante el proceso de instalación algunos paquetes requieren de la intervención del usuario, para solicitar la confirmación de reinicio de algunos servicios esenciales para el sistema (ssh, postfix, ...) o para solicitar confirmación de instalación de los ficheros de configuración del desarrollador o bien mantener los existentes. 

IMPORTANTE: Actualizar desde terminal ssh

Si pretendes hacer la actualización desde un terminal ssh no ejecutes el comando "apt-get dist-upgrade" directamente en el terminal ssh. Podrías perder la conexión por cualquier motivo y no sabrás cómo/cuando terminó el proceso de actualización o si el proceso solicita de tu intervención, el proceso de actualización quedará paralizado y puede dejar el sistema en un estado inestable. 

Siempre que necesito ejecutar un proceso largo o con cierto nivel de riesgo para la estabilidad del sistema en mis sistemas, utilizo "screen". Este comando nos permite "virtualizar" un terminal que cuelga del raíz de procesos del sistema, es decir, pese a ejecutar screen desde un terminal ssh el proceso colgará fuera del proceso ssh y si perdemos la conexión nuestros procesos seguirán su curso y podremos volver a recuperarlos cuando lo necesitemos. 

Puedes visitar un artículo que escribí hace tiempo en este blog sobre screen, pero te dejo los comandos básicos de screen aquí como ayuda:
  • Crear un terminal: screen -dmS ProcesoUpgrade
  • Acceder al terminal con el nombre ProcesoUpgrade: screen -r ProcesoUpgrade
  • Atajo de teclado para salir del terminal screen sin cerrar el proceso que hemos ejecutado: ctrl+a+d