So konfigurieren Sie einen Cluster in Zevenet Community Edition v.5.0 und V.5.9

GESCHRIEBEN VON Zevenet | 23. Februar 2018


Der Zevenet Cluster Service kann als unabhängige Software außerhalb des CE-Kernpakets von Zevenet konfiguriert werden. Dieser neue Zevenet Cluster Service wurde mit der Idee entwickelt, von Sysadmins einfach verwaltet und modifiziert zu werden, um ihn an die Anforderungen jeder Netzwerkarchitektur anzupassen .
Im nächsten Verfahren wird beschrieben, wie Sie den Zevenet-Cluster installieren und konfigurieren, wenn Hochverfügbarkeit für Load Balancer erforderlich ist.

Konfigurieren Sie unser offizielles APT-Repository wie folgt:

So konfigurieren Sie das APT-Repository für die ZEVENET Community Edition

Installieren Sie das Zevenet CE-Clusterpaket

Sobald das lokale Datenbank-Repository aktualisiert ist, durchsuchen Sie das Cluster-Paket zevenet-ce-cluster wie folgt:

root@lb1 > apt-cache search zevenet-ce-cluster
zevenet-ce-cluster - Zevenet Load Balancer Community Edition Cluster Service

root@lb1 > apt-cache show zevenet-ce-cluster
Package: zevenet-ce-cluster
Version: 1.2
Maintainer: Zevenet SL <zevenet-ce-users@zevenet.com>
Architecture: i386
Depends: zevenet (>=5.0), liblinux-inotify2-perl, ntp
Priority: optional
Section: admin
Filename: pool/main/z/zevenet-ce-cluster/zevenet-ce-cluster_1.0_i386.deb
Size: 43350
SHA256: e39bb9b8283904db2873287147c885637178e179be5dee67b2c7044039899f35
SHA1: 425d742cde523c93a55b25e96447a8088663a028
MD5sum: 123abcf0eab334a18054802962287dc7
Description: Zevenet Load Balancer Community Edition Cluster Service
Cluster service for Zevenet CE, based in ucarp for vrrp implementation and zeninotify for configuration replication. VRRP through UDP is supported in this version.
Description-md5: 5b668a78c0d00cdf89ac66c47b44ba28

root@lb1 > apt-get install zevenet-ce-cluster
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  liblinux-inotify2-perl
Suggested packages:
  iwatch
The following NEW packages will be installed:
  liblinux-inotify2-perl zevenet-ce-cluster
0 upgraded, 2 newly installed, 0 to remove and 37 not upgraded.
Need to get 43.4 kB/61.4 kB of archives.
After this operation, 60.4 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://repo.zevenet.com/ce/v5 stretch/main i386 zevenet-ce-cluster i386 1.0 [43.4 kB]
Fetched 43.4 kB in 0s (57.3 kB/s)        
Selecting previously unselected package liblinux-inotify2-perl.
(Reading database ... 57851 files and directories currently installed.)
Preparing to unpack .../liblinux-inotify2-perl_1%3a1.22-3_i386.deb ...
Unpacking liblinux-inotify2-perl (1:1.22-3) ...
Selecting previously unselected package zevenet-ce-cluster.
Preparing to unpack .../zevenet-ce-cluster_1.0_i386.deb ...
Unpacking zevenet-ce-cluster (1.0) ...
Setting up liblinux-inotify2-perl (1:1.22-3) ...
Processing triggers for systemd (232-25+deb9u1) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up zevenet-ce-cluster (1.0) ...
Completing the Zevenet CE Cluster installation...

Beachten Sie, dass Zevenet CE Cluster VRRP verwendet und die Synchronisierungszeit für dieses Protokoll obligatorisch ist. Stellen Sie daher sicher, dass Ihr NTP-Dienst ordnungsgemäß konfiguriert ist und NTP-Server vom Load Balancer aus erreichbar sind.

Konfigurieren Sie das Zevenet CE-Clusterpaket

Wenn die Installation abgeschlossen ist, konfigurieren Sie den Clusterdienst wie folgt:

Öffnen Sie die Konfigurationsdatei im Pfad /usr/local/zevenet/app/ucarp/etc/zevenet-cluster.conf

Die wichtigsten Parameter werden nachfolgend beschrieben:

#interface used for the cluster where is configured local_ip and remote_ip
$interface="eth0";

#local IP to be monitored, i e 192.168.0.101
$local_ip="192.168.101.242";

#remote IP to be monitored, i e 192.168.0.102
$remote_ip="192.168.101.243";

#used password for vrrp protocol communication
$password="secret";

#unique value for vrrp cluster in the network
$cluster_id="1";

#used virtual IP in the cluster, this IP will run always in the master node
$cluster_ip="192.168.101.244";

# if the nic used for cluster is different to eth0 then please change the exclude conf file in following line
########
$exclude="--exclude if_eth0_conf";

