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

Zwei-Knoten-Apache-Webserver-Cluster mit Pacemaker auf CentOS 7

Pacemaker ist eine Hochverfügbarkeits-Cluster-Software für Linux-ähnliche Betriebssysteme. Pacemaker ist als "Cluster Resource Manager" bekannt ‘, Es bietet maximale Verfügbarkeit der Cluster-Ressourcen durch Failover von Ressourcen zwischen den Cluster-Knoten.

Pacemaker verwendet Corosync für Heartbeat und interne Kommunikation zwischen Cluster-Komponenten, Corosync kümmert sich auch um Quorum im Cluster.

In diesem Artikel demonstrieren wir die Installation und Konfiguration von Apache (httpd)-Webserver-Clustering mit zwei Knoten unter Verwendung von Pacemaker unter CentOS 7.

In meinem Setup werde ich zwei virtuelle Maschinen und gemeinsam genutzten Speicher von Fedora Server verwenden (zwei Festplatten werden gemeinsam genutzt, wobei eine Festplatte als Fencing-Gerät und die andere Festplatte als gemeinsam genutzter Speicher für den Webserver verwendet wird)

  • node1.linuxtechi.com ( 192.168.1.51 ) – CentOS 7.x
  • node2.linuxtechi.com (192.168.1.52 ) – CentOS 7.x

Schritt:1. Datei „/etc/hosts“ aktualisieren

Fügen Sie die folgenden Zeilen in der Datei /etc/hosts in beiden Knoten hinzu.

192.168.1.51 node1.linuxtechi.com node1192.168.1.52 node2.linuxtechi.com node2

Schritt:2 Installieren Sie den Cluster und andere erforderliche Pakete.

Verwenden Sie den folgenden yum-Befehl auf beiden Knoten, um das Clusterpaket (pcs), Fence-Agents und den Webserver (httpd) zu installieren

[[email protected] ~]# yum -y update[[email protected] ~]# yum -y install pcs fence-agents-all iscsi-initiator-utils httpd[[email protected] ~]# yum -y update[[email protected] ~]# yum -y install pcs fence-agents-all iscsi-initiator-utils httpd

Schritt:3 Legen Sie das Passwort für den Benutzer „hacluster“ fest

Es wird empfohlen, auf beiden Knoten dasselbe Passwort des Benutzers „hacluster“ zu verwenden.

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

Schritt:4 Hochverfügbarkeitsports in der Firewall zulassen.

Verwenden Sie „firewall-cmd“. ‘ Befehl auf beiden Knoten, um Hochverfügbarkeitsports in der Betriebssystem-Firewall zu öffnen.

[[email protected] ~]# firewall-cmd --permanent --add-service=high-availabilitysuccess[[email protected] ~]# firewall-cmd --reloadsuccess[[email protected] ~]#[[ email protected] ~]# firewall-cmd --permanent --add-service=high-availabilitysuccess[[email protected] ~]# firewall-cmd --reloadsuccess[[email protected] ~]#

Schritt:5 Starten Sie den Clusterdienst und autorisieren Sie Knoten, dem Cluster beizutreten.

Lassen Sie uns den Clusterdienst auf beiden Knoten starten,

[[email protected] ~]# systemctl start pcsd.service[[email protected] ~]# systemctl enable pcsd.serviceln -s '/usr/lib/systemd/system/pcsd.service' '/etc/systemd /system/multi-user.target.wants/pcsd.service'[[email protected] ~]#[[email protected] ~]# systemctl start pcsd.service[[email protected] ~]# systemctl enable pcsd.serviceln - s '/usr/lib/systemd/system/pcsd.service' '/etc/systemd/system/multi-user.target.wants/pcsd.service'[[email protected] ~]#

Verwenden Sie den folgenden Befehl auf einem der Knoten, um die Knoten für den Beitritt zum Cluster zu autorisieren.

[[email protected] ~]# pcs cluster auth node1 node2Username:haclusterPassword:node1:Authorizednode2:Authorized[[email protected] ~]#

