Comment le service de cluster réserve un disque et met un disque en ligne

Cet article décrit comment le service de cluster Microsoft réserve et apporte des disques en ligne qui sont gérés par le service de cluster et les pilotes associés.

Produit concerné : Windows Server 2003
Numéro de la base de connaissances d’origine : 309186

Plus d’informations

Le service de cluster utilise uniquement le protocole SCSI pour gérer les disques sur le bus partagé.

Remarque

Cela ne signifie pas que tous les disques seront de type SCSI, spécifiant l’interface matérielle appelée SCSI, mais plutôt que l’unité de stockage doit être en mesure d’interpréter et de traiter correctement le protocole et les commandes SCSI.

La liste suivante de commandes répertorie les fonctionnalités de protocole SCSI supplémentaires qui seront utilisées lorsque les disques se trouvent dans un environnement en cluster.

  • reserve: cette commande est émise par un adaptateur de bus hôte pour obtenir ou conserver la propriété d’un appareil SCSI. Un appareil réservé refuse toutes les commandes de toutes les autres cartes de bus hôte, à l’exception de celle qui l’a initialement réservé, l’initiateur.

  • release: cette commande est émise par l’adaptateur de bus hôte propriétaire lorsqu’une ressource de disque est mise hors connexion ; il libère un appareil SCSI pour qu’un autre adaptateur de bus hôte soit réservé.

  • reset: cette commande interrompt la réservation sur un appareil cible. Cette commande peut être une réinitialisation de bus (pour l’ensemble du bus) ou, à l’aide des pilotes storport, une réinitialisation ciblée pour un appareil particulier sur le bus. La procédure suivante décrit comment un cluster de serveurs démarre et prend le contrôle des disques partagés. Ce scénario suppose qu’un seul nœud est activé à la fois :

Lorsque l’ordinateur est démarré, le pilote de disque de cluster (Clusdisk.sys) lit la clé de Registre locale suivante pour obtenir la liste des signatures des disques partagés sous gestion du cluster : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ClusDisk\Parameters \Signatures

Une fois la liste obtenue, le service de cluster tente d’analyser tous les appareils sur le bus SCSI partagé pour rechercher les signatures de disque correspondantes.

Lorsque le premier nœud du cluster démarre, le pilote de disque de cluster marque d’abord tous les numéros d’unité logique (LUN : numéro d’unité logique, identificateur unique utilisé sur un bus SCSI pour faire la distinction entre les appareils qui partagent le même bus) correspondant à la clé Signatures en tant que volumes hors connexion. Notez que cela ne équivaut pas à mettre une ressource de cluster hors connexion. Le volume est marqué hors connexion pour empêcher plusieurs nœuds d’avoir accès en écriture aux volumes simultanément. Si le cluster est un cluster de disques partagés, l’un des disques est désigné comme disque de quorum par le service de cluster. Le disque de quorum est la première ressource mise en ligne lorsque le service de cluster tente de former un cluster.

Lorsque le service de cluster sur le nœud de formation démarre, il tente d’abord de mettre en ligne l’appareil physique désigné comme disque de quorum. Il exécute l’algorithme d’arbitrage de disque sur le disque de quorum pour obtenir la propriété. En cas d’arbitrage réussi, le service de cluster envoie une demande à clusdisk pour commencer à envoyer des réserves périodiques au disque (pour conserver la propriété). Ensuite, le service de cluster envoie une requête à clusdisk pour débloquer l’accès au disque quorum et monte les volumes sur le disque. Le montage réussi du ou des volumes termine la procédure en ligne et le service de cluster poursuit ensuite le processus de formulaire de cluster. La requête est passée du pilote de disque de cluster à la pile de pilotes de stockage Microsoft et enfin au pilote spécifique à l’adaptateur HBA qui communique avec les disques. Il peut également être passé à n’importe quel logiciel multivoie s’exécutant dans la pile de stockage.

Une fois que le contrôleur de stockage/pilote de périphérique signale que l’appareil a été correctement réservé, le service de cluster garantit que le lecteur peut être lu et écrit. Une fois que le disque a réussi tous ces tests, la ressource de disque est marquée comme étant en ligne et le service de cluster continue à mettre en ligne toutes les autres ressources.

Chaque nœud du cluster renouvelle les réservations pour toutes les unités logiques qu’il possède toutes les trois secondes. Si les nœuds d’un cluster perdent la communication réseau entre eux (par exemple, s’il n’y a pas de communication sur le réseau privé ou public), les nœuds commencent un processus appelé arbitrage pour déterminer la propriété du disque de quorum. Le nœud qui obtient la propriété des ressources de disque de quorum en cas de perte totale de communication entre le nœud de cluster reste fonctionnel. Tous les nœuds qui ne peuvent pas communiquer et qui ne peuvent pas conserver ou acquérir la propriété du disque de quorum mettent fin au service de cluster et toutes les ressources que ce nœud héberge est déplacée vers un autre nœud du cluster.

  1. Le nœud qui possède actuellement le disque de quorum est le nœud de défense. Le defender suppose qu’il se défend contre tous les nœuds de cluster avec lesquels il ne peut pas communiquer et pour lesquels il n’a pas reçu de notification d’arrêt. Le defender renouvelle continuellement sa réservation au quorum en demandant qu’une réserve SCSI soit placée sur le lun toutes les trois secondes.

  2. Tous les autres nœuds (nœuds qui ne possèdent pas le disque de quorum et ne peuvent pas communiquer avec le nœud qui possède la ressource de quorum) deviennent des nœuds difficiles.

  3. Lorsque le challenger détecte la perte de toutes les communications, il demande immédiatement une réinitialisation SCSI à l’échelle du bus pour interrompre les réservations existantes.

  4. Sept secondes après la réinitialisation SCSI demandée, le challenger tente de réserver le disque de quorum. Si le nœud defender est en ligne et qu’il fonctionne, il a déjà réservé le disque de quorum, comme il le fait généralement toutes les trois secondes. Le challenger détecte qu’il ne peut pas réserver le quorum et met fin au service de cluster. Si le defender ne fonctionne pas correctement, le challenger peut réserver correctement le disque de quorum. Après dix secondes, le challenger met le quorum en ligne et prend possession de toutes les ressources du cluster. Si le nœud de défense perd la propriété de l’appareil de quorum, le service de cluster sur le nœud défendant s’arrête immédiatement.

Lorsqu’un nœud de cluster met une ressource de disque hors connexion, il demande que la réserve SCSI soit libérée et que le lecteur ne soit à nouveau pas disponible pour le système d’exploitation. Chaque fois qu’une ressource de disque est hors connexion dans un cluster, le volume vers lequel la ressource pointe (le disque avec la signature correspondante) est inaccessible au système d’exploitation sur l’un des nœuds du cluster.