Beachten Sie, dass nur virtuelle Schnittstellen repliziert werden. Wenn Sie also mit mehr als einer NIC oder einem VLAN arbeiten, müssen diese in der Cluster-Konfigurationsdatei ausgeschlossen werden. Beispielsweise wird eth0 für Clusterzwecke und vlan100 (eth0.100) für den Lastausgleich verwendet , dann:

$exclude="--exclude if_eth0_conf --exclude if_eth0.100_conf";

Beachten Sie, dass zevenet cluster vom root-Benutzer verwaltet wird und die Konfiguration vom Master-Knoten über rsync (ssh) zur Sicherung repliziert, sodass ssh ohne Kennwort zwischen den Knoten konfiguriert werden muss.

Beachten Sie, dass das definierte $ cluster_ip In einem virtuellen Zevenet-Load-Balancer, dem zukünftigen Master, muss die Konfigurationsdatei konfiguriert werden, sobald der Dienst in diesem Knoten gestartet wird $ cluster_ip wird automatisch auf den Sicherungsserver repliziert.

Aktivieren Sie nun den Clusterdienst mit den folgenden zwei Schritten:

Öffnen Sie zuerst die Datei /etc/init.d/zevenet-ce-cluster und ändern Sie die folgende Variable:

$enable_cluster="true";

Zweitens ist der Dienst zevenet-ce-cluster nach dem Start standardmäßig deaktiviert. Führen Sie den folgenden Befehl aus, um zevenet-ce-cluster nach dem Neustart zu aktivieren:

[] root@lb1 > systemctl enable zevenet-ce-cluster

Beachten Sie, dass jede Änderung in der Konfigurationsdatei /usr/local/zevenet/app/ucarp/etc/zevenet-cluster.conf einen Neustart des Clusterdienstes erfordert. Starten Sie den Cluster nach Abschluss der Konfigurationsparameter auf beiden Knoten neu wie folgt:

[] root@lb1 > /etc/init.d/zevenet-ce-cluster stop
[] root@lb1 > /etc/init.d/zevenet-ce-cluster start

Beachten Sie, dass sobald der Clusterdienst ausgeführt wird, die Eingabeaufforderung im Lastenausgleich geändert wird, um den Clusterstatus in jedem Dienst anzuzeigen:
Master:

[master] root@lb1>

Backup:

[backup] root@lb2>

Protokolle und Fehlerbehebungen

  1. SSH ohne Passwort ist zwischen beiden Clusterknoten erforderlich
  2. ntp muss in beiden Clusterknoten konfiguriert werden
  3. Der Zeninotify-Dienst wird nur im Master-Knoten ausgeführt. Bitte überprüfen Sie, ob zeninotify mit dem folgenden Befehl ausgeführt wird: Im Master-Knoten sollte Folgendes angezeigt werden:
    [master] root@lb1> ps -ef | grep zeninotify
    root 16912 1 0 03:20 ? 00:00:00 /usr/bin/perl /usr/local/zevenet/app/zeninotify/zeninotify.pl
    

    Sie sollten nichts im Zusammenhang mit zeninotify im Sicherungsknoten sehen.

    [backup] root@lb2> ps -ef | grep zeninotify
    [backup] root@lb2>
    

     

  4. Protokolle für den ucarp-Dienst werden an syslog / var / log / syslog gesendet
  5. Protokolle für den zeninotify-Replikationsdienst werden an /var/log/zeninotify.log gesendet
  6. Der Clusterstatus wird in der Eingabeaufforderung angezeigt und nach jeder Befehlsausführung aktualisiert. Außerdem wird der Clusterstatus in der Konfigurationsdatei /etc/zevenet-ce-cluster.status gespeichert. Wenn diese Datei nicht vorhanden ist, wird der Clusterdienst gestoppt.
  7. In dem Moment, in dem sich der Clusterknoten zu MASTER befördert, wird folgendes Skript ausgeführt: / usr / local / zevenet / app / ucarp / sbin / zevenet-ce-cluster-start
  8. In dem Moment, in dem der Clusterknoten zu BACKUP wechselt, wird das folgende Skript ausgeführt: / usr / local / zevenet / app / ucarp / sbin / zevenet-ce-cluster-stop
  9. Wenn der Clusterknoten Ankündigungen ausführen muss, wird das folgende Skript ausgeführt: / usr / local / zevenet / app / ucarp / sbin / zevenet-ce-cluster-advertise
  10. Falls Sie einen Parameter in der ucarp-Ausführung ändern müssen, können Sie die Ausführungsfunktion für ucarp im Skript /etc/init.d/zevenet-ce-cluster subrutine run_cluster () ändern.
  11. Der Clusterdienst verwendet die VRRP-Implementierung, sodass Multicast-Pakete in den Switches zugelassen werden müssen
Teilen:

Dokumentation unter den Bedingungen der GNU Free Documentation License.

War dieser Artikel hilfreich?

Verwandte Artikel