Sun Cluster: Guía de conceptos para SO Solaris

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

El mecanismo por el que la estructura del clúster se asegura de que un nodo fallido no pueda rearrancar y empezar a escribir en almacenamiento compartido se denomina recuperación rápida.

Los nodos que son miembros del clúster habilitan permanentemente un ioctl específico, MHIOCENFAILFAST, para los discos a los que tienen acceso, incluidos los de quórum. ioctl es una directiva para el controlador de disco y da a un nodo la posibilidad de entrar en pánico por sí mismo si éste no puede acceder al disco debido a que otro nodo lo está reservando.

ioctl MHIOCENFAILFAST hace que el controlador compruebe el retorno del error de cada lectura y escritura que emite un nodo al disco en el caso del código de error Reservation_Conflict. ioctl emite periódicamente en segundo plano una operación de prueba al disco para comprobar si se produce Reservation_Conflict. Las rutas del flujo de control de segundo y primer plano entran en pánico si se devuelve Reservation_Conflict.

En discos SCSI-2, las reservas no son persistentes, pues no resisten los rearranques de los nodos. En los discos SCSI-3 con reserva de grupo persistente (PGR), la información de reserva se almacena en el disco y permanece en los rearranques de los nodos. El mecanismo de recuperación rápida funciona igual aunque disponga de discos SCSI-2 o SCSI-3.

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. Otro nodo que forme parte de la partición que pueda conseguir el quórum coloca reservas en los discos compartidos y cuando el nodo que no tiene el quórum intenta acceder a éstos recibe un conflicto de reserva y entra en condición de pánico como resultado del mecanismo de recuperación rápida.

Después de la condición de pánico, el nodo podría rearrancar e intentar volverse a unir al clúster o, si éste se compone de sistemas basados en plataformas SPARC, permanecer en el indicador OpenBootTM PROM (OBP). La acción que se toma depende del valor del parámetro auto-boot?. Se puede establecer auto-boot? con eeprom(1M), en el indicador ok de la PROM de OpenBoot en un clúster basado en la plataforma SPARC o con la utilidad SCSI que se puede ejecutar opcionalmente tras un arranque de la BIOS en un clúster basado en la plataforma x86.