Schritt:6 Erstellen Sie den Cluster und aktivieren Sie den Clusterdienst

Verwenden Sie die folgenden pcs-Befehle auf einem der Cluster-Knoten, um einen Cluster mit dem Namen „apachecluster“ zu erstellen ‘ und node1 &node2 sind die Cluster-Knoten.

[[email protected] ~]# pcs cluster setup --start --name apachecluster node1 node2Herunterfahren der Pacemaker/corosync-Dienste...Umleitung zu /bin/systemctl stop pacemaker.serviceUmleitung zu /bin/systemctl stop corosync.serviceKilling Alle verbleibenden Dienste...Entfernen aller Cluster-Konfigurationsdateien...Knoten1:ErfolgreichKnoten2:ErfolgreichStarten des Clusters auf Knoten:Knoten1, Knoten2...Knoten2:Starten des Clusters...Knoten1:Starten des Clusters...Synchronisieren von pcsd-Zertifikaten auf Knoten Knoten1, node2...node1:Successnode2:SuccessRestarting pcsd on the nodes, um die Zertifikate neu zu laden...node1:Successnode2:Success[[email protected] ~]#

Aktivieren Sie den Cluster-Dienst mit dem folgenden pcs-Befehl:

[[email protected] ~]# pcs cluster enable --allnode1:Cluster aktiviertnode2:Cluster aktiviert[[email protected] ~]#

Verifizieren Sie jetzt den Clusterdienst

[[email protected] ~]# PC-Clusterstatus

Schritt:7 Richten Sie gemeinsam genutzten iscsi-Speicher auf dem Fedora-Server für beide Knoten ein.

IP-Adresse des Fedora 23-Servers =192.168.1.21

Installieren Sie zuerst das erforderliche Paket.

[[email protected] ~]# dnf -y install targetcli

Ich habe eine neue Festplatte (/dev/sdb) mit einer Größe von 11 GB auf meinem Fedora-Server, auf der ich zwei LVs erstellt habe, eine für Fecing und die andere für das Apache-Dateisystem.

[[email protected] ~]# pvcreate /dev/sdb Physisches Volume "/dev/sdb" erfolgreich erstellt[[email protected] ~]# vgcreate cluster_data /dev/sdb Volume-Gruppe "cluster_data" erfolgreich erstellt[[email protected] ~]# lvcreate -L 1G -n fence_storage cluster_data Logisches Volume „fence_storage“ erstellt.[[email protected] ~]# lvcreate -L 10G -n apache_storage cluster_data Logisches Volume „apache_storage“ erstellt.[[email protected] ~] #

Ermitteln Sie die Initiatornamen der beiden Knoten.

[[email protected] ~]# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994-05.com.redhat:63ba7391df7f[[email protected] ~]# [[email protected] ~]# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994-05.com.redhat:d4337e65531e[[email protected] ~]#

Verwenden Sie nun „targetcli ‘ Befehl zum Konfigurieren des iscsi-speichers für beide Knoten.

[[email protected] ~]# targetcli/> cd /backstores/block/backstores/block> create apache-fs /dev/cluster_data/apache_storage /backstores/block> create fence-storage /dev/cluster_data/fence_storage / backstores/block> cd /iscsi/iscsi> create/iscsi> cd iqn.2003-01.org.linux-iscsi.fedora23.x8664:sn.646023b9e9c6/tpg1/luns/iscsi/iqn.20...9c6/tpg1 /luns> /backstores/block/apache-fs/iscsi/iqn.20...9c6/tpg1/luns erstellen> /backstores/block/fence-storage/iscsi/iqn.20...9c6/tpg1/luns erstellen> cd ../acls/iscsi/iqn.20...9c6/tpg1/acls> create iqn.1994-05.com.redhat:63ba7391df7f/iscsi/iqn.20...9c6/tpg1/acls> create iqn .1994-05.com.redhat:d4337e65531e/iscsi/iqn.20...9c6/tpg1/acls> cd //> saveconfig /> exit

Zieldienst starten und aktivieren

