Les sections suivantes offrent des informations supplémentaires sur la configuration du matériel utilisé dans un système membre d'un cluster.
Cette section explique les contrôleurs d'alimentation. Pour obtenir davantage d'informations sur les contrôleurs d'alimentation et leur rôle dans un environnement de cluster, reportez-vous à la Section 1.1.3.
Pour obtenir une liste des interrupteurs reliés série ou au réseau, testés avec et/ou pris en charge par Red Hat, Inc. pour le contrôle de l'alimentation du cluster, reportez-vous à la liste de compatibilité matérielle de Red Hat qui se trouve à l'adresse suivante :
Une description du modèle d'utilisation des horloges chiens-de-garde pour assurer l'intégrité des données du cluster est reproduite dans la Section 1.1.3. Comme il l'est décrit dans cette section, il existe deux variantes de ces horloges chiens-de-garde : l'une basée sur le matériel, l'autre sur le logiciel.
Le passage suivant décrit en détails les tâches de configuration nécessaires pour définir l'utilisation d'horloges chiens-de-garde dans la configuration matérielle du cluster.
Indépendamment du type d'horloge chien-de-garde employé, il est nécessaire de créer le fichier spécial de périphériques qui correspond à l'horloge chien-de-garde. Pour ce faire, exécutez les commandes suivantes :
cd /dev ./MAKEDEV watchdog |
Lors de l'utilisation de l'Outil de configuration du cluster, la fonction de chien-de-garde logiciel de chaque nouveau membre ajouté au cluster est activée par défaut.
Tout système d'un cluster peut utiliser l'horloge chien-de-garde logicielle en tant que disposition permettant d'assurer l'intégrité des données, dans la mesure où aucun composant matériel spécifique n'est nécessaire. Le logiciel de cluster télécharge automatiquement le module du noyau approprié, à savoir softdog.
Si le cluster est configuré pour l'utilisation de l'horloge chien-de-garde logicielle, le démon d'adhésion du cluster (clumembd) réinitialisera périodiquement l'intervalle de l'horloge. Dans le cas où clumembd ne réussirait pas à réinitialiser l'horloge, le membre défaillant du cluster redémarrera automatiquement.
Lorsque vous utilisez l'horloge chien-de-garde logicielle, il y a un léger risque que les opérations du système soient suspendues de telle sorte que le processus (thread) ne sera pas exécuté. Dans le cas improbable d'un tel scénario, il se peut que l'autre membre du cluster prenne le relais des services du membre du cluster apparemment suspendu. Généralement, cette opération est sûre ; néanmoins, dans le cas improbable où le membre du cluster suspendu reprendrait son activité, il pourrait y avoir corruption des données. Afin de minimiser l'incidence de cette vulnérabilité, quand l'horloge chien-de-garde logicielle est utilisée, les administrateurs devraient également configurer l'horloge chien-de-garde NMI (Non-Maskable Interrupt) ainsi qu'un interrupteur externe (si disponible).
Si vous utilisez l'horloge chien-de-garde logicielle comme précaution pour l'intégrité des données, il est également recommandé d'activer l'horloge chien-de-garde NMI (Non-Maskable Interrupt) afin de vraiment garantir l'intégrité des données. L'horloge chien-de-garde NMI est un mécanisme différent qui amorce la ré-initialisation du système lors d'un mauvais fonctionnement, comme dans le scénario d'un système 'suspendu' où les interruptions sont bloquées. Cette horloge chien-de-garde peut être utilisée en même temps que l'horloge chien-de-garde logicielle.
Contrairement à l'horloge chien-de-garde logicielle qui est réinitialisée par le démon Quorum du cluster (cluquorumd), l'horloge chien-de-garde NMI compte les interruptions du système. En temps normal, un système sain recevra des centaines d'interruptions de périphériques ou d'horloges par seconde. S'il ne reçoit aucune interruption dans un intervalle de 5 secondes, le système est suspendu et l'horloge chien-de-garde NMI expire, entraînant le redémarrage du système.
Une solution robuste d'intégrité des données peut être mise en oeuvre en alliant la surveillance de la santé du démon Quorum du cluster à l'horloge chien-de-garde logicielle et aux contrôles du statut du système à un bas niveau, effectués par l'horloge chien-de-garde NMI.
Les operations correctes du mécanisme de l'horloge chien-de-garde NMI nécessite que les membres du cluster contiennent une puce APIC sur la carte principale du système.
L'horloge chien-de-garde NMI est activée sur les systèmes qui la supportent en ajoutant nmi_watchdog=1 à la ligne de commande du noyau, comme dans l'extrait de/etc/grub.conf reproduit ci-dessous :
![]() | Remarque |
---|---|
Les configurations des chargeur de démarrage GRUB et LILO ci-dessous ne s'appliquent qu'à l'architecture x86 de Red Hat Enterprise Linux. |
# grub.conf default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title HA Test Kernel (2.4.9-10smp) root (hd0,0) # This is the kernel's command line. kernel /vmlinuz-2.4.9-10smp ro root=/dev/hda2 nmi_watchdog=1 # end of grub.conf |
Dans les systèmes utilisant LILO, ajoutez "nmi_watchdog=1" dans la section append de /etc/lilo.conf, comme dans l'exemple ci-dessous :
# lilo.conf prompt timeout=50 default=linux boot=/dev/hda map=/boot/map install=/boot/boot.b lba32 image=/boot/vmlinuz-2.4.9-10smp label=linux read-only root=/dev/hda2 append="nmi_watchdog=1" # end of lilo.conf |
Exécutez /sbin/lilo après avoir modifié /etc/lilo.conf pour que les changements prennent effet.
Afin de déterminer si le serveur supporte l'horloge chien-de-garde NMI, essayez d'abord d'ajouter "nmi_watchdog=1" à la ligne de commande du noyau comme il l'est décrit dans l'exemple précédent. Après le démarrage du système, connectez-vous en tant que super-utilisateur (root) et tapez :
cat /proc/interrupts |
La sortie devrait ressembler à l'extrait ci-dessous :
CPU0 0: 5623100 XT-PIC timer 1: 13 XT-PIC keyboard 2: 0 XT-PIC cascade 7: 0 XT-PIC usb-ohci 8: 1 XT-PIC rtc 9: 794332 XT-PIC aic7xxx, aic7xxx 10: 569498 XT-PIC eth0 12: 24 XT-PIC PS/2 Mouse 14: 0 XT-PIC ide0 NMI: 5620998 LOC: 5623358 ERR: 0 MIS: 0 |
La partie qui nous intéresse dans l'extrait ci-dessus est celle nous permettant de vérifier si l'id NMI se trouve bien du côté gauche. Si la valeur de NMI n'est pas zéro (0), alors le serveur supporte le chien-de-garde NMI.
Dans le cas où cette approche échouerait (la valeur NMI étant donc zéro), essayez de passer nmi_watchdog=2 au noyau au lieu d'ajouter nmi_watchdog=1 comme il l'a été décrit précédemment. Vérifiez à nouveau /proc/interrupts après le démarrage du système. Une valeur NMI supérieure à zéro indique que le chien-de-garde NMI été configuré correctement. En revanche, si la valeur NMI est zéro, votre système ne supporte pas l'horloge chien-de-garde NMI.
Le noyau fournit une prise en charge par le driver de multiples types d'horloges chiens-de-garde. Certaines d'entre elles sont implémentées directement sur la carte du système, alors que d'autres sont des composants matériels séparés, comme des cartes PCI. Les horloges chiens-de-garde basées sur le matériel représentent d'excellentes précautions en matière d'intégrité des données au sein du cluster, car elles fonctionnent indépendamment du processeur du système. De ce fait, elles sont parfaitement capables de redémarrer un système lorsqu'un système est suspendu.
En raison du manque d'uniformité parmi les composants de bas niveau des horloges chiens-de-garde matérielles, il est difficile de formuler des généralisations décrivant comment reconnaître si un système contient de tels composants. De nombreux composants de bas niveau des horloges chiens-de-garde ne peuvent être identifiés automatiquement de façon séparée.
Afin de configurer toute horloge chien-de-garde supportée par le noyau, il est nécessaire d'insérer une entrée correspondante dans le fichier /etc/modules.conf. Par exemple, dans le cas d'un modèle Intel-810 basé sur TCO WDT, il est nécessaire d'insérer la ligne suivante dans /etc/modules.conf :
alias wdt i810-tco |
Précédent | Sommaire | Suivant |
Utilisation du Gestionnaire de cluster de Red Hat avec Piranha | Niveau supérieur | Besoins de configuration des Bus SCSI |