Actualización en caliente del Mediation Controller¶
Importante
La documentación de actualización en caliente del Mediation Controller está destinada a cualquier Mediation Controller que funcione con Debian 11. La versión de Debian puede comprobarse con el siguiente comando (que debe ejecutarse por SSH o mediante acceso a la consola):
1 | |
Información
Recordatorio: el cambio a root en las máquinas Debian debe realizarse con el siguiente comando:
1 | |
Planificación y preparación¶
Apertura de flujos¶
Al montar el producto de versión, deben descargarse numerosos paquetes de los repositorios de Debian, debido al paso de la versión 11 a la 12 de Debian. Debe abrirse el acceso TCP 80 a security.debian.org y a ftp.fr.debian.org.
Para probar la apertura de los flujos en la máquina, puede lanzarse una sincronización de los repositorios de Debian. Si se muestran mensajes de error relativos al acceso a los repositorios de Debian, el flujo de red no está abierto y probablemente esté bloqueado por el cortafuegos corporativo. La sincronización de los repositorios puede iniciarse con el comando siguiente:
1 | |
Descarga del espejo y de las herramientas necesarias¶
El espejo de CyberElements Cleanroom 4.6 puede descargarse desde este enlace (requiere la creación de una cuenta de cliente): Systancia Marketplace
Además del espejo, se necesitarán herramientas de terceros para el proceso de montada de versión:
- Un cliente SSH (en Windows puede utilizarse la herramienta PuTTY)
- Un cliente SCP (en Windows pueden utilizarse las herramientas WinSCP o FileZilla)
Instalación y uso de la herramienta screen¶
La herramienta screen permite abrir varios terminales de shell en una sola consola. Es imprescindible utilizarla para montar la versión CyberElements Bastion, con el fin de eliminar la dependencia de la estabilidad de la conectividad de red. De hecho, sin la herramienta screen, la instalación se detendría en caso de corte de la conectividad SSH con los servidores CyberElements Bastion.
Al utilizar la herramienta screen, cuando vuelva a conectarse a la consola de shell del equipo CyberElements Bastion podrá recuperar el terminal en el que se ejecutaba el proceso de actualización.
El paquete screen debe instalarse con la línea de comandos siguiente:
1 | |
Para abrir un nuevo terminal screen, debe ejecutarse el comando siguiente:
1 | |
Sustituya <ID> por un nombre que identifique la sesión.
Ejemplo
Para las montadas de versión de CyberElements, el identificador cye-upgrade es fácilmente identificable. El comando sería por tanto el siguiente:
1 | |
Para recuperar un terminal abierto con screen, basta con ejecutar el comando siguiente:
1 | |
Sustituya <ID> por el nombre definido al abrir la sesión.
Ejemplo
El terminal abierto anteriormente con el identificador cye-upgrade puede recuperarse con el comando siguiente:
1 | |
Para cerrar el terminal una vez finalizada la montada de versión, introduzca el comando exit o el atajo de teclado ctrl+d en el terminal.
Volverá así a la consola. El mensaje « screen is terminating » confirma que el terminal se ha cerrado.
Ampliación del espacio en disco de las appliances virtuales¶
Las appliances virtuales Systancia Cleanroom 4.4 o 4.5 requieren añadir una ampliación de disco de 2 GB a la partición /usr. Esta operación es necesaria para disponer de espacio en disco suficiente para la actualización y evitar quedarse bloqueado durante la operación.
Al conectarse al Mediation Controller, ya sea por SSH o en modo consola, un mensaje de bienvenida le informa de que está conectado a una máquina Systancia. Una línea adicional indica la versión de la appliance.
Ejemplo
Una appliance virtual Mediation Controller en versión 4.5 dará el siguiente resultado:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Si la máquina no es una appliance virtual suministrada con la versión 4.4 o 4.5, puede omitirse este capítulo y pasar directamente a la actualización.
Se recomienda encarecidamente realizar una copia de seguridad
Los pasos siguientes modifican el particionado del disco del Mediation Controller. Si se han realizado cambios manuales, es posible que estas instrucciones no sean adecuadas y que la máquina quede bloqueada.
Antes de continuar, realice una copia de seguridad de la máquina o, si es necesario, duplique la máquina virtual. No pueden utilizarse instantáneas porque, especialmente con VMware, impiden ampliar un disco.
En el hipervisor, amplíe en 2 GB adicionales el espacio en disco de la máquina virtual. Si no es posible ampliar el disco, compruebe que no haya instantáneas y, en caso contrario, apague la máquina virtual si la ampliación en caliente no está soportada.
Una vez ampliado el espacio en disco a nivel de la máquina virtual, son necesarios los siguientes comandos, que deben ejecutarse como root, para ampliar la partición /usr:
1 2 3 4 5 6 | |
Actualización¶
Actualización de los paquetes de Debian¶
Como la montada de versión de CyberElements Bastion exige montar la versión de Debian, se recomienda actualizar correctamente los paquetes de Debian 11 antes de pasar a Debian 12. Para ello, ejecute los comandos siguientes como root (actualización del sistema y después retirada de los paquetes innecesarios):
1 2 3 | |
Pueden aparecer mensajes que pidan modificar la configuración de varios ficheros de configuración. En esos casos, seleccione la opción que conserva la configuración actual.
Preparación de los controladores de Microsoft SQL Server¶
Son necesarias operaciones adicionales si los controladores de Microsoft SQL Server están instalados (es el caso de las appliances virtuales suministradas por Systancia).
Para comprobar si están presentes en el servidor, puede ejecutarse el siguiente comando como root:
1 | |
Si no aparece ninguna respuesta, los controladores no están instalados y puede pasar a la etapa de preparación del espejo.
En caso contrario, si los controladores están instalados, deberían aparecer dos paquetes: msodbcsql17 y mssql-tools. Siga las instrucciones de esta sección.
Ejemplos
Un servidor en el que los controladores no están instalados daría el siguiente resultado con el comando anterior:
1 | |
Un servidor en el que los controladores están instalados dará un resultado similar a este (las versiones de los paquetes pueden diferir):
1 2 3 | |
Los siguientes comandos son necesarios para instalar una versión concreta de los paquetes y garantizar que la actualización se realice correctamente:
1 | |
Configure el repositorio de Microsoft adaptado a Debian 12 para preparar la actualización:
1 | |
Preparación del espejo CyberElements Cleanroom 4.6¶
El espejo recuperado durante la fase de preparación (fichero con la extensión tgz) debe enviarse al servidor mediante SCP. Debe colocarse en el directorio /tmp/.
A continuación, prepare el espejo ejecutando los comandos siguientes como root (se eliminarán los ficheros residuales de una montada de versión anterior):
1 2 3 | |
Configuración de APT¶
El gestor de paquetes APT está configurado para recuperar los paquetes de Debian 11; debe reconfigurarse para recuperar los de Debian 12. También es necesario actualizar la referencia al espejo local de CyberElements Bastion. Para ello, ejecute los comandos siguientes como root:
1 2 3 4 | |
Además de configurar los nuevos repositorios, recomendamos encarecidamente aplicar el ajuste siguiente para indicar a APT que no instale las dependencias recomendadas que no son estrictamente necesarias, con el fin de reducir el número de componentes instalados. El comando siguiente aplica ese ajuste comoroot:
1 2 | |
Por último, es necesario actualizar la lista de paquetes de los repositorios con el comando siguiente:
1 | |
Lanzamiento de la actualización¶
Acceda por SSH al servidor Mediation Controller y cambie a root, después abra un screen como se ha indicado anteriormente.
Empiece por actualizar algunos paquetes específicos para que la actualización pueda llevarse a cabo. Es normal que aparezca un mensaje de error al ejecutar el primer comando; el segundo comando lo corrige:
1 2 | |
Al actualizar un Mediation Controller de Debian 11 a Debian 12, el paquete collectd se actualiza y pasa a ser incompatible con el fichero de configuración generado por CyberElements Bastion (/etc/collectd/collectd.conf). Esto puede provocar un error durante la actualización.
Para evitarlo, desactive collectd:
1 2 | |
A continuación, puede iniciarse la actualización con el siguiente comando:
1 | |
Durante la actualización se le formularán varias preguntas sobre si conservar los ficheros de configuración y actualizarlos conforme a la configuración estándar de Debian 12, o mantener la configuración específica existente. Estas son nuestras recomendaciones para la mayoría de los ficheros que puede encontrar:
| Fichero de configuración | Acción recomendada |
|---|---|
| /etc/issue | Conservar, responder N |
| /etc/issue.net | Conservar, responder N |
| /etc/security/limits.conf | Conservar, responder N |
| /etc/login.defs | Conservar, responder N |
| /etc/shibboleth/shibboleth2.xml | Conservar, responder N |
| /etc/shibboleth/shibd.logger | Aplicar los cambios, responder Y |
| /etc/default/ntpsec | Aplicar los cambios, responder Y |
| /etc/snmp/snmpd.conf | Aplicar los cambios, responder Y |
| /etc/logrotate.d/IPdivaServer | Aplicar los cambios, responder Y |
| /etc/ssh/sshd_config | Conservar, responder Keep the local version currently installed |
| /etc/ssh/ssh_config | Aplicar los cambios, responder Y |
| /etc/apache2/ports.conf | Conservar, responder N |
| /etc/init.d/apache2 | Conservar, responder N |
| /etc/modsecurity/modsecurity.conf-recommended | Aplicar los cambios, responder Y |
| /etc/ipdiva/httpd/commonParameters.conf | Aplicar los cambios, responder Y |
| /etc/ipdiva/care/djangosettings.ini | Aplicar los cambios, responder Y |
| /etc/crontab | Aplicar los cambios, responder Y |
| /etc/openssl.cnf | Aplicar los cambios, responder Y |
| /etc/audit/rules.d/audit.rules | Conservar, responder N |
| /etc/pam.d/su | Conservar, responder N |
| /etc/sysctl.conf | Conservar, responder N |
Acepte el mensaje de configuración del paquete glibc: 
Acepte el reinicio automático de los servicios: 
Una vez finalizada la actualización, ejecute los siguientes comandos para reactivar collectd, eliminar los paquetes innecesarios y reiniciar la máquina:
1 2 3 4 | |
Acciones específicas de los Mediation Controllers en Cluster¶
En el servidor Mediation Controller SLAVE, ejecute los siguientes comandos para resincronizar el secreto compartido entre el Mediation Controller MASTER y el SLAVE:
1 2 | |
Actualización de la instancia de base de datos PostgreSQL¶
En el servidor Mediation Controller, actualice la instancia de base de datos PostgreSQL de la versión 13 a la versión 15. Para ello, ejecute las siguientes instrucciones con los permisos root adecuados.
Compruebe el estado de las instancias de PostgreSQL antes de la migración:
1 | |
Ejecute los siguientes comandos para actualizar la instancia de base de datos a la versión 15 de PostgreSQL:
1 2 3 4 | |
Compruebe que la instancia de base de datos se ha actualizado correctamente. Deben aparecer dos instancias, una en versión 13 y otra en versión 15, siendo esta última la única activa. La comprobación se realiza con el siguiente comando:
1 | |
Si la actualización se ha realizado correctamente, puede eliminarse la instancia de base de datos en versión 13:
1 | |
Puede iniciarse la eliminación de los paquetes PostgreSQL de la versión 13:
1 | |
Migración de la base de datos de CyberElements Bastion¶
La configuración del producto se almacena en la base de datos, que debe migrarse para que pueda contener los ajustes de los cambios introducidos por la nueva versión. La operación se realiza en el Mediation Controller como root.
Arquitectura Cluster
En una arquitectura Cluster, la operación debe realizarse desde un solo Mediation Controller, sin importar cuál.
También es necesario ejecutar el siguiente comando:
1 | |
La migración de los datos se lanza con un comando equivalente a este:
1 | |
Donde <org_clr> debe sustituirse por el nombre de la organización que se va a migrar. Tenga en cuenta que, si el Mediation Controller tiene varias organizaciones (multi-tenant), deberá ejecutar el comando tantas veces como organizaciones haya que migrar.
Ejemplo
Para una plataforma CyberElements Bastion que tenga las organizaciones systancia y systancia-test, deberá ejecutar los siguientes comandos:
1 2 | |
Tras la migración de la base de datos, debe reiniciarse el servicio Apache2:
1 | |
Restauración de las configuraciones¶
Algunas configuraciones se han sobrescrito durante el proceso de actualización y deben restaurarse.
Fichero commonParameters.conf:
Traslade las etiquetas <Location> relativas a las HTML5 Gateways, que suelen encontrarse al final del fichero, desde /etc/ipdiva/httpd/commonParameters.conf.dpkg-old hasta /etc/ipdiva/httpd/commonParameters.extra.conf (cree el fichero si no existe). Si no hay ninguna etiqueta <Location>, pueden copiarse los ejemplos siguientes.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
Fichero djangosettings.ini:
Copie la información de la línea 2 « allowed_hosts » del fichero /etc/ipdiva/care/djangosettings.ini.dpkg-old al fichero /etc/ipdiva/care/djangosettings.ini. Esto puede automatizarse con el siguiente comando, ejecutado como root:
1 | |
Aplicación de las restauraciones:
Para aplicar las restauraciones es necesario reiniciar el servicio Apache2 como root:
1 | |
Validación¶
Una vez finalizada la actualización, debe validarse la infraestructura CyberElements Bastion para asegurarse de que funciona correctamente antes de volver a ponerla en producción. Si la validación falla, considere dar marcha atrás restaurando las copias de seguridad de los servidores CyberElements Bastion.
Acceda a la interfaz de administración de una organización y, a continuación, vaya al menú « About » de la barra de control para comprobar que la versión del Mediation Controller se ha actualizado correctamente a la 4.6.
Pueden iniciarse las primeras pruebas de funcionamiento de la plataforma, pero recomendamos utilizar la versión 4.6 de Edge Gateway para garantizar un rendimiento óptimo de las aplicaciones CyberElements Bastion.