|
|
|
## 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.
|
|
|
|
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 (`Botija`, `Gurí`, `Redota` y `Mate`), 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.
|
|
|
|
|
|
|
|
## Paso 0: respaldos
|
|
|
|
|
|
|
|
Se planea hacer resplados "Proxmox" completos a todos los hosts (VMs y containers) que son considerados críticos por contener datos y/o configuraciones no recuperables a través de los playbooks y roles desarrollados hasta el momento.
|
|
|
|
|
|
|
|
Los servidores considerados críticos (al 13 de Enero de 2020) son:
|
|
|
|
|
|
|
|
En Botija:
|
|
|
|
- Asado (AlternC. alternc.interior)
|
|
|
|
- Candirú (Cedido a Espacio Interdisciplinario)
|
|
|
|
- Chingolo (Cedido a CSEAM)
|
|
|
|
- Canelón (OCS de CSIC)
|
|
|
|
- Godel (Zimbra. correo electrónico del interior)
|
|
|
|
|
|
|
|
En Guri:
|
|
|
|
- Guayabo (Jitsi Meet (Por versión estable y no instalable desde repositorios?). charla.interior)
|
|
|
|
- Ta (Consola SSH (por las claves). ta.interior)
|
|
|
|
- Bo (OpenVPN (por las claves). vpn.interior)
|
|
|
|
- Acacia (EtherPad. pad.interior)
|
|
|
|
- Tacuara (Zabbix (Por historial?). monitor.interior)
|
|
|
|
- Sabiá (Nextcloud. nube.cci)
|
|
|
|
- Arrayán (Sympa. listas.softwarelibre)
|
|
|
|
- Truco (Matrix. matrix.interior)
|
|
|
|
- Champión (Eduroam (Por las claves?). radius.interior)
|
|
|
|
- Matera (Gitlab. git.interior)
|
|
|
|
|
|
|
|
En Redota:
|
|
|
|
- Che (Respaldos. che.interior)
|
|
|
|
|
|
|
|
Al momento de realizar los respaldos, **es importante estar atentos a los hosts que contienen puntos de montaje adicionales** (Asado, Chingolo, Sabiá). En dichos puntos de montaje, es necesario que se active el flag `backup` 
|
|
|
|
|
|
|
|
El destino de los respaldos será el storage correspondiente al segundo RAID de discos de `Redota`. Este storage se encuentra compartido con los demás nodos del cluster a través de NFS, con nombre de recurso `respaldosEnRedota`.
|
|
|
|
|
|
|
|
Teniendo `Mate` el hardware más antiguo y limitado, es un nodo dedicado a pruebas, no es un eslabón crítico en la cadena de servicios que se encuentran en producción. Por esta razón, días previos al upgrade definitivo, se planea **vaciarlo, extraerlo del cluster, actualizarlo (independientemente) a Proxmox 6, y probar en él la recuperación de los respaldos realizados a los servidores críticos.**
|
|
|
|
A su vez, se tendrá `Mate` a disposición en todo momento durante los sucesivos upgrades entre versiones menores y mayores, para realizar otras pruebas o chequeos que se necesiten.
|
|
|
|
|
|
|
|
## 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.
|
| ... | ... | @@ -17,6 +52,11 @@ Una vez chequeado esto, ejecutamos el playbook de la siguiente manera: |
|
|
|
ansible-playbook -i host_prod upgrade_proxmox_5_a_6.yml
|
|
|
|
```
|
|
|
|
|
|
|
|
O si se desea ejecutar el playbook solo para un nodo del grupo `seciu_fierrosToUpgrade`, como por ejemplo en el paso cero para `Mate`, solo se debe agregar un limitador:
|
|
|
|
```
|
|
|
|
ansible-playbook -i host_prod --limit mate.interior.edu.uy 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.
|
| ... | ... | |
| ... | ... | |