Sun Cluster: Guía de conceptos para el SO Solaris

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

El mecanismo mediante el cual la estructura del clúster se asegura de que un nodo que ha fallado no pueda reiniciarse ni comenzar a escribir en un almacenamiento compartido se llama 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. Este ioctl es una directiva para el controlador del disco. El ioctl proporciona al nodo la capacidad de enviar mensajes graves en caso de que no pueda acceder al disco porque éste esté reservado por algún otro nodo.

El MHIOCENFAILFAST ioctl provoca que el controlador marque el error devuelto desde cada lectura y escritura que el nodo emita para el disco con el código de error Reservation_Conflict. En segundo plano y de forma periódica, el ioctl emite operaciones de prueba para el disco para comprobar el código de error Reservation_Conflict. Las rutas de flujo de control en segundo y en primer plano emiten mensajes graves 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 entre los rearranques de los nodos. El mecanismo de recuperación rápida funciona lo mismo, independientemente de que se tengan 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 forma parte de la partición que puede conseguir reservas de plazas del quórum en los discos compartidos. Cuando el nodo que no tiene quórum intenta acceder a los discos compartidos, recibe un conflicto de reserva y emite mensajes graves como resultado del mecanismo de recuperación rápida.

Después de la condición de aviso grave, el nodo podría rearrancar e intentar volver a unirse al clúster o, si éste se compone de sistemas basados en plataformas SPARC, permanecer en el indicador PROM (OBP) de OpenBootTM. La acción que se toma depende del valor del parámetro auto-boot?. Puede definir auto-boot? con eeprom(1M), en el indicador OpenBoot PROM ok de un clúster basado en SPARC. Si lo desea, también puede configurar este parámetro con la utilidad SCSI, que puede ejecutar opcionalmente después de que arranque la BIOS en un clúster basado en x86.