GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Konfigurieren Sie das NFS-Server-Clustering mit Pacemaker unter CentOS 7 / RHEL 7

NFS (Network File System) ist der am weitesten verbreitete Server, um Dateien über das Netzwerk bereitzustellen. Mit dem NFS-Server können wir Ordner über das Netzwerk freigeben und zugelassene Clients oder Systeme können auf diese freigegebenen Ordner zugreifen und sie in ihren Anwendungen verwenden. Wenn es um die Produktionsumgebung geht, sollten wir den nfs-Server mit hoher Verfügbarkeit konfigurieren, um den Single Point of Failure auszuschließen.

In diesem Artikel besprechen wir, wie wir nfs-Server-Clustering mit hoher Verfügbarkeit (aktiv-passiv) mit Pacemaker unter CentOS 7 oder RHEL 7 konfigurieren können

Im Folgenden finden Sie meine Labordetails, die ich für diesen Artikel verwendet habe,

  • NFS-Server 1 (nfs1.example.com) – 192.168.1.40 – Minimal CentOS 7 / RHEL 7
  • NFS-Server 2 (nfs2.example.com) – 192.168.1.50 – Minimal CentOS 7 / RHEL 7
  • NFS-Server-VIP – 192.168.1.51
  • Firewall aktiviert
  • SELinux aktiviert

Beziehen Sie sich auf die folgenden Schritte, um NFS-Server-Aktiv-Passiv-Clustering auf CentOS 7 / RHEL 7 zu konfigurieren

Schritt 1) ​​Legen Sie den Hostnamen auf beiden NFS-Servern fest und aktualisieren Sie die Datei /etc/hosts

Melden Sie sich bei beiden nfs-Servern an und legen Sie den Hostnamen als „nfs1.example.com“ bzw. „nfs2.example.com“ fest, indem Sie den Befehl hostnamectl verwenden. Das Beispiel ist unten gezeigt

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

Aktualisieren Sie die /etc/hosts-Datei auf beiden NFS-Servern,

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

Schritt 2) Aktualisieren Sie beide NFS-Server und installieren Sie pcs-Pakete

Verwenden Sie den folgenden Befehl „yum update“, um alle Updates auf beiden NFS-Servern anzuwenden, und starten Sie dann einmal neu.

~]# yum aktualisieren &&neu starten

Installieren Sie pcs- und fence-agent-Pakete auf beiden NFS-Servern,

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

Sobald die Pakete für PCs und Fencing-Agenten installiert sind, lassen Sie PC-bezogene Ports in der Betriebssystem-Firewall von beiden NFS-Servern zu,

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

Starten und aktivieren Sie nun den pcsd-Dienst auf beiden NFS-Knoten mit den folgenden Befehlen,

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

Schritt 3) NFS-Knoten authentifizieren und einen Cluster bilden

Setzen Sie das Passwort auf hacluster user, der pcsd-Dienst verwendet diesen Benutzer, um die Cluster-Knoten zu authentifizieren, also setzen wir zuerst das Passwort auf beiden Knoten auf hacluster user,

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

Authentifizieren Sie nun die Cluster-Knoten. In unserem Fall wird nfs2.example.com auf nfs1.example.com authentifiziert. Führen Sie den folgenden pcs cluster-Befehl auf „nfs1“

aus
[[E-Mail geschützt] ~]# Stk. vor> 

Jetzt ist es an der Zeit, einen Cluster mit dem Namen „nfs_cluster“ zu bilden “ und fügen Sie beide nfs-Knoten hinzu. Führen Sie unten „pcs cluster setup“ aus ”-Befehl von einem beliebigen NFS-Knoten,

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

Aktivieren Sie den pcs-Cluster-Dienst auf beiden Knoten, damit die Knoten nach dem Neustart automatisch dem Cluster beitreten. Führen Sie den folgenden Befehl von einem der NFS-Knoten aus,

[[email protected] ~]# pcs cluster enable --allnfs1.example.com:Cluster aktiviertnfs2.example.com:Cluster aktiviert[[email protected] ~]#

Schritt 4) Fencing-Gerät für jeden Cluster-Knoten definieren

Fencing ist der wichtigste Teil eines Clusters. Wenn einer der Knoten fehlerhaft wird, entfernt das Fencing-Gerät diesen Knoten aus dem Cluster. In Pacemaker wird das Fechten mit der Ressource Stonith (Shoot The Other Node In The Head) definiert.

