GNU/Linux >> Tutoriels Linux >  >> Cent OS

Configurer le clustering de serveurs NFS avec Pacemaker sur CentOS 7/RHEL 7

NFS (Network File System) est le serveur le plus répandu pour fournir des fichiers sur le réseau. Avec le serveur NFS, nous pouvons partager des dossiers sur le réseau et les clients ou systèmes autorisés peuvent accéder à ces dossiers partagés et les utiliser dans leurs applications. En ce qui concerne l'environnement de production, nous devons configurer le serveur nfs en haute disponibilité pour exclure le point de défaillance unique.

Dans cet article, nous verrons comment configurer le clustering haute disponibilité du serveur nfs (actif-passif) avec stimulateur cardiaque sur CentOS 7 ou RHEL 7

Voici les détails de mon laboratoire que j'ai utilisés pour cet article,

  • Serveur NFS 1 (nfs1.example.com) - 192.168.1.40 - CentOS 7 minimal / RHEL 7
  • Serveur NFS 2 (nfs2.example.com) – 192.168.1.50 – CentOS 7/RHEL 7 minimal
  • VIP du serveur NFS – 192.168.1.51
  • Pare-feu activé
  • SELinux activé

Reportez-vous aux étapes ci-dessous pour configurer le clustering actif-passif du serveur NFS sur CentOS 7 / RHEL 7

Étape 1) Définir le nom d'hôte sur les deux serveurs nfs et mettre à jour le fichier /etc/hosts

Connectez-vous aux deux serveurs nfs et définissez le nom d'hôte sur "nfs1.example.com" et "nfs2.example.com" respectivement à l'aide de la commande hostnamectl, l'exemple est illustré ci-dessous

~]# hostnamectl set-hostname "nfs1.example.com"~]# exec bash

Mettez à jour le fichier /etc/hosts sur les deux serveurs nfs,

192.168.1.40  nfs1.example.com192.168.1.50  nfs2.example.com

Étape 2) Mettez à jour les deux serveurs nfs et installez les packages pcs

Utilisez la commande "yum update" ci-dessous pour appliquer toutes les mises à jour sur les deux serveurs nfs, puis redémarrez une fois.

~]# yum mise à jour &&redémarrage

Installez les packages pcs et fence-agent sur les deux serveurs nfs,

[[email protected] ~]# yum install -y pcs fence-agents-all[[email protected] ~]# yum install -y pcs fence-agents-all

Une fois les paquets des agents pcs et fencing installés, autorisez les ports liés aux pcs dans le pare-feu du système d'exploitation à partir des deux serveurs nfs,

~]# firewall-cmd --permanent --add-service=high-availability~]# firewall-cmd --reload

Maintenant, démarrez et activez le service pcsd sur les deux nœuds nfs à l'aide des commandes ci-dessous,

~]# systemctl enable pcsd~]# systemctl start pcsd

Étape 3) Authentifier les nœuds nfs et former un cluster

Définissez le mot de passe sur l'utilisateur hacluster, le service pcsd utilisera cet utilisateur pour authentifier les nœuds du cluster, donc définissons d'abord le mot de passe sur l'utilisateur hacluster sur les deux nœuds,

[[email protected] ~]# echo "enter_password" | passwd --stdin hacluster[[email protected] ~]# echo "enter_password" | passwd --stdinhacluster

Authentifiez maintenant les nœuds du cluster. Dans notre cas, nfs2.example.com sera authentifié sur nfs1.example.com, exécutez la commande de cluster pcs ci-dessous sur "nfs1"

[[email protected] ~]# pcs cluster auth nfs1.example.com nfs2.example.comUsername :haclusterPassword:nfs1.example.com :Authorizednfs2.example.com :Authorized[[email protected] ~]# 

Il est maintenant temps de former un cluster avec le nom "nfs_cluster ” et ajoutez-y les deux nœuds nfs. Exécutez ci-dessous "configuration du cluster pcs ” commande depuis n'importe quel nœud nfs,

[[email protected] ~]# configuration du cluster pcs --start --name nfs_cluster nfs1.example.com \ nfs2.example.com

Activez le service de cluster pcs sur les deux nœuds afin que les nœuds rejoignent automatiquement le cluster après le redémarrage. Exécutez la commande ci-dessous à partir de l'un des nœuds nfs,

[[email protected] ~]# pcs cluster enable --allnfs1.example.com :cluster activénfs2.example.com :cluster activé[[email protected] ~]#

Étape 4) Définir le périphérique Fencing pour chaque nœud de cluster

La clôture est la partie la plus importante d'un cluster, si l'un des nœuds tombe en panne, le dispositif de clôture supprimera ce nœud du cluster. Dans Pacemaker, l'escrime est définie à l'aide de la ressource Stonith (Shoot The Other Node In The Head).

Dans ce didacticiel, nous utilisons un disque partagé de taille 1 Go (/dev/sdc) comme périphérique de clôture. Découvrons d'abord l'id du disque /dev/sdc

