Chapitre 8. Systèmes de fichiers GFS2 dans un cluster
Utilisez les procédures administratives suivantes pour configurer les systèmes de fichiers GFS2 dans un cluster de haute disponibilité Red Hat.
8.1. Configuration d'un système de fichiers GFS2 dans un cluster Copier lienLien copié sur presse-papiers!
Vous pouvez configurer un cluster Pacemaker comprenant des systèmes de fichiers GFS2 à l'aide de la procédure suivante. Dans cet exemple, vous créez trois systèmes de fichiers GFS2 sur trois volumes logiques dans un cluster à deux nœuds.
Conditions préalables
- Installez et démarrez le logiciel de cluster sur les deux nœuds du cluster et créez un cluster de base à deux nœuds.
- Configurer la clôture pour le cluster.
Pour plus d'informations sur la création d'un cluster Pacemaker et la configuration de la clôture pour le cluster, voir Création d'un cluster Red Hat High-Availability avec Pacemaker.
Procédure
Sur les deux nœuds du cluster, activez le référentiel Resilient Storage correspondant à l'architecture de votre système. Par exemple, pour activer le référentiel Resilient Storage pour un système x86_64, vous pouvez entrer la commande
subscription-manager
suivante :subscription-manager repos --enable=rhel-9-for-x86_64-resilientstorage-rpms
# subscription-manager repos --enable=rhel-9-for-x86_64-resilientstorage-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Notez que le référentiel de stockage résilient est un surensemble du référentiel de haute disponibilité. Si vous activez le référentiel de stockage résilient, il n'est pas nécessaire d'activer également le référentiel de haute disponibilité.
Sur les deux nœuds du cluster, installez les paquets
lvm2-lockd
,gfs2-utils
, etdlm
. Pour prendre en charge ces paquets, vous devez être abonné au canal AppStream et au canal Resilient Storage.dnf install lvm2-lockd gfs2-utils dlm
# dnf install lvm2-lockd gfs2-utils dlm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Sur les deux nœuds du cluster, définissez l'option de configuration
use_lvmlockd
dans le fichier/etc/lvm/lvm.conf
suruse_lvmlockd=1
.... use_lvmlockd = 1 ...
... use_lvmlockd = 1 ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Réglez le paramètre global du stimulateur cardiaque
no-quorum-policy
surfreeze
.NotePar défaut, la valeur de
no-quorum-policy
est fixée àstop
, indiquant qu'une fois le quorum perdu, toutes les ressources sur la partition restante seront immédiatement arrêtées. En général, cette valeur par défaut est l'option la plus sûre et la plus optimale, mais contrairement à la plupart des ressources, GFS2 a besoin du quorum pour fonctionner. Lorsque le quorum est perdu, les applications utilisant les montages GFS2 et le montage GFS2 lui-même ne peuvent pas être arrêtés correctement. Toute tentative d'arrêt de ces ressources sans quorum échouera, ce qui aura pour conséquence de clôturer l'ensemble du cluster à chaque fois que le quorum est perdu.Pour remédier à cette situation, définissez
no-quorum-policy
surfreeze
lorsque GFS2 est utilisé. Cela signifie que lorsque le quorum est perdu, la partition restante ne fera rien jusqu'à ce que le quorum soit rétabli.pcs property set no-quorum-policy=freeze
[root@z1 ~]# pcs property set no-quorum-policy=freeze
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Configurer une ressource
dlm
. Il s'agit d'une dépendance nécessaire pour configurer un système de fichiers GFS2 dans un cluster. Cet exemple crée la ressourcedlm
dans le cadre d'un groupe de ressources nommélocking
.pcs resource create dlm --group locking ocf:pacemaker:controld op monitor interval=30s on-fail=fence
[root@z1 ~]# pcs resource create dlm --group locking ocf:pacemaker:controld op monitor interval=30s on-fail=fence
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Clonez le groupe de ressources
locking
afin que le groupe de ressources puisse être actif sur les deux nœuds du cluster.pcs resource clone locking interleave=true
[root@z1 ~]# pcs resource clone locking interleave=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez une ressource
lvmlockd
dans le cadre du groupe de ressourceslocking
.pcs resource create lvmlockd --group locking ocf:heartbeat:lvmlockd op monitor interval=30s on-fail=fence
[root@z1 ~]# pcs resource create lvmlockd --group locking ocf:heartbeat:lvmlockd op monitor interval=30s on-fail=fence
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez l'état du cluster pour vous assurer que le groupe de ressources
locking
a démarré sur les deux nœuds du cluster.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Sur un nœud de la grappe, créez deux groupes de volumes partagés. Un groupe de volumes contiendra deux systèmes de fichiers GFS2 et l'autre groupe de volumes contiendra un système de fichiers GFS2.
NoteSi votre groupe de volumes LVM contient un ou plusieurs volumes physiques résidant sur un stockage en bloc distant, tel qu'une cible iSCSI, Red Hat vous recommande de vous assurer que le service démarre avant le démarrage de Pacemaker. Pour plus d'informations sur la configuration de l'ordre de démarrage d'un volume physique distant utilisé par un cluster Pacemaker, reportez-vous à Configuration de l'ordre de démarrage pour les dépendances de ressources non gérées par Pacemaker.
La commande suivante crée le groupe de volumes partagés
shared_vg1
sur/dev/vdb
.vgcreate --shared shared_vg1 /dev/vdb
[root@z1 ~]# vgcreate --shared shared_vg1 /dev/vdb Physical volume "/dev/vdb" successfully created. Volume group "shared_vg1" successfully created VG shared_vg1 starting dlm lockspace Starting locking. Waiting until locks are ready...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La commande suivante crée le groupe de volumes partagés
shared_vg2
sur/dev/vdc
.vgcreate --shared shared_vg2 /dev/vdc
[root@z1 ~]# vgcreate --shared shared_vg2 /dev/vdc Physical volume "/dev/vdc" successfully created. Volume group "shared_vg2" successfully created VG shared_vg2 starting dlm lockspace Starting locking. Waiting until locks are ready...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Sur le deuxième nœud du cluster :
Ajoutez les périphériques partagés au fichier des périphériques LVM.
lvmdevices --adddev /dev/vdb lvmdevices --adddev /dev/vdc
[root@z2 ~]# lvmdevices --adddev /dev/vdb [root@z2 ~]# lvmdevices --adddev /dev/vdc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lancez le gestionnaire de verrous pour chacun des groupes de volumes partagés.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Sur un nœud de la grappe, créez les volumes logiques partagés et formatez les volumes avec un système de fichiers GFS2. Un journal est nécessaire pour chaque nœud qui monte le système de fichiers. Veillez à créer suffisamment de journaux pour chacun des nœuds de votre grappe. Le format du nom de la table de verrouillage est ClusterName:FSName, où ClusterName est le nom de la grappe pour laquelle le système de fichiers GFS2 est créé et FSName est le nom du système de fichiers, qui doit être unique pour tous les systèmes de fichiers
lock_dlm
de la grappe.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez une ressource
LVM-activate
pour chaque volume logique afin d'activer automatiquement ce volume logique sur tous les nœuds.Créez une ressource
LVM-activate
nomméesharedlv1
pour le volume logiqueshared_lv1
dans le groupe de volumesshared_vg1
. Cette commande crée également le groupe de ressourcesshared_vg1
qui inclut la ressource. Dans cet exemple, le groupe de ressources porte le même nom que le groupe de volumes partagés qui comprend le volume logique.pcs resource create sharedlv1 --group shared_vg1 ocf:heartbeat:LVM-activate lvname=shared_lv1 vgname=shared_vg1 activation_mode=shared vg_access_mode=lvmlockd
[root@z1 ~]# pcs resource create sharedlv1 --group shared_vg1 ocf:heartbeat:LVM-activate lvname=shared_lv1 vgname=shared_vg1 activation_mode=shared vg_access_mode=lvmlockd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez une ressource
LVM-activate
nomméesharedlv2
pour le volume logiqueshared_lv2
dans le groupe de volumesshared_vg1
. Cette ressource fera également partie du groupe de ressourcesshared_vg1
.pcs resource create sharedlv2 --group shared_vg1 ocf:heartbeat:LVM-activate lvname=shared_lv2 vgname=shared_vg1 activation_mode=shared vg_access_mode=lvmlockd
[root@z1 ~]# pcs resource create sharedlv2 --group shared_vg1 ocf:heartbeat:LVM-activate lvname=shared_lv2 vgname=shared_vg1 activation_mode=shared vg_access_mode=lvmlockd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez une ressource
LVM-activate
nomméesharedlv3
pour le volume logiqueshared_lv1
dans le groupe de volumesshared_vg2
. Cette commande crée également le groupe de ressourcesshared_vg2
qui inclut la ressource.pcs resource create sharedlv3 --group shared_vg2 ocf:heartbeat:LVM-activate lvname=shared_lv1 vgname=shared_vg2 activation_mode=shared vg_access_mode=lvmlockd
[root@z1 ~]# pcs resource create sharedlv3 --group shared_vg2 ocf:heartbeat:LVM-activate lvname=shared_lv1 vgname=shared_vg2 activation_mode=shared vg_access_mode=lvmlockd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Clonez les deux nouveaux groupes de ressources.
pcs resource clone shared_vg1 interleave=true pcs resource clone shared_vg2 interleave=true
[root@z1 ~]# pcs resource clone shared_vg1 interleave=true [root@z1 ~]# pcs resource clone shared_vg2 interleave=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Configurez les contraintes d'ordre pour vous assurer que le groupe de ressources
locking
qui inclut les ressourcesdlm
etlvmlockd
démarre en premier.pcs constraint order start locking-clone then shared_vg1-clone pcs constraint order start locking-clone then shared_vg2-clone
[root@z1 ~]# pcs constraint order start locking-clone then shared_vg1-clone Adding locking-clone shared_vg1-clone (kind: Mandatory) (Options: first-action=start then-action=start) [root@z1 ~]# pcs constraint order start locking-clone then shared_vg2-clone Adding locking-clone shared_vg2-clone (kind: Mandatory) (Options: first-action=start then-action=start)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Configurez les contraintes de colocation pour vous assurer que les groupes de ressources
vg1
etvg2
démarrent sur le même nœud que le groupe de ressourceslocking
.pcs constraint colocation add shared_vg1-clone with locking-clone pcs constraint colocation add shared_vg2-clone with locking-clone
[root@z1 ~]# pcs constraint colocation add shared_vg1-clone with locking-clone [root@z1 ~]# pcs constraint colocation add shared_vg2-clone with locking-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Sur les deux nœuds du cluster, vérifiez que les volumes logiques sont actifs. Il peut y avoir un délai de quelques secondes.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez une ressource de système de fichiers pour monter automatiquement chaque système de fichiers GFS2 sur tous les nœuds.
Vous ne devez pas ajouter le système de fichiers au fichier
/etc/fstab
car il sera géré comme une ressource de cluster Pacemaker. Les options de montage peuvent être spécifiées dans le cadre de la configuration de la ressource à l'aide de la commandeoptions=options
. Exécutez la commandepcs resource describe Filesystem
pour afficher les options de configuration complètes.Les commandes suivantes créent les ressources du système de fichiers. Elles ajoutent chaque ressource au groupe de ressources qui comprend la ressource de volume logique pour ce système de fichiers.
pcs resource create sharedfs1 --group shared_vg1 ocf:heartbeat:Filesystem device="/dev/shared_vg1/shared_lv1" directory="/mnt/gfs1" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence pcs resource create sharedfs2 --group shared_vg1 ocf:heartbeat:Filesystem device="/dev/shared_vg1/shared_lv2" directory="/mnt/gfs2" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence pcs resource create sharedfs3 --group shared_vg2 ocf:heartbeat:Filesystem device="/dev/shared_vg2/shared_lv1" directory="/mnt/gfs3" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence
[root@z1 ~]# pcs resource create sharedfs1 --group shared_vg1 ocf:heartbeat:Filesystem device="/dev/shared_vg1/shared_lv1" directory="/mnt/gfs1" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence [root@z1 ~]# pcs resource create sharedfs2 --group shared_vg1 ocf:heartbeat:Filesystem device="/dev/shared_vg1/shared_lv2" directory="/mnt/gfs2" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence [root@z1 ~]# pcs resource create sharedfs3 --group shared_vg2 ocf:heartbeat:Filesystem device="/dev/shared_vg2/shared_lv1" directory="/mnt/gfs3" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Verification steps
Vérifiez que les systèmes de fichiers GFS2 sont montés sur les deux nœuds du cluster.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifier l'état de la grappe.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow