Un cluster incluye las siguientes características:
Configuración del hardware de ningún punto de falla (No-single-point-of-failure)
Los clusters pueden incluir un controlador dual de formaciones RAID, canales múltiples de comunicación de red y sistemas de suministro contínuo de poder (UPS) para asegurar que ninguna falla resulte en tiempo fuera de servicio o pérdida de datos.
Alternativamente, se puede instalar un cluster de bajo costo para proveer menos disponibilidad que un cluster de ningún punto de falla (no-single-point-of-failure). Por ejemplo, el administrador puede configurar un cluster con un controlador simple de formaciones RAID y sólo un canal Ethernet.
![]() | Nota |
---|---|
Algunas alternativas de bajo costo, tales como software RAID y SCSI paralelo multi-initiator, no son compatibles o apropiados para ser usados en el almacenamiento compartido del cluster. Refiérase a Sección 1.1, para mayor información. |
Marco de configuración del servicio
Los clusters le permiten configurar fácilmente servicios de forma individual para hacer los datos y las aplicaciones altamente disponibles. Para crear un servicio, el administrador especifica los recursos usados en el servicio y las propiedades para el mismo, incluyendo el nombre del servicio, scripts para comenzar , detener y de estado de la aplicación, particiones del disco, puntos de montaje y los miembros cluster donde prefiere ejecutar el servicio. Después de agregar el servicio, el software de administración del cluster almacena la información en un archivo de configuración en el almacenamiento compartido, donde los datos pueden ser accesados por todos los miembros cluster.
El cluster proporciona un marco de fácil uso para las aplicaciones de bases de datos. Por ejemplo, un servicio de base de datos provee datos de alta disponibilidad a una aplicación de bases de datos. La aplicación ejecutándose en un miembro cluster proporciona acceso a la red a los sistemas cliente de bases de datos, tales como servidores Web. Si el servicio falla sobre otro sistema cluster, la aplicación todavía puede acceder a los datos de la base de datos compartida. Usualmente a un servicio de base de datos accesible en la red se le asigna una dirección IP, la cual también se transferirá con el servicio en el evento de una caída del sistema (failover), para de esta forma mantener acceso transparente a los clientes.
El marco del servicio cluster también puede ser fácilmente extendido a otras aplicaciones.
Dominios de failover
Al asignar un servicio a un dominio de failover restringido, puede limitar los miembros que son elegibles para ejecutar un servicio en el evento de un failover. (Un servicio que es asignado a un dominio de failover restringido no puede iniciarse en un miembro cluster que no esté incluido en ese dominio.) Puede ordenar los miembros en un dominio de failover por preferencia para asegurarse de que un miembro particular ejecute el servicio (siempre y cuando el miembro esté activo). Si un servicio es asignado a un dominio de failover sin restricción, el servicio se inicia en cualquier miembro cluster disponible (si ninguno de los miembros del dominio de failover está disponible).
Aseguramiento de la integridad de los datos
Para asegurar la integridad de los datos, sólo un sistema cluster puede ejecutar un servicio y accesar los datos del servicio en un momento determinado. El uso de interruptores (power switches) en la configuración del cluster, permite a cada sistema cluster establecer un ciclo de encendido (power cycle) con los otros sistemas cluster antes de reiniciar sus servicios durante el evento de una falla. Esto previene que los dos sistemas traten de acceder simultáneamente a los mismos datos y, en consecuencia, corromperlos. Aún cuando no es requerido, se recomienda que se usen los interruptores para garantizar la integridad de los datos bajo cualquier condición de falla. Otra opción de control de encendido son los temporizadores Perro-guardián (Watchdog timers) para asegurar la correcta operación del failover del servicio.
Administración de la interfaz del usuario del cluster
La interfaz de administración del cluster facilita las tareas de administración tales como: crear, iniciar y detener servicios; reubicación de servicios desde un miembro al otro; la modificación de la configuración del cluster (para añadir o eliminar servicios o recursos); y la supervisión de los miembros cluster y servicios.
Vinculación de canales Ethernet
Para supervisar la salud de los otros miembros, cada miembro supervisa la salud del interruptor remoto, si existe y emite latidos ping sobre los canales de la red. Con la vinculación de canales Ethernet, se configuran múltiples interfaces Ethernet para comportarse como una, reduciendo el riesgo de un único punto de falla en la conexión típica de de switche Ethernet entre sistemas.
Almacenamiento compartido para la información quorum
La información de estado compartida incluye si el miembro está activo. La información de estado del servicio incluye si el servicio está ejecutándose y cuál miembro está ejecutando el servicio. Cada miembro verifica para asegurarse de que el estado de los otros miembros está actualizado.
En un cluster de dos miembros, cada miembro escribe periódicamente una marca de tiempo y la información de estado del cluster a dos particiones cluster compartidas localizadas en el almacenamiento en disco compartido. Para asegurar la operación correcta del cluster, si el miembro no es capaz de escribir en ambas particiones compartidas primaria y shadow al momento de inicio, no se le permitirá unirse al cluster. En suma, si un miembro no se mantiene actualizando su marca de tiempo y si los latidos al sistema fallan, el miembro será removido del cluster.
La Figura 2 muestra como los miembros se comunican en una configuración de cluster. Note que el servidor terminal usado para acceder a las cónsolas del sistema vía puertos seriales, no es un componente cluster requerido.
Capacidad de failover del servicio
Si ocurre una falla de hardware o software, el cluster tomará la acción apropiada para mantener la disponibilidad de las aplicaciones y la integridad de los datos. Por ejemplo, si un miembro falla completamente, el otro miembro (en el dominio de failover asociado, si se utiliza alguno, o en el cluster) puede reiniciar los servicios. Los servicios que ya están corriendo en este miembro no son interrumpidos.
Cuando el miembro que ha fallado reinicia y es capaz de escribir en las particiones compartidas, puede entonces reunirse con el cluster y ejecutar servicios. Dependiendo de como los servicios estén configurados, el cluster puede rebalancear los servicios entre los miembros.
Capacidad para reubicación manual de servicios
Además del servicio automático de failover, un cluster permite a los administradores detener servicios en un miembro y reiniciarlos en el otro miembro. Esto permite a los administradores realizar mantenimientos planificados en un sistema miembro, mientras se asegura la disponibilidad de los datos y las aplicaciones.
Facilidad para registro de eventos
Para asegurar que los problemas son detectados y resueltos antes de que estos afecten la disponibilidad de los servicios, los demonios del cluster registran mensajes usando el subsistema convencional de Linux syslog. Pueden personalizar el nivel de severidad de los mensajes registrados.
Supervisión de aplicaciones
La infraestructura en un cluster puede opcionalmente monitorear el estado y la salud de una aplicación. De esta forma, si ocurre una falla específica de una aplicación, el cluster puede automáticamente reiniciar la aplicación. En respuesta a la falla de la aplicación, la aplicación intentará ser reiniciada en el miembro en el cual se estaba ejecutando inicialmente; si esto falla, se reiniciará en el otro miembro cluster. Puede especificar cuales miembros son elegibles para ejecutar un servicio asignando un dominio de failover al servicio.