In diesem Tutorial zeigen wir Ihnen, wie Sie einen Nginx High Availability-Cluster mit Pacemaker unter CentOS 7 einrichten. Um einen Nginx-Server zu haben, der über einen langen Zeitraum ohne Ausfall betrieben werden kann, müssen wir den Server mit Aktiv-Passiv-Nginx-Instanzen konfigurieren . Pacemaker ist eine Open-Source-Cluster-Manager-Software, die eine maximale Hochverfügbarkeit Ihrer Dienste erreicht. Es ist ein fortschrittlicher und skalierbarer Hochverfügbarkeits-Cluster-Manager, der von ClusterLabs vertrieben wird, er verwaltet alle Cluster-Dienste und nutzt die Messaging- und Mitgliedschaftsfunktionen der zugrunde liegenden Cluster-Engine.
1. Voraussetzungen
Um diesem Tutorial zu folgen, benötigen Sie:
- 2 oder mehr Server
- CentOS 7-Betriebssystem
- Root-Zugriff auf jeden der Server
2. Anmelden und CentOS aktualisieren
ssh root@IP_Address -p7022
yum update yum upgrade
Bearbeiten Sie die /etc/hosts-Datei auf beiden Servern mit einem Terminal-Texteditor Ihrer Wahl
nano /etc/hosts
Fügen Sie die folgenden Zeilen zur Datei /etc/hosts hinzu
192.168.0.22 webserver-01 192.168.0.23 webserver-02
3. Installieren Sie das Epel-Repository und Nginx
Zur Installation von Nginx ist das Repository Extra Packages for Enterprise Linux (EPEL) erforderlich. Führen Sie die folgenden Befehle auf beiden Servern aus.
yum install epel-release -y yum install nginx -y
systemctl enable nginx systemctl start nginx
4. Ändern Sie die standardmäßige Nginx-Indexseite
Sobald Sie fertig sind, müssen wir Änderungen an der Standard-Nginx-Indexseite auf beiden Servern vornehmen.
Führen Sie den folgenden Befehl auf Server eins
ausecho ‘
webserver-01
’ > /usr/share/nginx/html/index.html
Führen Sie den folgenden Befehl auf Server zwei aus
echo ‘
webserver-02
’ > /usr/share/nginx/html/index.html
5. Pacemaker installieren und konfigurieren
In diesem Abschnitt installieren wir den Pacemaker-Stack. Sie müssen diesen Schritt auf beiden Servern durchführen.
yum install corosync pacemaker pcs -y
Aktivieren Sie nach Abschluss der Installation mit den folgenden systemctl-Befehlen, dass alle Dienste beim Systemstart automatisch gestartet werden.
systemctl enable pacemaker systemctl enable corosync systemctl enable pcsd
6. Synchronisieren Sie die Konfiguration
Die Installation erstellt einen „hacluster“-Systembenutzer. Außerdem müssen wir pcsd ausführen, um die Konfiguration zu synchronisieren
systemctl start pcsd
7. Erstellen Sie ein Passwort
Erstellen Sie als Nächstes ein neues Passwort für den Benutzer „hacluster“, das während der vorherigen Installation automatisch erstellt wurde. Wir müssen dasselbe Passwort für alle Server verwenden
passwd hacluster
8. Cluster erstellen
Führen Sie als Nächstes diesen Befehl unten aus
pcs cluster auth webserver-01 webserver-02
An diesem Punkt können wir den Cluster einrichten.
pcs cluster setup –name rosecluster webserver-01 webserver-02
rosecluster ist der Name des Clusters, während webserver-01 und webserver-02 die Server sind, die Teile von rosecluster sein werden.
Aktivieren Sie es beim Booten und starten Sie es jetzt.
pcs cluster enable –all pcs cluster start –all
Wir können den Cluster-Status mit diesem Befehl überprüfen:
pcs status
9. STONITH deaktivieren
STONITH oder Shoot The Other Node In The Head ist die Fechtimplementierung auf Pacemaker. Wenn Sie in der Produktion sind, ist es besser, STONITH zu aktivieren. Da wir das Fechtgerät nicht verwenden, deaktivieren wir den STONITH.
Wenn Sie den Befehl pcs status ausführen, sehen Sie in der Ausgabe eine Warnung, dass keine STONITH-Geräte konfiguriert sind und STONITH nicht deaktiviert ist:
WARNUNG:keine stonith-Geräte und stonith-enabled ist nicht falsch
Deaktivieren Sie STONITH mit dem folgenden pcs-Befehl.
pcs property set stonith-enabled=false
10. Ignorieren Sie die Quorum-Richtlinie
In diesem Tutorial konfigurieren wir Pacemaker so, dass das Quorum ignoriert wird:
pcs property set no-quorum-policy=ignore
Überprüfen Sie die Eigenschaftsliste und stellen Sie sicher, dass stonith und die Quorum-Richtlinie deaktiviert sind.
pcs property list
11. Ressourcen hinzufügen
Floating IP ist die IP-Adresse, die sofort von einem Server auf einen anderen im selben Netzwerk migriert werden kann. Sie wird verwendet, um Failover in einem Hochverfügbarkeitscluster zu unterstützen. In diesem Tutorial lautet die Floating-IP-Adresse für die Pacemaker High-Availability „192.168.0.100“. Im Moment fügen wir zwei Ressourcen hinzu, die Floating-IP-Adressressource mit dem Namen „v_ip“ und eine neue Ressource für den Nginx-Webserver mit dem Namen „webserver“.
Fügen Sie die neue Floating-IP-Adresse „v_ip“ mit dem folgenden Befehl hinzu.
pcs resource create v_ip ocf:heartbeat:IPaddr2 ip=192.168.0.100 cidr_netmask=32 op monitor interval=20s
Als Nächstes können wir die zweite Ressource zum Cluster hinzufügen. Der Ressourcenagent des Dienstes ist ocf:heartbeat:nginx mit dem Namen „webserver“.
pcs resource create webserver ocf:heartbeat:nginx configfile=/etc/nginx/nginx.conf op monitor timeout=”5s” interval=”5s”
Stellen Sie sicher, dass kein Fehler vorliegt, und überprüfen Sie dann die Ressourcen.
pcs status resources
Wenn Sie zwei Ressourcen sehen; „v_ip“ und „webserver“ bedeutet, dass Floating IP und Nginx-Webserver hinzugefügt wurden.
12. Einschränkungen konfigurieren
In diesem Schritt teilen wir dem Server mit, dass beide zuvor erstellten Ressourcen auf demselben Host ausgeführt werden sollen. Wir werden eine Kollokationsbeschränkung für die Ressourcen mit einer Punktzahl von INFINITY festlegen.
pcs constraint colocation add webserver v_ip INFINITY
Stellen Sie die Nginx-Ressource (Webserver) so ein, dass sie immer auf demselben Host ausgeführt wird, auf dem v_ip aktiv ist.
pcs constraint order v_ip then webserver
Um zu überprüfen, ob die Ressourcen auf demselben Host ausgeführt werden, können wir Folgendes aufrufen:
pcs status
13. Testen Sie den Cluster.
Navigieren Sie in Ihrem Webbrowser zu http://192.168.0.100, Sie sehen die Standard-Nginx-Seite vom Webserver-01.
Rufen Sie dann den folgenden Befehl auf, um den Cluster auf dem Webserver-01 zu stoppen:
pcs cluster stop webserver-01
Wenn Sie jetzt die Seite unter http://192.168.0.100 aktualisieren, erhalten Sie die Standard-Nginx-Seite vom Webserver-02.
Herzlichen Glückwunsch, Sie haben erfolgreich einen Nginx High Availability Aktiv-Passiv-Cluster mit Pacemaker eingerichtet. Wenn Sie eine sehr ausgelastete Website haben, können Sie erwägen, Ihre Website auf einem Nginx HA zu betreiben. Es gibt viele bekannte Websites, die auf Nginx HA laufen, und sie verwenden Nginx HA, um ihre Inhalte schnell, zuverlässig und sicher bereitzustellen.
Natürlich müssen Sie Nginx High Availability Cluster nicht mit Pacemaker unter CentOS 7 einrichten, wenn Sie eine unserer Nginx Hosting-Lösungen verwenden. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, Ihnen dabei zu helfen. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS . Wenn Ihnen dieser Beitrag zum Einrichten des Nginx-Hochverfügbarkeitsclusters mit Pacemaker unter CentOS 7 gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.