[[email protected] ~]# ls -l /dev/disk/by-id/

Notez l'identifiant du disque /dev/sdc comme nous le ferons dans "pcs stonith ” commande.

Exécutez maintenant la commande "pcs stonith" ci-dessous à partir de l'un des nœuds pour créer un périphérique de clôture (disk_fencing)

[[email protected] ~]# pcs stonith create disk_fencing fence_scsi \ pcmk_host_list="nfs1.example.com nfs2.example.com" \ pcmk_monitor_action="metadata" pcmk_reboot_action="off" \ devices="/dev/disk /by-id/wwn-0x6001405e49919dad5824dc2af5fb3ca0" \ meta provide="unfencing"[[email protected] ~]#

Vérifiez l'état de stonith en utilisant la commande ci-dessous,

[[email protected] ~]# pcs stonith show disk_fencing   (stonith:fence_scsi) :   nfs1.example.com démarré[[email protected] ~]#

Exécutez "statut pcs ” commande pour afficher l'état du cluster

[[email protected] ~]# pcs statusCluster name :nfs_clusterStack :corosyncCurrent DC :nfs2.example.com (version 1.1.16-12.el7_4.7-94ff4df) \ - partition avec quorumDernière mise à jour :dim mar 4 03 :18:47 2018Dernière modification :dim mar 4 03:16:09 2018 par root via cibadmin sur nfs1.example.com2 nœuds configurés1 ressource configuréeEn ligne :[ nfs1.example.com nfs2.example.com ]Liste complète des ressources : disk_fencing   ( stonith:fence_scsi):   Statut nfs1.example.comDaemon démarré :  corosync :actif/activé  pacemaker :actif/activé  pcsd :actif/activé[[email protected] ~]#

Remarque : Si vos nœuds de cluster sont les machines virtuelles et hébergées sur VMware, vous pouvez utiliser « fence_vmware_soap ” agent d'escrime. Pour configurer « fence_vmware_soap » en tant qu'agent de clôture, reportez-vous aux étapes logiques ci-dessous :

1) Vérifiez si vos nœuds de cluster peuvent accéder à l'hyperviseur VMware ou au Vcenter

# fence_vmware_soap -a  -l  -p  \ --ssl -z -v -o list |egrep "(nfs1.example.com|nfs2.example.com)"ou# fence_vmware_soap -a  -l  -p  \ --ssl -z -o list |egrep "(nfs1.example.com|nfs2.example.com)"

si vous pouvez voir les noms de VM dans la sortie, tout va bien, sinon vous devez vérifier pourquoi les nœuds de cluster ne peuvent pas établir de connexion esxi ou vcenter.

2) Définissez le dispositif de clôture à l'aide de la commande ci-dessous,

# pcs stonith create vmware_fence fence_vmware_soap \ pcmk_host_map="node1:nfs1.example.com;node2:nfs2.example.com" \ ipaddr= ssl=1 login= passwd= 

3) vérifiez l'état de stonith en utilisant la commande ci-dessous,

# pcs stonith show

Étape 5) Installer nfs et formater le disque partagé nfs

Installez le package "nfs-utils" sur les deux serveurs nfs

[[email protected] ~]# yum install nfs-utils -y[[email protected] ~]# yum install nfs-utils -y

Arrêtez et désactivez le "nfs-lock" local ” service sur les deux nœuds car ce service sera contrôlé par stimulateur cardiaque

[[email protected] ~]# systemctl stop nfs-lock &&  systemctl disable nfs-lock[[email protected] ~]# systemctl stop nfs-lock &&  systemctl disable nfs-lock

Supposons que nous ayons un disque partagé "/dev/sdb" de taille 10 Go entre deux nœuds de cluster, créez une partition dessus et formatez-le en tant que système de fichiers xfs

[[email protected] ~]# fdisk /dev/sdb

Exécutez la commande partprobe sur les deux nœuds et redémarrez une fois.

~]# partprobe

Formatez maintenant "/dev/sdb1" en tant que système de fichiers xfs

 [[e-mail protégé] ~] # mkfs.xfs / dev / sdb1meta-data =/ dev / sdb1 isize =256 AgCount =4, Agsize =655296 blks =sectsz =512 att =2, projid32bit =1 =CRC =0 finobt =0data =bsize =4096 blocs =2621184, iMaxPct =25 =sunit =0 swidth =0 blksnaming =version 2 bsize =4096 ASCII-CI =0 FTYPE =0LOG =LOG interne BSize =4096 blocs =2560, version =2 =                     sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0[[email protected] ~]#

Créez un point de montage pour ce système de fichiers sur les deux nœuds,

[[email protected] ~]# mkdir /nfsshare[[email protected] ~]# mkdir /nfsshare

Étape 6) Configurer toutes les ressources NFS requises sur les nœuds de cluster

Les ressources NFS requises sont les suivantes :

  • Ressource du système de fichiers
  • ressource nfsserver
  • ressource exportfs
  • Ressource d'adresse IP flottante IPaddr2