[[email protected] ~]# systemctl start target.service[[email protected] ~]# systemctl enable target.service[[email protected] ~]#

Öffnen Sie die iscsi-Ports in der Betriebssystem-Firewall.

[[email protected] ~]# firewall-cmd --permanent --add-port=3260/tcpsuccess[[email protected] ~]# firewall-cmd --reloadsuccess[[email protected] ~]# 

Scannen Sie jetzt den iscsi-Speicher auf beiden Knoten:

Führen Sie die folgenden Befehle auf beiden Knoten aus

# iscsiadm --mode discovery --type sendtargets --portal 192.168.1.21# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.fedora23.x8664:sn.646023b9e9c6 -l -p 192.168 .1.21:3260

Ersetzen Sie das Ziel „iqn“ und „ip address“ gemäß Ihrer Einrichtung. Nach dem Ausführen des obigen Befehls können wir zwei neue Festplatten in der Befehlsausgabe von ‚fdisk -l‘ sehen.

Listen Sie die IDs der neu gescannten iscsi-Festplatte auf.

[[email protected] ~]# ls -l /dev/disk/by-id/total 0.........lrwxrwxrwx. 1 root root 9 Feb 21 03:22 wwn-0x60014056e8763c571974ec3b78812777 -> ../../sdblrwxrwxrwx. 1 root root 9 Feb 21 03:22 wwn-0x6001405ce01173dcd7c4c0da10051405 -> ../../sdc[[email protected] ~]#

Starten und aktivieren Sie den iscsi-Dienst auf beiden Knoten.

[[email protected] ~]# systemctl start iscsi.service[[email protected] ~]# systemctl enable iscsi.service[[email protected] ~]# systemctl enable iscsid.serviceln -s '/usr/lib/ systemd/system/iscsid.service' '/etc/systemd/system/multi-user.target.wants/iscsid.service'[[email protected] ~]# [[email protected] ~]# systemctl start iscsi.service[ [email protected] ~]# systemctl enable iscsi.service[[email protected] ~]# systemctl enable iscsid.serviceln -s '/usr/lib/systemd/system/iscsid.service' '/etc/systemd/system/multi -user.target.wants/iscsid.service'[[email protected] ~]#

Schritt:8 Erstellen Sie die Cluster-Ressourcen.

Definiere stonith (Shoot The Other Node In The Head) Fechtgerät für den Cluster. Es ist eine Methode, um den Knoten vom Cluster zu isolieren, wenn der Knoten nicht mehr reagiert.

Ich verwende 1 GB iscsi-Speicher (/dev/sdc ) zum Fechten.

Führen Sie die folgenden Befehle auf einem der Knoten aus:

[[email protected] ~]# pcs stonith create scsi_fecing_device fence_scsi pcmk_host_list="node1 node2" pcmk_monitor_action="metadata" pcmk_reboot_action="off" devices="/dev/disk/by-id/wwn-0x6001405ce01173dcd7c4c0da10051405" Meta bereitstellt ="unfencing"[[email protected] ~]# [[email protected] ~]# pcs stonith show scsi_fecing_device (stonith:fence_scsi):Started node1[[email protected] ~]#

Erstellen Sie jetzt eine Partition auf dem zweiten iscsi-Speicher (/dev/sdb ), die als Dokumentenstamm für unseren Webserver verwendet wird.

[[email protected] ~]# fdisk /dev/disk/by-id/wwn-0x60014056e8763c571974ec3b78812777

Formatieren Sie die neu erstellte Partition:

[[email protected] ~]# mkfs.ext4 /dev/disk/by-id/wwn-0x60014056e8763c571974ec3b78812777-part1

Mounten Sie das neue Dateisystem temporär auf /var/www und erstellen Sie Unterordner und setzen Sie die Selinux-Regel.

[[email protected] html]# mount /dev/disk/by-id/wwn-0x60014056e8763c571974ec3b78812777-part1 /var/www/[[email protected] html]# mkdir /var/www/html[[email protected ] html]# mkdir /var/www/cgi-bin[[email protected] html]# mkdir /var/www/error[[email protected] html]# restorecon -R /var/www[[email protected] html] # echo "Apache Web Server Pacemaker-Cluster"> /var/www/html/index.html

