Installation d'une grappe High Availability de base à deux noeuds
- CONTENU
Procédure pour la configuration d'une grappe High Availability de base à deux noeuds avec QDevice, un périphérique de traitement par blocs STONITH (SBD) sans disque et un système de surveillance (watchdog) logiciel.
- MOTIF
Cette grappe peut être utilisée à des fins de test ou comme une configuration de grappe minimale qui peut être étendue par la suite.
- EFFORT
La configuration d'une grappe High Availability de base prend environ 15 minutes, en fonction de la vitesse de votre connexion réseau.
- OBJECTIF
Démarrez rapidement et facilement avec SUSE Linux Enterprise High Availability.
1 Scénario d'utilisation #
Ce guide décrit la configuration d'une grappe High Availability minimale avec les propriétés suivantes :
Deux noeuds de grappe avec un accès SSH sans mot de passe de l'un à l'autre.
Une adresse IP virtuelle flottante, qui permet aux clients de se connecter à l'outil de gestion graphique Hawk, quel que soit le noeud sur lequel le service s'exécute.
Un périphérique de traitement par blocs STONITH (SBD) et un système de surveillance (watchdog) logiciel utilisé comme mécanisme d'isolation de noeud pour éviter les scénarios de grappes divergentes.
QDevice fonctionne avec QNetd pour participer aux décisions de quorum de la grappe. Cette configuration nécessite QDevice et QNetd afin que le SBD sans disque puisse gérer des scénarios de grappes divergentes pour la grappe à deux noeuds.
Un système de basculement des ressources d'un noeud vers l'autre en cas de défaillance de l'hôte actif (configuration active/passive).
Il s'agit d'une configuration de grappe simple avec des exigences externes minimales. Vous pouvez utiliser cette grappe à des fins de test ou comme une configuration de grappe de base que vous pouvez étendre par la suite pour un environnement de production.
2 Présentation de l'installation #
Pour installer la grappe High Availability décrite à la Section 1, « Scénario d'utilisation », vous devez effectuer les tâches suivantes :
Passez en revue la Section 3, « Configuration système requise » pour vous assurer de disposer de tout ce dont vous avez besoin.
Installez SUSE Linux Enterprise High Availability sur les noeuds de la grappe selon les instructions de la Section 4, « Activation de l'extension High Availability ».
Installez QNetd sur un serveur hors grappe selon les instructions de la Section 5, « Configuration du serveur QNetd ».
Initialisez la grappe sur le premier noeud selon les instructions de la Section 6, « Configuration du premier noeud ».
Ajoutez des noeuds à votre grappe selon les instructions de la Section 7, « Ajout du deuxième noeud ».
Connectez-vous à l'interface Web Hawk pour surveiller la grappe selon les instructions de la Section 8, « Connexion à Hawk ».
Vérifiez le statut de QDevice et QNetd selon les instructions de la Section 9, « Affichage du statut du quorum ».
Effectuez les tests de base selon les instructions de la Section 10, « Test de la grappe » pour vous assurer que la grappe fonctionne comme prévu.
Passez en revue la section Section 11, « Étapes suivantes » pour des conseils sur l'expansion de la grappe dans un environnement de production.
3 Configuration système requise #
Cette section décrit la configuration système requise pour une configuration minimale de SUSE Linux Enterprise High Availability.
3.1 Configuration matérielle requise #
- Serveurs
Trois serveurs : deux pour faire office de noeuds de grappe et un pour exécuter QNetd.
Ces serveurs peuvent être des machines virtuelles ou sans système d'exploitation. Ils ne nécessitent pas une configuration matérielle identique (mémoire, espace disque, etc.), mais doivent avoir la même architecture. Les grappes multi plate-forme ne sont pas prises en charge.
Consultez la section System Requirements sur la page https://www.suse.com/download/sle-ha/ pour plus de détails sur le matériel serveur.
- Cartes d'interface réseau (NIC)
Au moins deux cartes d'interface réseau par noeud de grappe. Cela vous permet de configurer deux canaux de communication ou plus pour la grappe, à l'aide de l'une des méthodes suivantes :
Combinez les cartes d'interface réseau en une liaison réseau (de préférence). Dans ce cas, vous devez configurer le périphérique lié sur chaque noeud avant d'initialiser la grappe.
Créez un deuxième canal de communication dans Corosync. Vous pouvez le configurer à l'aide du script d'installation de grappe. Dans ce cas, les deux cartes d'interface réseau doivent se trouver sur des sous-réseaux différents.
- STONITH (isolation de noeuds)
Pour être prises en charge, toutes les grappes SUSE Linux Enterprise High Availability doivent disposer d'au moins un périphérique d'isolation de noeuds (STONITH) pour éviter les scénarios de grappes divergentes. Il peut s'agir d'un périphérique physique (un commutateur) ou d'un SBD associé à un watchdog. Le mécanisme SBD peut être utilisé avec un stockage partagé ou en mode sans disque.
La configuration minimale décrite dans ce guide utilise un watchdog logiciel et un SBD sans disque, de sorte qu'aucun matériel supplémentaire n'est requis. Avant d'utiliser cette grappe dans un environnement de production, remplacez le watchdog logiciel par un watchdog matériel.
3.2 Configuration logicielle requise #
- Système d'exploitation
SUSE Linux Enterprise Server doit être installé et enregistré sur tous les noeuds et le serveur QNetd.
- Extension High Availability
L'extension SUSE Linux Enterprise High Availability nécessite un code d'enregistrement supplémentaire.
Cette extension peut être activée lors de l'installation de SLES ou ultérieurement sur un système en cours d'exécution. Ce guide explique comment activer et enregistrer l'extension sur un système en cours d'exécution.
3.3 Configuration réseau #
- Synchronisation horaire
Tous les systèmes doivent se synchroniser avec un serveur NTP situé en dehors de la grappe. SUSE Linux Enterprise Server utilise
chronypour NTP. Lorsque vous initialisez la grappe, vous êtes averti sichronyn'est pas en cours d'exécution.Même si les noeuds sont synchronisés, les fichiers journaux et les rapports de grappe peuvent devenir difficiles à analyser si les noeuds ont des fuseaux horaires différents configurés.
- Nom d'hôte et adresse IP
Tous les noeuds de la grappe doivent pouvoir se trouver les uns les autres ainsi que le serveur QNetd à l'aide du nom. Utilisez les méthodes suivantes pour une résolution de nom fiable :
Utilisez des adresses IP statiques.
Répertoriez tous les noeuds dans le fichier
/etc/hostsavec leur adresse IP, leur nom de domaine complet et leur nom d'hôte court.
Seule l'adresse IP principale de chaque carte d'interface réseau est prise en charge.
- SSH
Tous les noeuds de la grappe doivent pouvoir accéder les uns aux autres ainsi qu'au serveur QNetd à l'aide de SSH. Certaines opérations de grappe nécessitent également une authentification SSH sans mot de passe. Lorsque vous initialisez la grappe, le script de configuration vérifie les clés SSH existantes et les génère si elles n'existent pas.
Important : accès SSHrootsous SUSE Linux Enterprise 16Sous SUSE Linux Enterprise 16, la connexion SSH
rootavec un mot de passe est désactivée par défaut.Sur chaque noeud ainsi que sur le serveur QNetd, créez un utilisateur doté de privilèges
sudoou configurez l'authentification SSH sans mot de passe pour l'utilisateurrootavant d'initialiser la grappe.Si vous initialisez la grappe sous l'identité d'un utilisateur
sudo, certaines commandescrmshnécessitent également une autorisationsudosans mot de passe.- Réseau distinct pour QNetd
Il est recommandé de faire en sorte que les noeuds de grappe atteignent le serveur QNetd via un réseau différent de celui utilisé par Corosync. Idéalement, le serveur QNetd devrait se trouver dans un rack distinct de la grappe, ou au moins sur un bloc d'alimentation distinct et non dans le même segment de réseau que les canaux de communication Corosync.
4 Activation de l'extension High Availability #
Cette procédure explique comment installer SUSE Linux Enterprise High Availability sur un serveur SUSE Linux Enterprise Server (SLES) existant. Vous pouvez ignorer cette procédure si vous avez déjà installé l'extension et les paquets High Availability lors de l'installation de SLES avec Agama.
SUSE Linux Enterprise Server est installé et enregistré auprès du SUSE Customer Center.
Vous disposez d'un code d'enregistrement supplémentaire pour SUSE Linux Enterprise High Availability.
Effectuez cette procédure sur toutes les machines que vous avez l'intention d'utiliser comme noeuds de grappe :
Connectez-vous soit en tant qu'utilisateur
root, soit en tant qu'utilisateur disposant de privilègessudo.Vérifiez si l'extension High Availability est déjà activée :
>sudo SUSEConnect --list-extensionsVérifiez si les paquets High Availability sont déjà installés :
>zypper search ha_slesActivez l'extension SUSE Linux Enterprise High Availability :
>sudo SUSEConnect -p sle-ha/16.0/x86_64 -r HA_REGCODEInstallez les paquets High Availability :
>sudo zypper install -t pattern ha_sles
5 Configuration du serveur QNetd #
QNetd est l'arbitre qui fournit un vote au daemon QDevice s'exécutant sur les noeuds de grappe. Le serveur QNetd s'exécute en dehors de la grappe, vous ne pouvez donc pas déplacer les ressources de la grappe vers ce serveur. QNetd peut prendre en charge plusieurs grappes si chacune comporte un nom unique.
SUSE Linux Enterprise Server est installé et enregistré auprès du SUSE Customer Center.
Vous disposez d'un code d'enregistrement supplémentaire pour SUSE Linux Enterprise High Availability.
Effectuez cette procédure sur un serveur qui ne fera pas partie de la grappe :
Connectez-vous soit en tant qu'utilisateur
root, soit en tant qu'utilisateur disposant de privilègessudo.Activez l'extension SUSE Linux Enterprise High Availability :
>sudo SUSEConnect -p sle-ha/16.0/x86_64 -r HA_REGCODEInstallez le paquet corosync-qnetd :
>sudo zypper install corosync-qnetdVous n'avez pas besoin de démarrer manuellement le service
corosync-qnetd. Il démarre automatiquement lorsque vous configurez QDevice sur la grappe.
Le serveur QNetd est prêt à accepter les connexions d'un client QDevice (corosync-qdevice). La configuration ultérieure est gérée par crmsh lorsque vous connectez des clients QDevice.
Par défaut, le service corosync-qnetd exécute le daemon en tant qu'utilisateur coroqnetd dans le groupe coroqnetd. Cela évite d'exécuter le daemon en tant que root.
6 Configuration du premier noeud #
SUSE Linux Enterprise High Availability inclut des scripts de configuration pour simplifier l'installation d'une grappe. Pour configurer la grappe sur le premier noeud, utilisez le script crm cluster init.
6.1 Présentation du script crm cluster init #
La commande crm cluster init démarre un script qui définit les paramètres de base nécessaires à la communication de la grappe, ce qui permet d'obtenir une grappe à un noeud en cours d'exécution.
Le script vérifie et configure les composants suivants :
- NTP
Vérifie si
chronyest configuré pour se lancer au moment du démarrage. Si ce n'est pas le cas, un message apparaît.- SSH
Détecte ou génère les clés SSH nécessaires pour que les noeuds de la grappe puissent se connecter les uns aux autres sans mot de passe.
- Pare-feu
Ouvre les ports du pare-feu qui sont nécessaires pour les communications de grappe.
- Csync2
Configure Csync2 de manière à répliquer les fichiers de configuration sur tous les noeuds d'une grappe.
- Corosync
Configure le système de communication de la grappe.
- SBD/surveillance
Vérifie s'il existe un watchdog et demande si le SBD doit être configuré comme mécanisme d'isolation de noeud.
- Administration de grappe Hawk
Active le service Hawk et affiche l'URL de l'interface Web Hawk.
- Adresse IP virtuelle flottante
Demande s'il faut configurer une adresse IP virtuelle pour l'interface Web Hawk.
- QDevice/QNetd
Demande s'il faut configurer QDevice et QNetd pour participer aux décisions de quorum. Cela est recommandé pour les grappes comportant un nombre pair de noeuds, et en particulier pour les grappes à deux noeuds.
Les options définies par le script crm cluster init peuvent ne pas être les mêmes que les paramètres par défaut de Pacemaker. Vous pouvez vérifier les paramètres modifiés par le script dans le fichier /var/log/crmsh/crmsh.log. Toutes les options définies au cours du processus d'amorçage peuvent être modifiées ultérieurement à l'aide de crmsh.
Le script crm cluster init détecte l'environnement système (par exemple, Microsoft Azure) et ajuste certains paramètres de grappe en fonction du profil de cet environnement. Pour plus d'informations, reportez-vous au fichier /etc/crm/profiles.yml.
6.2 Initialisation de la grappe sur le premier noeud #
Configurez la grappe sur le premier noeud à l'aide du script crm cluster init. Le script vous invite à fournir des informations de base sur la grappe et configure les paramètres et services requis. Pour plus d'informations, exécutez la commande crm cluster init --help.
SUSE Linux Enterprise High Availability est installé et à jour.
Tous les noeuds comportent au moins deux interfaces réseau ou une liaison réseau, avec des adresses IP statiques répertoriées dans le fichier
/etc/hostsavec le nom de domaine complet et le nom d'hôte court de chaque noeud.Le serveur QNetd est installé. Si vous vous connectez au serveur QNetd en tant qu'utilisateur
root, l'authentification SSH sans mot de passe doit être activée.
Effectuez cette procédure sur un seul noeud :
Connectez-vous au premier noeud soit en tant qu'utilisateur
root, soit en tant qu'utilisateur disposant de privilègessudo.Lancez le script
crm cluster init:>sudo crm cluster initLe script vérifie si
chronyest en cours d'exécution, ouvre les ports de pare-feu requis, configure Csync2 et vérifie les clés SSH. Si aucune clé SSH n'est disponible, le script les génère.Configurez Corosync pour la communication de la grappe :
Entrez une adresse IP pour le premier canal de communication (
ring0). Par défaut, le script propose l'adresse de la première interface réseau disponible. Il peut s'agir d'une interface individuelle ou d'un périphérique lié. Acceptez cette adresse ou saisissez-en une autre.Si le script détecte plusieurs interfaces réseau, il vous demande si vous souhaitez configurer un deuxième canal de communication (
ring1). Si vous avez configuré le premier canal avec un périphérique lié, vous pouvez refuser en spécifiantn. Si vous devez configurer un deuxième canal, confirmez avecyet entrez l'adresse IP d'une autre interface réseau. Les deux interfaces doivent se trouver sur des sous-réseaux différents.
Le script configure les ports de pare-feu par défaut pour la communication Corosync.
Indiquez si vous souhaitez configurer le SBD comme mécanisme d'isolation de noeud :
Spécifiez
ypour confirmer que vous souhaitez utiliser le SBD.Lorsque vous êtes invité à indiquer le chemin d'accès à un périphérique de traitement par blocs, entrez
nonepour configurer le SBD sans disque.
Le script configure le SBD, y compris les paramètres de timeout appropriés. Contrairement à un SBD sur disque, un SBD sans disque ne nécessite pas de ressource de grappe STONITH.
Si aucun watchdog matériel n'est disponible, le script configure le watchdog logiciel
softdog.Configurez une adresse IP virtuelle pour l'administration de la grappe avec l'interface Web Hawk :
Spécifiez
ypour confirmer que vous souhaitez configurer une adresse IP virtuelle.Saisissez une adresse IP inutilisée à employer comme adresse IP d'administration pour Hawk.
Au lieu de vous connecter à Hawk sur un noeud de grappe individuel, vous pouvez vous connecter à l'adresse IP virtuelle.
Indiquez si vous souhaitez configurer QDevice et QNetd :
Spécifiez
ypour confirmer que vous souhaitez configurer QDevice et QNetd.Entrez l'adresse IP ou le nom d'hôte du serveur QNetd, avec ou sans nom d'utilisateur.
Si vous incluez un nom d'utilisateur non-
root, vous êtes invité à entrer le mot de passe et le script configure l'authentification SSH sans mot de passe depuis le noeud vers le serveur QNetd.Si vous omettez un nom d'utilisateur, le script utilise par défaut l'utilisateur
root, de sorte que l'authentification SSH sans mot de passe doit déjà être configurée pour l'accès du noeud au serveur QNetd.
Pour les autres champs, acceptez les valeurs par défaut :
Acceptez le port proposé (
5403) ou entrez-en un autre.Choisissez l'algorithme qui détermine la façon dont les votes sont assignés. La valeur par défaut est
ffsplit.Choisissez la méthode à utiliser lorsqu'un mécanisme de départage est nécessaire. La valeur par défaut est
lowest.Indiquez si vous souhaitez activer TLS pour la vérification du certificat client. La valeur par défaut est
on(tentative de connexion avec TLS, mais connexion sans TLS s'il n'est pas disponible).(Facultatif) Entrez des commandes heuristiques pour influencer la façon dont les votes sont déterminés. Pour ignorer cette étape, laissez le champ vide.
Le script configure QDevice et QNetd, y compris les clés SSH, les certificats de l'autorité de certification et du serveur, ainsi que le port du pare-feu. Il active également les services requis sur les noeuds de la grappe et sur le serveur QNetd.
Le script démarre les services de grappe pour mettre en ligne la grappe et activer Hawk. L'URL à utiliser pour Hawk apparaît à l'écran. Vous pouvez également vérifier le statut de la grappe à l'aide de la commande crm status.
hacluster
Le script crm cluster init crée un utilisateur et un mot de passe de grappe par défaut. Remplacez dès que possible le mot de passe par défaut par un mot de passe sécurisé :
>sudo passwd hacluster
7 Ajout du deuxième noeud #
Ajoutez des noeuds à votre grappe à l'aide du script crm cluster join. Le script nécessite uniquement un accès à un noeud de grappe existant et procède automatiquement à la configuration de base sur la machine actuelle. Pour plus d'informations, exécutez la commande crm cluster join --help.
SUSE Linux Enterprise High Availability est installé et à jour.
Une grappe existante s'exécute déjà au moins sur un noeud.
Tous les noeuds comportent au moins deux interfaces réseau ou une liaison réseau, avec des adresses IP statiques répertoriées dans le fichier
/etc/hostsavec le nom de domaine complet et le nom d'hôte court de chaque noeud.Si vous vous connectez en tant qu'utilisateur
sudo: le même utilisateur doit exister sur tous les noeuds et le serveur QNetd. Cet utilisateur doit disposer d'une autorisationsudosans mot de passe.Si vous vous connectez en tant qu'utilisateur
root: l'authentification SSH sans mot de passe doit être configurée sur tous les noeuds et sur le serveur QNetd.
Effectuez cette procédure sur chaque noeud supplémentaire :
Connectez-vous à ce noeud sous l'identité du même utilisateur avec lequel vous avez configuré le premier noeud.
Lancez le script
crm cluster join:Si vous configurez le premier noeud en tant qu'utilisateur
root, vous pouvez lancer le script sans paramètres supplémentaires :#crm cluster joinSi vous configurez le premier noeud en tant qu'utilisateur
sudo, vous devez spécifier cet utilisateur avec l'option-c:>sudo crm cluster join -c USER@NODE1
Le script vérifie si
chronyest en cours d'exécution, ouvre les ports de pare-feu requis et configure Csync2.Si vous n'avez pas encore spécifié le premier noeud avec l'option
-c, vous êtes invité à saisir son adresse IP ou son nom d'hôte.Si vous n'avez pas encore configuré l'authentification SSH sans mot de passe entre les noeuds, vous êtes invité à saisir le mot de passe du premier noeud.
Configurez Corosync pour la communication de la grappe :
Le script propose une adresse IP pour
ring0. Cette adresse IP doit se trouver sur le même sous-réseau que l'adresse IP utilisée pourring0sur le premier noeud. Si ce n'est pas le cas, entrez l'adresse IP correcte.Si la grappe dispose de deux canaux de communication Corosync configurés, le script vous invite à entrer une adresse IP pour
ring1. Cette adresse IP doit se trouver sur le même sous-réseau que l'adresse IP utilisée pourring1sur le premier noeud.
Le script copie la configuration de grappe à partir du premier noeud, ajuste les paramètres de timeout pour prendre en compte le nouveau noeud et met le nouveau noeud en ligne.
Vous pouvez vérifier le statut de la grappe à l'aide de la commande crm status.
hacluster
Le script crm cluster join crée un utilisateur et un mot de passe de grappe par défaut. Sur chaque noeud, remplacez dès que possible le mot de passe par défaut par un mot de passe sécurisé :
>sudo passwd hacluster
8 Connexion à Hawk #
Hawk vous permet de surveiller et d'administrer une grappe High Availability à l'aide d'un navigateur Web graphique. Vous pouvez également configurer une adresse IP virtuelle qui permet aux clients de se connecter à Hawk quel que soit le noeud sur lequel il s'exécute.
La machine cliente doit pouvoir se connecter aux noeuds de la grappe.
La machine cliente doit disposer d'un navigateur Web graphique avec JavaScript et les cookies activés.
Vous pouvez effectuer cette procédure sur n'importe quelle machine qui peut se connecter aux noeuds de la grappe :
Ouvrez un navigateur Web et entrez l'URL suivante :
https://HAWKSERVER:7630/
Remplacez HAWKSERVER par l'adresse IP ou le nom d'hôte d'un noeud de la grappe, ou l'adresse IP virtuelle de Hawk si elle est configurée.
Note : avertissement de certificatSi un avertissement de certificat s'affiche la première fois que vous accédez à l'URL, un certificat auto-signé est utilisé. Pour vérifier le certificat, demandez à votre opérateur de grappe de vous fournir les informations relatives à ce certificat. Pour continuer, vous pouvez ajouter une exception dans le navigateur afin d'ignorer l'avertissement.
Sur l'écran de connexion Hawk, entrez le et le de l'utilisateur
hacluster.Cliquez sur . L'interface Web Hawk affiche l'écran par défaut.
9 Affichage du statut du quorum #
Vous pouvez vérifier le statut de QDevice et QNetd à partir de n'importe quel noeud de la grappe. Ces exemples montrent une grappe avec deux noeuds, alice et bob.
>sudo crm corosync status quorum1 alice member 2 bob member Quorum information ------------------ Date: [...] Quorum provider: corosync_votequorum Nodes: 2 Node ID: 2 Ring ID: 1.e Quorate: Yes Votequorum information ---------------------- Expected votes: 3 Highest expected: 3 Total votes: 3 Quorum: 2 Flags: Quorate Qdevice Membership information ---------------------- Nodeid Votes Qdevice Name 1 1 A,V,NMW alice 2 1 A,V,NMW bob (local) 0 1 Qdevice
La section Membership information affiche les codes de statut suivants :
A(alivef) ouNA(not alive)Affiche le statut de connectivité entre QDevice et Corosync.
V(vote) ouNV(non vote)Indique si le noeud dispose d'un vote.
Vsignifie que les deux noeuds peuvent communiquer entre eux. Dans un scénario de grappes divergentes, un noeud serait défini surVet l'autre noeud serait défini surNV.MW(master wins) ouNMW(not master wins)Détermine si l'indicateur master_wins est défini. Par défaut, l'indicateur n'est pas défini de sorte que le statut est
NMW.NR(not registered)Indique que la grappe n'utilise pas de périphérique de quorum.
>sudo crm corosync status qnetd1 alice member 2 bob member Cluster "hacluster": Algorithm: Fifty-Fifty split (KAP Tie-breaker) Tie-breaker: Node with lowest node ID Node ID 1: Client address: ::ffff:192.168.122.185:45676 HB interval: 8000ms Configured node list: 1, 2 Ring ID: 1.e Membership node list: 1, 2 Heuristics: Undefined (membership: Undefined, regular: Undefined) TLS active: Yes (client certificate verified) Vote: ACK (ACK) Node ID 2: Client address: ::ffff:192.168.100.168:55034 HB interval: 8000ms Configured node list: 1, 2 Ring ID: 1.e Membership node list: 1, 2 Heuristics: Undefined (membership: Undefined, regular: Undefined) TLS active: Yes (client certificate verified) Vote: No change (ACK)
10 Test de la grappe #
Les tests suivants peuvent vous aider à identifier les problèmes de base liés à la configuration de la grappe. Cependant, des tests réalistes impliquent des cas d'utilisation et des scénarios spécifiques. Avant d'utiliser la grappe dans un environnement de production, testez-la scrupuleusement en fonction de l'utilisation que vous comptez en faire.
10.1 Test du basculement des ressources #
Vérifiez si la grappe déplace les ressources vers un autre noeud si le noeud actuel est défini sur standby. Cette procédure utilise des exemples de noeuds appelés alice et bob, et une ressource IP virtuelle appelée admin-ip avec l'exemple d'adresse IP 192.168.1.10.
Ouvrez deux terminaux.
Sur le premier terminal, envoyez une requête ping à l'adresse IP virtuelle :
>ping 192.168.1.10Sur le deuxième terminal, connectez-vous à l'un des noeuds de la grappe.
Vérifiez sur quel noeud l'adresse IP virtuelle s'exécute :
>sudo crm status[..] Node List: * Online: [ alice bob ] Full List of Resources: * admin-ip (ocf:heartbeat:IPaddr2): Started aliceMettez
aliceen mode standby (veille) :>sudo crm node standby aliceVérifiez à nouveau le statut de la grappe. La ressource
admin-ipdevrait avoir migré versbob:>sudo crm status[...] Node List: * Node alice: standby * Online: [ bob ] Full List of Resources: * admin-ip (ocf:heartbeat:IPaddr2): Started bobSur le premier terminal, vous devriez voir un flux continu de requêtes ping envoyées à l'adresse IP virtuelle pendant la migration. Cela montre que la configuration de grappe et l'adresse IP flottante fonctionnent correctement.
Annulez la commande
pingen appuyant sur Ctrl–C.Sur le deuxième terminal, remettez
aliceen ligne :>sudo crm node online alice
10.2 Test des échecs de grappe #
La commande crm cluster crash_test simule des échecs de grappe et signale les résultats.
La commande prend en charge les contrôles suivants :
-
--split-brain-iptables Simule un scénario de grappes divergentes en bloquant le port Corosync et vérifie si un noeud peut être isolé comme prévu. Vous devez installer iptables avant de pouvoir exécuter ce test.
--kill-sbd/--kill-corosync/--kill-pacemakerdSupprime les daemons pour le SBD, Corosync ou Pacemaker. Après avoir exécuté l'un de ces tests, vous pouvez trouver un rapport dans le répertoire
/var/lib/crmsh/crash_test/. Le rapport comprend une description de cas de test, une consignation des opérations et une explication des résultats possibles.-
--fence-node NODE Ce test isole le noeud spécifique transmis par la ligne de commandes.
Pour plus d'informations, exécutez la commande crm cluster crash_test --help.
L'exemple suivant utilise des noeuds appelés alice et bob, et teste l'isolation de bob. Pour surveiller le changement de statut de bob au cours du test, vous pouvez vous connecter à Hawk et accéder à › .
>sudo crm status[...] Node List: * Online: [ alice bob ] Active Resources: * admin-ip (ocf:heartbeat:IPaddr2): Started alice>sudo crm cluster crash_test --fence-node bob============================================== Testcase: Fence node bob Fence action: reboot Fence timeout: 95 !!! WARNING WARNING WARNING !!! THIS CASE MAY LEAD TO NODE BE FENCED. TYPE Yes TO CONTINUE, OTHER INPUTS WILL CANCEL THIS CASE [Yes/No](No):YesINFO: Trying to fence node "bob" INFO: Waiting 71s for node "bob" reboot... INFO: Node "bob" will be fenced by "alice"! INFO: Node "bob" was successfully fenced by "alice"
11 Étapes suivantes #
Ce guide décrit une grappe High Availability de base qui peut être utilisée à des fins de test. Pour étendre cette grappe afin de l'utiliser dans des environnements de production, il est recommandé d'effectuer des étapes supplémentaires :
- Ajout de noeuds supplémentaires
Ajoutez des noeuds à la grappe à l'aide du script
crm cluster join.- Activation d'une surveillance (watchdog) matérielle
Avant d'utiliser la grappe dans un environnement de production, remplacez
softdogpar un watchdog matériel.- Ajout de périphériques STONITH supplémentaires
Pour les charges de travail critiques, nous vous recommandons vivement de disposer de deux ou trois périphériques STONITH utilisant des périphériques STONITH physiques ou un SBD sur disque.
12 Mentions légales #
Copyright © 2006–2025 SUSE LLC et contributeurs. Tous droits réservés.
Il est autorisé de copier, distribuer et/ou modifier ce document conformément aux conditions de la licence « GNU Free Documentation License » version 1.2 ou (à votre discrétion) 1.3, avec la section permanente qu'est cette mention de copyright et la licence. Une copie de la version de licence 1.2 est incluse dans la section intitulée « GNU Free Documentation License ».
Pour les marques commerciales SUSE, consultez le site Web https://www.suse.com/company/legal/. Toutes les autres marques de fabricants tiers sont la propriété de leur détenteur respectif. Les symboles de marque (®, ™, etc.) désignent des marques de SUSE et de ses sociétés affiliées. Des astérisques (*) désignent des marques commerciales de fabricants tiers.
Toutes les informations de cet ouvrage ont été regroupées avec le plus grand soin. Cela ne garantit cependant pas sa complète exactitude. Ni SUSE LLC, ni les sociétés affiliées, ni les auteurs, ni les traducteurs ne peuvent être tenus responsables des erreurs possibles ou des conséquences qu'elles peuvent entraîner.
