Cómo el servicio cluster reserva un disco y pone un disco en línea

En este artículo se describe cómo el servicio Clúster de Microsoft reserva y trae discos en línea administrados por el servicio de clúster y controladores relacionados.

Se aplica a: Windows Server 2003
Número de KB original: 309186

Más información

El servicio cluster solo usa el protocolo SCSI para administrar discos en el bus compartido.

Nota:

Esto no significa que todos los discos sean de tipo SCSI, especificando la interfaz de hardware conocida como SCSI, sino que la unidad de almacenamiento debe ser capaz de interpretar y procesar correctamente el protocolo SCSI y los comandos.

La siguiente lista de comandos son las características de protocolo SCSI adicionales que se usarán cuando los discos se encuentren en un entorno en clúster.

  • reserve: este comando lo emite un adaptador de bus de host para obtener o mantener la propiedad de un dispositivo SCSI. Un dispositivo reservado rechaza todos los comandos de todos los demás adaptadores de bus host, excepto el que lo reservó inicialmente, el iniciador.

  • release: el adaptador de bus host propietario emite este comando cuando se desconecta un recurso de disco; libera un dispositivo SCSI para que se reserve otro adaptador de bus host.

  • reset: este comando interrumpe la reserva en un dispositivo de destino. Este comando puede ser un restablecimiento de bus (para todo el bus) o, mediante los controladores storport, un restablecimiento de destino para un dispositivo determinado en el bus. En el procedimiento siguiente se describe cómo se inicia un clúster de servidor y se obtiene el control de los discos compartidos. En este escenario se supone que solo se está activando un nodo a la vez:

Cuando se inicia el equipo, el controlador de disco de clúster (Clusdisk.sys) lee la siguiente clave del Registro local para obtener una lista de las firmas de los discos compartidos en la administración del clúster: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ClusDisk\Parameters \Signatures

Una vez obtenida la lista, el servicio de clúster intenta examinar todos los dispositivos del bus SCSI compartido para buscar firmas de disco coincidentes.

Cuando se inicia el primer nodo del clúster, el controlador de disco del clúster marca primero todos los LUN (LUN: número de unidad lógica, un identificador único que se usa en un bus SCSI para distinguir entre los dispositivos que comparten el mismo bus) que coinciden con la clave Signatures como volúmenes sin conexión. Tenga en cuenta que esto no es lo mismo que desconectar un recurso de clúster. El volumen se marca como sin conexión para evitar que varios nodos tengan acceso de escritura a los volúmenes simultáneamente. Si el clúster es un clúster de disco compartido, el servicio de clúster designa uno de los discos como disco de cuórum. El disco de cuórum es el primer recurso que se conecta cuando el servicio de clúster intenta formar un clúster.

Cuando se inicia el servicio de clúster en el nodo de formación, primero intenta poner en línea el dispositivo físico designado como disco de cuórum. Ejecuta el algoritmo de arbitraje de disco en el disco de cuórum para obtener la propiedad. Si el arbitraje se realiza correctamente, el servicio de clúster envía una solicitud a clusdisk para empezar a enviar reservas periódicas al disco (para mantener la propiedad). A continuación, el servicio de clúster envía una solicitud a clusdisk para desbloquear el acceso al disco de cuórum y monta los volúmenes en el disco. El montaje correcto de los volúmenes completa el procedimiento en línea y el servicio de clúster continúa con el proceso de formulario del clúster. La solicitud se pasa desde el controlador de disco del clúster a la pila de controladores de almacenamiento de Microsoft y, por último, al controlador específico del HBA que se comunica con los discos. También se puede pasar a cualquier software de múltiples rutas que se ejecute en la pila de almacenamiento.

Una vez que el controlador de almacenamiento o el controlador de dispositivo informa de que el dispositivo se ha reservado correctamente, el servicio de clúster garantiza que la unidad se puede leer y escribir en. Una vez que el disco ha superado todas estas pruebas, el recurso de disco se marca como en línea y el servicio de clúster continúa conectando todos los demás recursos.

Cada nodo del clúster renueva las reservas de los LUN que posee cada tres segundos. Si los nodos de un clúster pierden la comunicación de red entre sí (por ejemplo, si no hay ninguna comunicación a través de la red privada o pública), los nodos inician un proceso conocido como arbitraje para determinar la propiedad del disco de cuórum. El nodo que gana la propiedad de los recursos de disco de cuórum en la pérdida total de comunicación entre el nodo del clúster seguirá siendo funcional. Los nodos que no puedan comunicarse y no puedan mantener o adquirir la propiedad del disco de cuórum finalizarán el servicio de clúster y los recursos que el nodo hospedaba se moverán a otro nodo del clúster.

  1. El nodo que posee actualmente el disco de cuórum es el nodo de defensa. El defensor asume que está defendiendo contra los nodos de clúster con los que no puede comunicarse y para los que no recibió una notificación de apagado. El defensor renueva continuamente su reserva en el cuórum solicitando que se coloque una reserva SCSI en el LUN cada tres segundos.

  2. Todos los demás nodos (nodos que no poseen el disco de cuórum y no pueden comunicarse con el nodo propietario del recurso de cuórum) se convierten en nodos desafiantes.

  3. Cuando el retador detecta la pérdida de todas las comunicaciones, solicita inmediatamente un restablecimiento SCSI en todo el bus para interrumpir las reservas existentes.

  4. Siete segundos después del restablecimiento SCSI solicitado, el retador intenta reservar el disco de cuórum. Si el nodo de defender está en línea y funcionando, ya habrá reservado el disco de cuórum, como suele hacer cada tres segundos. El retador detecta que no puede reservar el cuórum y finaliza el servicio de clúster. Si el defensor no funciona correctamente, el retador puede reservar correctamente el disco de cuórum. Después de diez segundos, el retador pone el cuórum en línea y toma la propiedad de todos los recursos del clúster. Si el nodo de defensa pierde la propiedad del dispositivo de cuórum, el servicio de clúster del nodo de defensa finaliza inmediatamente.

Cuando un nodo de clúster desconecta un recurso de disco, solicita que se libere la reserva SCSI y, a continuación, la unidad volverá a no estar disponible para el sistema operativo. Cada vez que un recurso de disco esté sin conexión en un clúster, el volumen al que apunta el recurso (el disco con la firma coincidente) será inaccesible para el sistema operativo en cualquiera de los nodos del clúster.