Sun Cluster para el sistema operativo Solaris: Visión general

Dispositivos del quórum

Un dispositivo del quórum es un disco compartido por dos nodos o más que aporta votos que se utilizan para establecer un quórum con el fin de que se ejecute el clúster, ya que éste sólo puede funcionar cuando está disponible un quórum de votos. El dispositivo del quórum se usa cuando un clúster se particiona en distintos conjuntos de nodos, para establecer qué conjunto de nodos constituye el nuevo clúster.

Los nodos del clúster y los dispositivos del quórum votan para formar el quórum. De forma predeterminada los nodos del clúster aumentan en uno su recuento de votos del quórum cuando arrancan y se convierten en miembros del clúster. Los nodos pueden tener un recuento de votos de cero si el nodo se está instalando o cuando un administrador lo ha situado en estado de mantenimiento.

Los dispositivos del quórum adquieren votos según el número de conexiones de nodo que tenga el dispositivo. Cuando se configura un dispositivo del quórum, éste adquiere un recuento máximo de votos de N-1 donde N es el número de votos conectados al dispositivo del quórum. Por ejemplo, un dispositivo del quórum conectado a dos nodos con recuentos distintos de cero, tiene un recuento del quórum igual a uno (dos menos uno).

Integridad de datos

El sistema Sun Cluster intenta evitar el deterioro de los datos y asegurar su integridad. Puesto que los nodos de los clústers comparten datos y recursos, un clúster nunca debe dividirse en particiones que estén activas al mismo tiempo. El CMM garantiza que sólo pueda haber un clúster operativo al mismo tiempo.

Pueden surgir dos tipos de problemas derivados de las particiones del disco: esquizofrenia y amnesia. La esquizofrenia se produce cuando la interconexión del clúster entre los nodos se pierde y el clúster se divide en subclústers, cada uno de los cuales cree que es la única partición. Un subclúster que desconoce la existencia de los otros puede provocar conflictos en los recursos compartidos como direcciones de red duplicadas y deterioro de datos.

La amnesia se produce si todos los nodos dejan el clúster en grupos residuales. Un ejemplo es un clúster de dos nodos A y B. Si el nodo A queda inactivo, los datos de la configuración del CCR se actualizan solamente en el nodo B, no en el A. Si el nodo B queda inactivo posteriormente y se rearranca el nodo A, éste se ejecutará con los antiguos contenidos del CCR. Este estado recibe el nombre de amnesia y puede llevar a ejecutar un clúster con información sobre la configuración del estado.

Para evitar la esquizofrenia y la amnesia se debe dar a cada nodo un voto y obligar a que haya una mayoría de votos por clúster en funcionamiento. Una partición con la mayoría de votos tiene quórum y se le permite funcionar. Este mecanismo de voto por mayoría funciona bien si en el clúster hay más de dos nodos. En un clúster de dos nodos, la mayoría es dos. Si ese tipo del clúster resulta particionado, un voto externo permite que una partición obtenga el quórum. Este voto externo lo proporciona un dispositivo del quórum. que puede ser cualquier disco que compartan dos nodos.

Tabla 2–1 describe cómo Sun Cluster utiliza el quórum para evitar la esquizofrenia y la amnesia.

Tabla 2–1 Quórum del clúster y problemas de esquizofrenia y amnesia

Tipo de partición 

Solución del quórum 

Esquizofrenia 

Permite solamente la partición (subclúster) con una mayoría de votos que ejecutar como clúster (sólo puede existir una partición con dicha mayoría). Si el nodo pierde la votación y no reúne el quórum necesario, emite un aviso grave.  

Amnesia 

Garantiza que cuando se arranque un clúster, tenga al menos un nodo que era miembro de la propiedad del clúster más reciente (y por tanto disponga de los datos de configuración más recientes)  

Aislamiento de fallos

Un problema fundamental de los clústers es un fallo que provoque en éstos una partición (denominada esquizofrenia). Cuando esto ocurre, no todos los nodos pueden comunicarse, por lo que algunos podrían intentar formar clústers individuales o subconjuntos que se “creerían” con permisos de acceso y de propiedad exclusivos respecto a los discos multisistema. Si varios nodos intentan guardar datos en los discos se puede producir un deterioro en los datos.

El aislamiento de fallos limita el acceso de los nodos a los discos multisistema, evitando que físicamente se pueda acceder a ellos. Cuando un nodo abandona el clúster (falla o se particiona), el aislamiento de fallos se asegura de que el nodo ya no pueda acceder a los discos. Sólo los nodos miembros actuales tendrán acceso a los discos, conservándose así la integridad de los datos.

El sistema Sun Cluster usa reservas de disco SCSI para implementar el aislamiento de fallos, gracias a las cuales, los nodos fallidos se “aíslan” de los discos multisistema, evitando que accedan a estos discos.

Cuando un miembro del clúster detecta que otro nodo ya no se está comunicando a través de la interconexión del clúster, inicia un procedimiento de aislamiento de fallos para evitar que el nodo defectuoso acceda a los discos compartidos. En este proceso, el nodo excluido emite avisos graves y aparece un mensaje de “conflicto de reserva” en la consola.

Mecanismo de recuperación rápida para aislamiento de fallos

El mecanismo de recuperación rápida emite avisos graves acerca de un nodo defectuoso, pero no evita que éste rearranque. Después del aviso grave, es posible que el nodo rearranque e intente reunificar el clúster.

Si un nodo pierde conectividad con los otros nodos del clúster y no es parte de una partición que pueda conseguir el quórum, otro nodo lo expulsa del clúster. Cualquier nodo que forma parte de la partición que puede conseguir reservas de plazas del quórum en los discos compartidos. El nodo que no tiene quórum emite después un aviso grave como resultado del mecanismo de recuperación rápida.