|
|
|
## Introducción
|
|
|
|
|
|
|
|
Este plan de actualización fue desarrollado para realizar el dist-upgrade de la nueva plataforma de servidores del interior, un cluster conformado por 4 nodos Proxmox VE, desde su versión 5.X a 6.
|
|
|
|
|
|
|
|
El procedimiento se basa en la [recomendación oficial de Proxmox](https://pve.proxmox.com/wiki/Upgrade_from_5.x_to_6.0), automatizando los pasos iniciales (upgrade sencillo, dist-upgrade de Corosync y configuración de repositorios) mediante un playbook Ansible.
|
|
|
|
|
|
|
|
Los pasos finales se realizan manualmente ya que son más críticos y cada nodo puede tener detalles particulares, no del todo previsibles.
|
|
|
|
|
|
|
|
## Pasos automatizados
|
|
|
|
|
|
|
|
Como se comentaba en la introducción, este procedimiento está basado en la guía [Upgrade from 5.x to 6.0](https://pve.proxmox.com/wiki/Upgrade_from_5.x_to_6.0) y varios de sus pasos fueron automatizados en el playbook [`upgrade_proxmox_5_a_6.yml`](https://git.interior.edu.uy/adminsys/config/blob/101-analisis-y-plan-de-actualizacion-de-nodos-proxmox-desde-version-5-a-6/upgrade_proxmox_5_a_6.yml). A grandes rasgos, este playbook es la "transcipción a Ansible" de la guía, hasta el punto en que se va a proceder con el dist-upgrade definitivo a Proxmox 6.
|
|
|
|
|
|
|
|
Para ejecutar este playbook, primero debemos asegurarnos que en el grupo `seciu_fierrosToUpgrade` del inventario de producción [host_prod](https://git.interior.edu.uy/adminsys/config/blob/101-analisis-y-plan-de-actualizacion-de-nodos-proxmox-desde-version-5-a-6/hosts_prod) se encuentran los nodos deseados.
|
|
|
|
|
|
|
|
Una vez chequeado esto, ejecutamos el playbook de la siguiente manera:
|
|
|
|
```
|
|
|
|
ansible-playbook -i host_prod upgrade_proxmox_5_a_6.yml
|
|
|
|
```
|
|
|
|
|
|
|
|
## Pasos manuales
|
|
|
|
|
|
|
|
Una vez ejecutado el playbook correctamente, ya contamos con la versión más reciente de Proxmox 5.X, Corosync actualizado a la versión 3 y los repositorios de Proxmox 6 seteados en todos los nodos.
|
|
|
|
|
|
|
|
Solo resta ejecutar manualmente y en **cada nodo** lo siguiente:
|
|
|
|
```bash
|
|
|
|
apt update # Para asegurar que el cache de repositorios está actualizado
|
|
|
|
|
|
|
|
apt dist-upgrade --download-only # Para ganar tiempo, solo descargamos los paquetes
|
|
|
|
# del dist-upgrade. Eventualmente de a un nodo por vez
|
|
|
|
```
|
|
|
|
|
|
|
|
Una vez descargados los paquetes en todos los nodos, iniciamos simultáneamente el upgrade propiamente dicho
|
|
|
|
```bash
|
|
|
|
apt dist-upgrade # Con todo listo para el dist-upgrade, con los paquetes
|
|
|
|
# ya descargados podemos ejecutarlo inmediatamente
|
|
|
|
```
|
|
|
|
|
|
|
|
> A modo de nota, en cualquier momento del procedimiento, se puede verificar el estado y quorum del cluster con el comando `pvecm status`
|
|
|
|
|
|
|
|
Tan pronto como comienza el dist-upgrade, recibimos la siguiente advertencia:
|
|
|
|
```
|
|
|
|
W: (pve-apt-hook) !! ATTENTION !!
|
|
|
|
W: (pve-apt-hook) You are attempting to upgrade from proxmox-ve '5.4-2' to proxmox-ve '6.1-2'. Please make sure to read the Upgrade notes at
|
|
|
|
W: (pve-apt-hook) https://pve.proxmox.com/wiki/Upgrade_from_5.x_to_6.0
|
|
|
|
W: (pve-apt-hook) before proceeding with this operation.
|
|
|
|
W: (pve-apt-hook)
|
|
|
|
W: (pve-apt-hook) Press enter to continue, or C^c to abort.
|
|
|
|
```
|
|
|
|
Presionamos `enter` para continuar con la actualización.
|
|
|
|
|
|
|
|
Poco después, son mostradas las noticias/novedades de la nueva versión:
|
|
|
|
```
|
|
|
|
apt-listchanges: News
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
apt (1.8.0~alpha3) unstable; urgency=medium
|
|
|
|
|
|
|
|
The PATH for running dpkg is now configured by the option DPkg::Path,
|
|
|
|
and defaults to "/usr/sbin:/usr/bin:/sbin:/bin". Previous behavior of
|
|
|
|
not changing PATH may be restored by setting the option to an empty string.
|
|
|
|
|
|
|
|
Support for /etc/apt/auth.conf.d/ has been added, see apt_auth.conf(5).
|
|
|
|
|
|
|
|
-- Julian Andres Klode <jak@debian.org> Tue, 18 Dec 2018 15:02:11 +0100
|
|
|
|
|
|
|
|
( ... )
|
|
|
|
|
|
|
|
```
|
|
|
|
Presionamos `q` cara continuar el upgrade.
|
|
|
|
|
|
|
|
En algún momento del upgrade, se nos consultará si deseamos reiniciar automáticamente ciertos serivicios. Lo recomendable es contestar que si.
|
|
|
|

|
|
|
|
|
|
|
|
En el paso siguiente se nos solicita indicar la configuración de teclado. Seleccionamos `Español` y continuamos.
|
|
|
|

|
|
|
|
|
|
|
|
Llegamos al momento de estar completamente atentos. Obtendremos varias consultas por archivos de configuración que difieren de una versión a otra de Proxmox.
|
|
|
|
|
|
|
|
Algunas lucirán de la siguiente manera:
|
|
|
|
```
|
|
|
|
Fichero de configuración `/etc/issue'
|
|
|
|
==> Modificado (por usted o por un script) desde la instalación.
|
|
|
|
==> El distribuidor del paquete ha publicado una versión actualizada.
|
|
|
|
¿Qué quisiera hacer al respecto? Sus opciones son:
|
|
|
|
Y o I : instalar la versión del desarrollador del paquete
|
|
|
|
N o O : conservar la versión que tiene instalada actualmente
|
|
|
|
D : mostrar las diferencias entre versiones
|
|
|
|
Z : ejecutar un intérprete de órdenes para examinar la situación
|
|
|
|
La acción por omisión es conservar la versión actual.
|
|
|
|
*** issue (Y/I/N/O/D/Z) [por omisión=N] ?
|
|
|
|
```
|
|
|
|
|
|
|
|
Otras así:
|
|
|
|

|
|
|
|
|
|
|
|
En el entorno de pruebas en el que se desarrolló y probó este procedimiento, no hay cambios "personalizados" en dichos archivos, por lo que la opción correcta siempre es `Y o I` (instalar la versión del desarrollador del paquete) para instalar el archivo de configuración mas actualizado.
|
|
|
|
|
|
|
|
**Para el caso de los nodos en producción, lo recomendable es utilizar la opción `D` (mostrar las diferencias entre versiones) para chequear manualmente las diferencias y analizar lo que se debe conservar en cada caso.**
|
|
|
|
|
|
|
|
Una vez completada la instalación, ya contamos con Proxmox actualizado a su versión 6.X sobre Debian Buster. Aunque como podemos comprobar, seguimos ejecutando la versión anterior:
|
|
|
|
```
|
|
|
|
root@cazuela:~# uname -a
|
|
|
|
Linux cazuela 4.15.18-12-pve #1 SMP PVE 4.15.18-35 (Wed, 13 Mar 2019 08:24:42 +0100) x86_64 GNU/Linux
|
|
|
|
```
|
|
|
|
|
|
|
|
Para finalizar el proceso reiniciamos, o bien apagamos y prendemos, todos los nodos (en simultáneo mejor) y ya están disponibles las nuevas características:
|
|
|
|
```
|
|
|
|
root@cazuela:~# uname -a
|
|
|
|
Linux cazuela 5.3.13-1-pve #1 SMP PVE 5.3.13-1 (Thu, 05 Dec 2019 07:18:14 +0100) x86_64 GNU/Linux
|
|
|
|
``` |
|
|
\ No newline at end of file |