En este tema se describe la funcionalidad de conmutación por error de la base de datos para dispositivos que ejecutan la versión 9.0.0 o posterior. Para estos dispositivos, la conmutación por error está totalmente automatizada, excepto cuando un dispositivo del proveedor de servicios se apaga de forma inesperada, en cuyo caso se sigue realizando un proceso manual.
Nota: Este tema solo se aplica a los dispositivos que ejecutan la versión 9.0.0 o posterior. Para obtener información relacionada con los dispositivos anteriores, consulte
Conmutación por error de la base de datos: dispositivos heredados.
Conmutación por error automatizada
La funcionalidad de conmutación por error automatizada incluye lo siguiente.
- Conexión de origen de datos única: todos los dispositivos utilizan ahora una única conexión de origen de datos que se dirige a través del nuevo servicio de pgbouncer. Pgbouncer es un concentrador de conexión que mantiene conexiones con las bases de datos de Postgres subyacentes y a la vez proporciona un único punto de conexión para que lo utilicen los servicios del dispositivo. Este servicio también controla todas las migraciones de conmutación por error y principales; se actualiza automáticamente para apuntar a la nueva base de datos principal, lo cual permite realizar una transición sin problemas entre las instancias principales.
- Cambio controlado de la base de datos principal al apagar o reiniciar el dispositivo: durante cualquier apagado o reinicio iniciado por el invitado de la instancia principal de base de datos actual, la función principal se migrará al otro dispositivo en el par de alta disponibilidad de manera controlada. Esto provoca que la interrupción de los dispositivos sea menor, lo cual afecta principalmente a las conexiones de escritorio a través del portal (web) de Blast. Las conexiones de escritorio realizadas a través de Horizon Client no se ven afectadas. También hay un breve período de no disponibilidad de horizonadmin, y los usuarios que solicitan una conexión de escritorio durante el cambio pueden recibir un error que impide que los escritorios estén disponibles (aunque un reintento en breve deben permitir que se conecten a un escritorio).
- Conmutación por error automática de la instancia principal de base de datos para un error inesperado de dispositivo del arrendatario: los errores de la instancia principal ahora se detectan automáticamente, seguidos de una solicitud a los dispositivos del proveedor de servicios para comprobar que el dispositivo realmente está inactivo. A continuación, el proceso de conmutación por error se inicia después de un retraso de tres minutos. Este nuevo proceso de conmutación por error es menos disruptivo que los procesos de conmutación por error anteriores y posteriormente deja el clúster de slony en un estado de replicación normal: no se requiere el reinicio de slony después de que se produzca una conmutación por error.
Estas funciones son compatibles con los servicios que se describen a continuación.
Servicio | Descripción | Ubicación del registro | Notas |
---|---|---|---|
Pgbouncer | El agrupador de conexión que realiza el brokering de las conexiones de base de datos entre Platform Services y Postgres. | /var/log/pgbouncer/ |
|
Dbmonitor | Servicio de supervisión que realiza lo siguiente:
|
/var/log/dbmonitor/ | |
Conmutación | El script se ejecuta al apagar para realizar una acción de conmutación. | /var/log/desktone/slony-services | |
Volver a suscribir | El script se ejecuta en el inicio para realizar una acción de volver a suscribirse. | /var/log/desktone/slony-services |
Conmutación por error manual del dispositivo del proveedor de servicios
Si un dispositivo del proveedor de servicios tiene un apagado inesperado, puede realizar una conmutación por error manual siguiendo los pasos que se indican a continuación en el otro dispositivo del proveedor de servicios.
- Ejecute el script failover-slony-master (ubicado en /usr/local/desktone/scripts/) como usuario raíz:
failover-slony-master <database type> '<database password>'
donde <database type> es fdb, edb o avdb. - Confirme que el archivo lipgbouncer.ini apunte a la dirección IP de front-end del dispositivo actual:
/usr/local/desktone/scripts# grep '<IP address>' /etc/pgbouncer/pgbouncer.ini
- Vuelva a cargar el servicio pgbouncer:
service pgbouncer reload
- Para confirmar el estado principal y la replicación, ejecute slony-status:
/usr/local/desktone/scripts# slony-status <org #>