Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Active/passive AWS IoT Greengrass V2 web
Dans cette configuration, vous exécutez AWS IoT Greengrass V2 un service systemd sur une instance à la fois. Pacemaker gère la réplication DRBD, le montage du système de fichiers et le AWS IoT Greengrass V2 service en tant que ressources ordonnées. En cas de défaillance de l'instance principale, Pacemaker fait passer le DRBD de l'instance de secours au statut principal, monte le système de fichiers et démarre. AWS IoT Greengrass V2
Important
Effectuez toutes les étapes Conditions préalables et configuration du cluster avant de continuer.
Avertissement
Exécutez les commandes suivantes uniquement sur l'instance principale, sauf indication contraire.
Joindre la ressource DRBD
Vérifiez que le stimulateur cardiaque est en marche avant de continuer.
sudo systemctl status pacemaker
Désactivez STONITH avant de créer des ressources. Si aucun dispositif d'escrime n'est configuré, Pacemaker refusera de démarrer les ressources si STONITH est activé (valeur par défaut).
sudo pcs property set stonith-enabled=false
Avertissement
STONITH est désactivé ici pour simplifier ce tutoriel. Dans un environnement de production, vous devez activer STONITH et configurer un agent de clôture (par exemple, fence_aws pour les instances Amazon EC2) afin d'empêcher le split brain et la corruption des données.
Démontez le périphérique DRBD sur l'instance principale et désactivez le DRBD sur toutes les instances afin que Pacemaker puisse contrôler parfaitement le cycle de vie du DRBD.
# On the primary instance only sudo umount /greengrass/v2 # On all instances sudo drbdadm down greengrass
Créez la ressource DRBD dans Pacemaker.
sudo pcs resource create drbd-greengrass \ ocf:linbit:drbd drbd_resource=greengrass \ op monitor interval=15s role=Promoted \ op monitor interval=30s role=Unpromoted
Configurez la ressource comme pouvant être promue afin qu'une seule instance soit principale à la fois. Définissez clone-max le nombre d'instances de votre cluster.
sudo pcs resource promotable drbd-greengrass \ promoted-max=1 promoted-node-max=1 clone-max=2 clone-node-max=1 notify=true
Joindre la ressource du système de fichiers
Toutes les AWS IoT Greengrass V2 ressources sont stockées sous/greengrass/v2. Cette étape indique à Pacemaker de monter le périphérique DRBD sur ce chemin sur l'instance promue. Cela garantit que le répertoire de AWS IoT Greengrass V2 données est répliqué et disponible lors du basculement.
Créez la ressource du système de fichiers dans un état désactivé. Vous l'activerez une fois que toutes les contraintes seront en place.
sudo pcs resource create fs_greengrass Filesystem \ device="/dev/drbd0" \ directory="/greengrass/v2" \ fstype="ext4" \ op start timeout=15s \ op stop timeout=15s \ --disabled
Vérifier les ressources
Vérifiez que les ressources sont créées et propagées à toutes les instances.
sudo pcs status
Fournissez et joignez le AWS IoT Greengrass V2 ressource systemd
-
Disposition AWS IoT Greengrass V2. Comme vous avez démonté le périphérique DRBD plus tôt, activez le mode maintenance et remontez-le pour le provisionnement :
# Enable maintenance mode to prevent Pacemaker from interfering sudo pcs property set maintenance-mode=true # Check which node Pacemaker promoted to Primary sudo pcs status | grep drbd-greengrass # On the Promoted node, mount the DRBD device sudo mount /dev/drbd0 /greengrass/v2Provisionnement AWS IoT Greengrass V2 sur l'instance principale à l'aide du provisionnement automatique. Suivez les instructions de la section Installer le logiciel AWSAWS IoTAWS IoT Greengrass V2 Core avec provisionnement automatique des ressources.
Assurez-vous qu' AWS IoT Greengrass V2 il est installé
/greengrass/v2dans le répertoire (le DRBD-mounted chemin). Après le provisionnement, démontez l'appareil et désactivez le mode maintenance :sudo umount /greengrass/v2 sudo pcs property set maintenance-mode=false -
Désactivez le AWS IoT Greengrass V2 service afin que Pacemaker puisse le gérer à la place de systemd.
sudo systemctl disable greengrass sudo systemctl stop greengrass -
Installez les prérequis d'exécution sur toutes les instances de secours. AWS IoT Greengrass V2 nécessite Java et d'autres dépendances que le provisionneur automatique installe en dehors du DRBD-replicated répertoire. Installez la même version du JDK sur chaque instance de secours. Consultez AWS IoT Greengrass V2 les exigences pour obtenir la liste complète des prérequis.
-
Créez un fichier d'unité systemd sur d'autres instances. Copiez le fichier d'unité AWS IoT Greengrass V2 systemd sur les instances de secours afin que Pacemaker puisse démarrer le service sur n'importe quelle instance pendant le basculement.
# On the primary instance, view the unit file location systemctl show -p FragmentPath greengrassCopiez ce fichier sur le même chemin sur chaque autre instance. Rechargez ensuite systemd sur chaque instance de secours afin qu'il reconnaisse le nouveau fichier d'unité.
# On each standby instance sudo systemctl daemon-reload -
Joignez la AWS IoT Greengrass V2 ressource.
sudo pcs resource create greengrass systemd:greengrass \ op monitor interval=10s \ op start timeout=60s \ op stop timeout=60s \ --disabled
Créer des contraintes en matière de ressources
Créez un ordre par contraintes afin que Pacemaker gère les ressources dans le bon ordre lors du basculement.
sudo pcs constraint order promote drbd-greengrass-clone then start fs_greengrass sudo pcs constraint colocation add fs_greengrass with Promoted drbd-greengrass-clone score=INFINITY sudo pcs resource group add greengrass-group fs_greengrass greengrass sudo pcs constraint location greengrass-group prefersinstance1=200
Activez les ressources maintenant que les contraintes sont en place.
sudo pcs resource enable fs_greengrass sudo pcs resource enable greengrass
Vérifiez l'état final des contraintes de ressources.
sudo pcs constraint show
La sortie doit présenter les contraintes suivantes :
-
Contraintes de localisation — Le groupe de
greengrass-groupressources préfère l'instance principale. -
Contraintes de colocation :
fs_greengrassfonctionne avec le promudrbd-greengrass-cloneetgreengrassfonctionne avecfs_greengrass. -
Contraintes d'ordre — DRBD fait la promotion avant le démarrage du système de fichiers, et le système de fichiers ne démarre avant. AWS IoT Greengrass V2
Vérifier le basculement
Simulez un basculement pour vérifier que la configuration fonctionne.
-
Vérifiez l'état initial. Vérifiez qu'il AWS IoT Greengrass V2 est en cours d'exécution sur l'instance principale.
sudo pcs status -
Simulez une défaillance de l'instance principale. Mettez le nœud principal en mode veille pour déclencher la migration des ressources.
sudo pcs node standbyprimary-node-name -
Vérifiez le basculement. Sur l'instance de secours, vérifiez l'état du cluster. Le DRBD, le système de fichiers et les AWS IoT Greengrass V2 ressources devraient maintenant être exécutés sur l'instance de secours.
sudo pcs status -
Restaurez l'instance défaillante.
sudo pcs node unstandbyprimary-node-nameLorsque le nœud est remis en ligne, il rejoint le cluster en tant qu'instance de secours. L'instance qui a été promue lors du basculement reste l'instance principale.
Résolution des problèmes
Si les ressources entrent dans un état défaillant, vous pouvez les nettoyer et les redémarrer à l'aide de la commande suivante.
sudo pcs resource cleanup