Pour la ressource Filesystem, nous avons besoin d'un stockage partagé entre les nœuds du cluster, nous avons déjà créé une partition sur le disque partagé (/dev/sdb1) dans les étapes ci-dessus, nous allons donc utiliser cette partition. Utilisez ci-dessous "création de ressources pcs ” commande pour définir la ressource du système de fichiers à partir de n'importe quel nœud,

[[email protected] ~]# ressource pcs créer nfsshare Filesystem device=/dev/sdb1 \ directory=/nfsshare fstype=xfs --group nfsgrp[[email protected] ~]#

Dans la commande ci-dessus, nous avons défini le système de fichiers NFS comme "nfsshare ” sous le groupe “nfsgrp “. Désormais, toutes les ressources nfs seront créées sous le groupe nfsgrp.

Créer une ressource nfsserver avec le nom 'nfsd ‘ en utilisant la commande ci-dessous,

[[email protected] ~]# ressource pcs créer nfsd nfsserver \ nfs_shared_infodir=/nfsshare/nfsinfo --group nfsgrp[[email protected] ~]#

Créer des exportfs ressource avec le nom "nfsroot

[[email protected] ~]#  ressource pcs créer nfsroot exportfs clientspec="192.168.1.0/24" options=rw,sync,no_root_squash directory=/nfsshare fsid=0 --group nfsgrp[[email protected] ~] #

Dans la commande ci-dessus, clientspec indique les clients autorisés qui peuvent accéder au nfsshare

Créer NFS IPaddr2 ressource en utilisant la commande ci-dessous,

[[email protected] ~]# ressource pcs créer nfsip IPaddr2 ip=192.168.1.51 \ cidr_netmask=24 --group nfsgrp[[email protected] ~]#

Maintenant, affichez et vérifiez le cluster à l'aide de pcs status

[[email protected] ~]état de # PC

Une fois que vous avez terminé avec les ressources NFS, autorisez les ports du serveur nfs dans le pare-feu du système d'exploitation à partir des deux serveurs nfs,

~]# firewall-cmd --permanent --add-service=nfs~]#  firewall-cmd --permanent --add-service=mountd~]#  firewall-cmd --permanent --add-service=rpc-bind~]#  firewall-cmd --reload

Étape 7) Essayez de monter le partage NFS sur les clients

Essayez maintenant de monter le partage nfs à l'aide de la commande mount, l'exemple est illustré ci-dessous

[[email protected] ~]# mkdir /mnt/nfsshare[[email protected] ~]# mount 192.168.1.51:/ /mnt/nfsshare/[[email protected] ~]# df -Th /mnt/nfsshareFilesystem Type  Taille  Utilisé Disponible Utilisation % Monté sur192.168.1.51 :/ nfs4   10G   32M   10G   1 % /mnt/nfsshare[[email protected] ~]#[[email protected] ~]# cd /mnt/nfsshare/[[email protected ] nfsshare]# lsnfsinfo[[email protected] nfsshare]#

Pour les tests de cluster, arrêtez le service de cluster sur l'un des nœuds et voyez si nfsshare est accessible ou non. Supposons que je vais arrêter le service de cluster sur "nfs1.example.com"

[[email protected] ~]# pcs cluster stopStopping Cluster (pacemaker)...Stopping Cluster (corosync)...[[email protected] ~]#

Maintenant, allez sur la machine cliente et voyez si nfsshare est toujours accessible. Dans mon cas, je suis toujours en mesure d'y accéder et de créer des fichiers dessus.

[[email protected] nfsshare]# test tactile[[email protected] nfsshare]#

Activez maintenant le service de cluster sur "nfs1.example.com" en utilisant la commande ci-dessous,

[[email protected] ~]# pcs cluster startStarting Cluster...[[email protected] ~]#

C'est tout de cet article, il confirme que nous avons configuré avec succès le clustering actif-passif NFS à l'aide d'un stimulateur cardiaque. Veuillez partager vos commentaires et commentaires dans la section des commentaires ci-dessous.


Cent OS
  1. Configurer DNS sur CentOS 5 / RHEL 5 avec chroot

  2. Comment configurer le serveur DNS sur CentOS 5 / RHEL 5

  3. Installer et configurer le serveur FTP sur CentOS 7 / RHEL 7 - (vsftpfd)

  4. Comment configurer le serveur NFS sur CentOS 7 / RHEL 7

  5. CentOS / RHEL 7 :Configuration d'un serveur NFS et d'un client NFS

Comment configurer le serveur DNS (BIND) sur CentOS 7 / RHEL 7

Configurer OpenLDAP avec SSL sur CentOS 7 / RHEL 7

Configurer le serveur FreeIPA sur CentOS 7 / RHEL 7 - Un système de gestion des identités

Comment configurer le serveur DNS (BIND) sur CentOS 8 / RHEL 8

Comment configurer le serveur VNC sur CentOS/RHEL 6

Comment installer et configurer VNC Server sur CentOS/RHEL 8