In diesem Tutorial verwenden wir eine gemeinsam genutzte Festplatte der Größe 1 GB (/dev/sdc) als Fencing-Gerät. Lassen Sie uns zuerst die ID der /dev/sdc-Festplatte herausfinden

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

Notieren Sie sich die ID der Festplatte /dev/sdc, wie wir es in „pcs stonith“ tun werden ”-Befehl.

Führen Sie nun den folgenden Befehl „pcs stonith“ von einem der Knoten aus, um ein Fencing-Gerät (disk_fencing) zu erstellen.

[[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 provided="unfencing"[[email protected] ~]#

Überprüfen Sie den Status von stonith mit dem folgenden Befehl,

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

Führen Sie „pcs status“ aus ” Befehl zum Anzeigen des Status des Clusters

[[email protected] ~]# pcs statusCluster name:nfs_clusterStack:corosyncAktueller DC:nfs2.example.com (Version 1.1.16-12.el7_4.7-94ff4df) \ - Partition mit QuorumLetzte Aktualisierung:Sonntag, 4. März 03 :18:47 2018Letzte Änderung:Sonntag 4. März 03:16:09 2018 durch root über cibadmin auf nfs1.example.com2 Knoten konfiguriert1 Ressource konfiguriertOnline:[ nfs1.example.com nfs2.example.com ]Vollständige Liste der Ressourcen: disk_fencing   ( stonith:fence_scsi):   Gestartet nfs1.example.comDaemon Status:  corosync:active/enabled  pacemaker:active/enabled  pcsd:active/enabled[[email protected] ~]#

Hinweis: Wenn Ihre Cluster-Knoten die virtuellen Maschinen sind und auf VMware gehostet werden, können Sie „fence_vmware_soap verwenden „Fechtagent. Um „fence_vmware_soap“ als Fencing-Agent zu konfigurieren, folgen Sie den folgenden logischen Schritten:

1) Überprüfen Sie, ob Ihre Cluster-Knoten den VMware-Hypervisor oder Vcenter erreichen können

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

Wenn Sie die VM-Namen in der Ausgabe sehen können, ist dies in Ordnung. Andernfalls müssen Sie prüfen, warum Cluster-Knoten keine Verbindung zu Esxi oder VCenter herstellen können.

2) Definieren Sie das Fencing-Gerät mit dem folgenden Befehl,

# 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) Überprüfen Sie den stonith-Status mit dem folgenden Befehl,

# Stk. stonith Show

Schritt 5) Installieren Sie nfs und formatieren Sie die gemeinsam genutzte nfs-Festplatte

Installieren Sie das Paket „nfs-utils“ auf beiden NFS-Servern

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

Beenden und deaktivieren Sie die lokale „nfs-Sperre ” Dienst auf beiden Knoten, da dieser Dienst vom Schrittmacher gesteuert wird

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

Nehmen wir an, wir haben eine gemeinsam genutzte Festplatte „/dev/sdb“ mit einer Größe von 10 GB zwischen zwei Clusterknoten. Erstellen Sie darauf eine Partition und formatieren Sie sie als xfs-Dateisystem

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

Führen Sie den partprobe-Befehl auf beiden Knoten aus und starten Sie einmal neu.

~]# partprobe

Formatieren Sie nun „/dev/sdb1“ als xfs-Dateisystem

 [[E-Mail geschützt] ~] # MKFS.xfs / dev / sdb1meta-data =/ dev / sdb1 isize =256 agcount =4, agsize =655296 BLKS =sectsz =512 attr =2, projid32bit =1 =crc =0 FINOBT =0DATA =BSIZE =4096 Blöcke =2621184, IMAXPCT =25 =SUNIT =0 SWIDTH =0 BLKSNAMING =Version 2 BSIZE =4096 ASCII-CI =0 FTYPE =0LOG =Internes Protokoll Bsiense =4096 Blöcke =2560, Version =2 =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0[[email protected] ~]#

Erstellen Sie einen Einhängepunkt für dieses Dateisystem auf beiden Knoten,

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

Schritt 6) Konfigurieren Sie alle erforderlichen NFS-Ressourcen auf Clusterknoten

Im Folgenden sind die erforderlichen NFS-Ressourcen aufgeführt:

  • Dateisystemressource
  • nfsserver-Ressource
  • Exportfs-Ressource
  • IPaddr2 Floating-IP-Adressressource

Für die Dateisystem-Ressource benötigen wir einen gemeinsam genutzten Speicher zwischen den Cluster-Knoten, wir haben bereits in den obigen Schritten eine Partition auf der gemeinsam genutzten Festplatte (/dev/sdb1) erstellt, also werden wir diese Partition verwenden. Verwenden Sie unten „pcs resource create ” Befehl zum Definieren von Dateisystemressourcen von einem der Knoten,