Hängen Sie das Dateisystem jetzt aus, da der Cluster das Dateisystem bei Bedarf einhängen wird.

[[email protected] html]# umount /var/www/[[email protected] html]#

Erstellen Sie die Webserver-Dateisystem-Clusterressource Verwenden Sie den folgenden pcs-Befehl.

[[email protected] html]# pcs resource create webserver_fs Filesystem device="/dev/disk/by-id/wwn-0x60014056e8763c571974ec3b78812777-part1" directory="/var/www" fstype="ext4" --group webgroup[[email protected] html]# [[email protected] html]# pcs resource show Resource Group:webgroup webserver_fs (ocf::heartbeat:Filesystem):Started node1[[email protected] html]#

Fügen Sie die folgenden Zeilen in der Datei „/etc/httpd/conf/httpd.conf“ auf beiden Knoten hinzu.

 SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1

Öffnen Sie den httpd- oder Webserver-Port in der Betriebssystem-Firewall auf beiden Knoten

[[email protected] ~]# firewall-cmd --permanent --add-service=httpsuccess[[email protected] ~]# firewall-cmd --reloadsuccess[[email protected] ~]#[[email protected ] ~]# firewall-cmd --permanent --add-service=httpsuccess[[email protected] ~]# firewall-cmd --reloadsuccess[[email protected] ~]#

Erstellen Sie eine virtuelle IP-Clusterressource (IPaddr2) Verwenden Sie den folgenden Befehl. Führen Sie den folgenden Befehl auf einem der Knoten aus.

[[email protected] ~]# pcs resource create vip_res IPaddr2 ip=192.168.1.151 cidr_netmask=24 --group webgroup[[email protected] ~]#

Apache-Cluster-Ressource erstellen Verwenden Sie den folgenden Befehl:

[[email protected] ~]# pcs resource create apache_res apache configfile="/etc/httpd/conf/httpd.conf" statusurl="http://127.0.0.1/server-status" --group webgroup[ [E-Mail-geschützt] ~]#

Cluster-Status überprüfen:

[[email protected] ~]Status von # PCs

Verwenden Sie „df ‘ und ‚IP hinzufügen ‘ Befehl zum Überprüfen des Dateisystems und des IP-Adressen-Failovers.

Greifen Sie mit VIP (192.168.1.151) auf Ihre Website zu

.

Schrittmacher-GUI :

Auf die GUI von Pacemaker kann über einen Webbrowser mit vip zugegriffen werden.

https://192.168.1.151:2224/

Verwenden Sie den Benutzernamen „hacluster“ und sein Passwort, das wir im obigen Schritt festgelegt haben.

Fügen Sie die vorhandenen Cluster-Knoten hinzu.

Die Installation und Konfiguration von Pacemaker ist jetzt abgeschlossen. Hoffentlich haben Ihnen die Schritte gefallen. Bitte teilen Sie Ihr wertvolles Feedback und Ihre Kommentare 🙂

Referenz : http://clusterlabs.org/quickstart-redhat.html


Cent OS
  1. So konfigurieren Sie mehrere Websites mit dem Apache-Webserver

  2. Installieren Sie den Apache-Webserver CentOS 6 / RHEL 6

  3. Installieren Sie Apache Web Server auf CentOS 8 - Schritt für Schritt, um es zu tun?

  4. Installieren Sie Zenario mit Apache, PHP und MariaDB auf CentOS 7

  5. Installieren Sie Apache unter CentOS 8

So installieren Sie den Lighttpd-Webserver unter CentOS 8

So installieren Sie den Cherokee-Webserver unter CentOS 6

So installieren Sie Jetty Web Server unter CentOS 7

So installieren Sie den Hiawatha-Webserver unter CentOS 7

So installieren Sie den Caddy-Webserver unter CentOS 7

Wie installiere ich den LiteSpeed-Webserver in WHM/cPanel mit Centos 7.x?