[[email protected] ~]# pcs resource create nfsshare Filesystem device=/dev/sdb1 \  directory=/nfsshare fstype=xfs --group nfsgrp[[email protected] ~]#

Im obigen Befehl haben wir das NFS-Dateisystem als „nfsshare“ definiert “ unter der Gruppe „nfsgrp “. Ab jetzt werden alle nfs-Ressourcen unter der Gruppe nfsgrp erstellt.

Erstellen Sie eine nfsserver-Ressource mit dem Namen „nfsd ‘ mit dem folgenden Befehl,

[[email protected] ~]# pcs resource create nfsd nfsserver \ nfs_shared_infodir=/nfsshare/nfsinfo --group nfsgrp[[email protected] ~]#

Erstellen Sie exportfs Ressource mit dem Namen „nfsroot

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

Im obigen Befehl gibt clientpec die erlaubten Clients an, die auf nfsshare zugreifen können

Erstellen Sie NFS IPaddr2 Ressource mit dem folgenden Befehl,

[[email protected] ~]# pcs resource create nfsip IPaddr2 ip=192.168.1.51 \ cidr_netmask=24 --group nfsgrp[[email protected] ~]#

Sehen Sie sich jetzt den Cluster an und überprüfen Sie ihn anhand des PC-Status

[[email protected] ~]Status von # PCs

Sobald Sie mit den NFS-Ressourcen fertig sind, lassen Sie NFS-Serverports in der Betriebssystem-Firewall von beiden NFS-Servern zu,

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

Schritt 7)  Versuchen Sie, die NFS-Freigabe auf Clients zu mounten

Versuchen Sie nun, die nfs-Freigabe mit dem Mount-Befehl zu mounten, das Beispiel ist unten gezeigt

[[email protected] ~]# mkdir /mnt/nfsshare[[email protected] ~]# mount 192.168.1.51:/ /mnt/nfsshare/[[email protected] ~]# df -Th /mnt/nfsshareFilesystem Typ  Größe  Verwendet Verfügbar Nutzung % Eingebaut auf 192.168.1.51:/ nfs4   10G   32M   10G   1 % /mnt/nfsshare[[email protected] ~]#[[email protected] ~]# cd /mnt/nfsshare/[[email protected ] nfsshare]# lsnfsinfo[[email protected] nfsshare]#

Stoppen Sie für Cluster-Tests den Cluster-Dienst auf einem der Knoten und prüfen Sie, ob auf nfsshare zugegriffen werden kann oder nicht. Nehmen wir an, ich stoppe den Clusterdienst auf „nfs1.example.com“

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

Gehen Sie jetzt zum Client-Rechner und prüfen Sie, ob nfsshare noch zugänglich ist. In meinem Fall kann ich immer noch darauf zugreifen und Dateien darauf erstellen.

[[email protected] nfsshare]# Berührungstest[[email protected] nfsshare]#

Aktivieren Sie nun den Clusterdienst auf „nfs1.example.com“ mit dem folgenden Befehl,

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

Das ist alles aus diesem Artikel, er bestätigt, dass wir NFS-Aktiv-Passiv-Clustering mit Pacemaker erfolgreich konfiguriert haben. Bitte teilen Sie Ihr Feedback und Ihre Kommentare im Kommentarbereich unten mit.


Cent OS
  1. Konfigurieren Sie DNS auf CentOS 5 / RHEL 5 mit Chroot

  2. So konfigurieren Sie den DNS-Server unter CentOS 5 / RHEL 5

  3. FTP-Server unter CentOS 7 / RHEL 7 installieren und konfigurieren – (vsftpfd)

  4. So richten Sie den NFS-Server unter CentOS 7 / RHEL 7 ein

  5. So konfigurieren Sie NTP-Server und -Client in CentOS / RHEL 7

So konfigurieren Sie den DNS (BIND)-Server unter CentOS 7 / RHEL 7

Konfigurieren Sie OpenLDAP mit SSL auf CentOS 7 / RHEL 7

Konfigurieren Sie den FreeIPA-Server auf CentOS 7 / RHEL 7 – einem Identitätsverwaltungssystem

So konfigurieren Sie den DNS (BIND)-Server unter CentOS 8 / RHEL 8

So konfigurieren Sie VNC Server unter CentOS/RHEL 6

So installieren und konfigurieren Sie VNC Server unter CentOS/RHEL 8