Virtual Server Administration
Linux Virtual Server (LVS) for Red Hat Enterprise Linux
Ausgabe 5
Zusammenfassung
Introduction
- Red Hat Enterprise Linux Installation Guide — Provides information regarding installation of Red Hat Enterprise Linux 5.
- Red Hat Enterprise Linux Deployment Guide — Provides information regarding the deployment, configuration and administration of Red Hat Enterprise Linux 5.
- Red Hat Cluster Suite Overview — Provides a high level overview of the Red Hat Cluster Suite.
- Configuring and Managing a Red Hat Cluster — Provides information about installing, configuring and managing Red Hat Cluster components.
- Logical Volume Manager Administration — Provides a description of the Logical Volume Manager (LVM), including information on running LVM in a clustered environment.
- Global File System: Configuration and Administration — Provides information about installing, configuring, and maintaining Red Hat GFS (Red Hat Global File System).
- Global File System 2: Configuration and Administration — Provides information about installing, configuring, and maintaining Red Hat GFS2 (Red Hat Global File System 2).
- Using Device-Mapper Multipath — Provides information about using the Device-Mapper Multipath feature of Red Hat Enterprise Linux 5.
- Using GNBD with Global File System — Provides an overview on using Global Network Block Device (GNBD) with Red Hat GFS.
- Red Hat Cluster Suite Release Notes — Provides information about the current release of Red Hat Cluster Suite.
1. Feedback
Virtual_Server_Administration(EN)-5 (2010-02-08T16:55)
Kapitel 1. Überblick über Linux Virtual Server
- Gleichmäßige Verteilung der Auslastung unter den realen Servern.
- Überprüfung der Integrität der Dienste auf jedem realen Server.
1.1. A Basic LVS Configuration

Abbildung 1.1. A Basic LVS Configuration
eth0:1
erhalten. Alternativ kann jeder virtuelle Server mit einem separaten Gerät pro Dienst verknüpft werden. Beispielsweise kann HTTP-Datenverkehr auf eth0:1
und FTP-Datenverkehr auf eth0:2
verwaltet werden.
1.1.1. Datenreplikation und Datenaustausch zwischen realen Servern
- Synchronisation der Daten innerhalb des Pools der realen Server.
- Hinzufügen einer dritten Ebene zur Topologie für den Zugriff auf gemeinsam genutzte Daten.
1.1.1.1. Konfiguration von realen Servern zur Synchronisation von Daten
rsync
verwenden, um Daten, die sich geändert haben, auf allen Knoten zu einem festgelegten Zeitintervall zu replizieren.
1.2. A Three-Tier LVS Configuration

Abbildung 1.2. A Three-Tier LVS Configuration
1.3. LVS Scheduling-Überblick
1.3.1. Scheduling-Algorithmen
- Round-Robin Scheduling
- Verteilt jede Anfrage nacheinander in einem Pool von realen Servern. Bei der Verwendung dieses Algorithmus werden alle realen Server als gleichwertig behandelt, ohne Rücksicht auf deren Kapazität oder Auslastung. Dieses Scheduling-Modell ist so ähnlich wie Round-Robin-DNS, ist jedoch tiefgehender, da es netzwerkbasiert und nicht hostbasiert ist. LVS Round-Robin-Scheduling leidet außerdem nicht unter den ungleichmäßigen Auslastungen, die von zwischengespeicherten DNS-Anfragen verursacht werden.
- Weighted Round-Robin Scheduling
- Distributes each request sequentially around the pool of real servers but gives more jobs to servers with greater capacity. Capacity is indicated by a user-assigned weight factor, which is then adjusted upward or downward by dynamic load information. Refer to Abschnitt 1.3.2, »Server-Gewichtung und Scheduling« for more on weighting real servers.Gewichtetes Round-Robin-Scheduling ist die bevorzugte Wahl falls signifikante Unterschiede bei der Kapazität von realen Servern in einem Server-Pool vorliegen. Wenn die Last durch Anfragen jedoch dramatisch variiert, kann ein stark gewichteter Server ggf. mehr Anfragen beantworten, als ihm zugeteilt sind.
- Least-Connection
- Verteilt mehr Anfragen an reale Server mit weniger aktiven Verbindungen. Da aktive Verbindungen mit den realen Servern mit Hilfe der IPVS-Tabelle nachverfolgt werden, ist Least-Connection eine Form von dynamischem Scheduling-Algorithmus und ist die bessere Wahl, falls ein hohes Maß an Abweichung in der Anfragelast vorliegt. Es ist am besten für einen Pool von realen Server geeignet, in dem jeder Server-Knoten in etwa dieselbe Kapazität besitzt. Falls die realen Server unterschiedliche Kapazitäten besitzen, ist das gewichtete Least-Connection-Scheduling die bessere Wahl.
- Weighted Least-Connections (default)
- Distributes more requests to servers with fewer active connections relative to their capacities. Capacity is indicated by a user-assigned weight, which is then adjusted upward or downward by dynamic load information. The addition of weighting makes this algorithm ideal when the real server pool contains hardware of varying capacity. Refer to Abschnitt 1.3.2, »Server-Gewichtung und Scheduling« for more on weighting real servers.
- Locality-Based Least-Connection Scheduling
- Verteilt mehrere Anfragen an Server mit weniger aktiven Verbindungen in Relation zu ihren Ziel-IPs. Dieser Algorithmus ist für den Einsatz in einem Proxy-Cache-Server-Cluster gedacht. Er routet die Pakete für eine IP-Adresse solange an den Server für diese Adresse, bis dieser Server seine Kapazitätsgrenze überschreitet und einen Server mit dessen halber Last vorliegen hat. In diesem Fall weist er die IP-Adresse einem realen Server mit der geringsten Auslastung zu.
- Locality-Based Least-Connection Scheduling with Replication Scheduling
- Verteilt mehr Anfragen an Server mit weniger aktiven Verbindungen in Relation zu ihren Ziel-IPs. Dieser Algorithmus ist auch für den Einsatz in einem Proxy-Cache-Server-Cluster gedacht. Es unterscheidet sich vom Locality-Based Least-Connection Scheduling durch das Zuordnen der Ziel-IP-Adresse zu einer Teilmenge von realer Server-Knoten. Anfragen werden anschließend zum Server in dieser Teilmenge mit der niedrigsten Anzahl an Verbindungen geroutet. Falls alle Knoten für die Ziel-IP über der Kapazität liegen, wird ein neuer Server für diese Ziel-IP-Adresse repliziert, indem der reale Server mit den wenigsten Verbindungen aus dem gesamten Pool der realen Server zur Teilmenge der realen Server für diese Ziel-IP hinzugefügt wird. Der Knoten mit der höchsten Last wird dann aus der Teilmenge der realen Server entfernt, um eine Überreplikation zu verhindern.
- Destination Hash Scheduling
- Verteilt Anfragen an den Pool realer Server, indem die Ziel-IP in einer statischen Hash-Tabelle abgefragt wird. Dieser Algorithmus ist für die Verwendung in einem Proxy-Cache Server-Cluster konzipiert.
- Source Hash Scheduling
- Verteilt Anfragen an den Pool realer Server, indem die Quell-IP in einer statischen Hash-Tabelle gesucht wird. Dieser Algorithmus ist für LVS-Router mit mehreren Firewalls konzipiert.
1.3.2. Server-Gewichtung und Scheduling
1.4. Routing-Methoden
1.4.1. NAT-Routing

Abbildung 1.3. LVS Implemented with NAT Routing
1.4.2. Direktes Routing

Abbildung 1.4. LVS Implemented with Direct Routing
1.4.2.1. Direktes Routing und die ARP-Einschränkung
arptables_jf
oder des Paketfilter-Tools iptables
aus den folgenden Gründen:
arptables_jf
hindert ARP an der Verknüpfung von VIPs mit realen Servern.- Die
iptables
-Methode umgeht das ARP-Problem komplett, indem VIPs auf realen Servern von vornherein nicht konfiguriert werden.
arptables
or iptables
in a direct routing LVS environment, refer to Abschnitt 3.2.1, »Direktes Routing und arptables_jf
« or Abschnitt 3.2.2, »Direktes Routing und iptables
«.
1.5. Persistenz und Firewall-Markierungen
1.5.1. Persistenz
1.5.2. Firewall-Markierungen
1.6. LVS — ein Block-Diagramm

Abbildung 1.5. LVS Components
pulse
-Daemon läuft sowohl auf den aktiven, als auch auf den passiven LVS-Routern. Auf dem Backup-LVS-Router sendet pulse
einen heartbeat an die öffentliche Schnittstelle des aktiven Routers, um sicherzustellen, dass der aktive LVS-Router ordnungsgemäß funktioniert. Auf dem aktiven LVS-Router startet pulse
den lvs
-Daemon und reagiert auf heartbeat-Anfragen des Backup-LVS-Routers.
lvs
-Daemon das ipvsadm
-Dienstprogramm auf, um die IPVS (IP Virtual Server) Routing-Tabelle im Kernel zu konfigurieren und zu pflegen, und startet einen nanny
-Prozess für jeden konfigurierten virtuellen Server auf jedem realen Server. Jeder nanny
-Prozess überprüft den Status eines konfigurierten Dienstes auf einem realen Server und informiert den lvs
-Daemon, falls der Dienst auf diesem realen Server nicht korrekt funktioniert. Falls eine Fehlfunktion entdeckt wird, weist der lvs
-Daemon ipvsadm
an, diesen realen Server aus der IPVS-Routing-Tabelle zu entfernen.
send_arp
aufruft, alle virtuellen IP-Adressen den NIC Hardware-Adressen (MAC Adressen) des Backup-LVS-Router neu zuzuweisen. Weiterhin sendet er einen Befehl an den aktiven LVS-Router, sowohl durch die öffentliche, als auch die private Netzwerkschnittstelle, den lvs
-Daemon auf dem aktiven LVS-Router zu beenden, und startet den lvs
-Daemon auf dem Backup-LVS-Router, um Anfragen für die konfigurierten virtuellen Server zu akzeptieren.
1.6.1. LVS Components
pulse
« shows a detailed list of each software component in an LVS router.
1.6.1.1. pulse
/etc/rc.d/init.d/pulse
script. It then reads the configuration file /etc/sysconfig/ha/lvs.cf
. On the active router, pulse
starts the LVS daemon. On the backup router, pulse
determines the health of the active router by executing a simple heartbeat at a user-configurable interval. If the active router fails to respond after a user-configurable interval, it initiates failover. During failover, pulse
on the backup router instructs the pulse
daemon on the active router to shut down all LVS services, starts the send_arp
program to reassign the floating IP addresses to the backup router's MAC address, and starts the lvs
daemon.
1.6.1.2. lvs
lvs
-Daemon läuft auf dem aktiven LVS-Router, sobald er von pulse
aufgerufen wird. Er liest die Konfigurationsdatei /etc/sysconfig/ha/lvs.cf
, ruft das Dienstprogramm ipvsadm
auf, um die IPVS-Routing-Tabelle zu erstellen und zu pflegen und weist jedem konfigurierten LVS-Dienst einen nanny
-Prozess zu. Falls nanny
meldet, dass ein realer Server nicht mehr erreichbar ist, weist lvs
das Dienstprogramm ipvsadm
an, den realen Server aus der IPVS-Routing-Tabelle zu entfernen.
1.6.1.3. ipvsadm
lvs
-Daemon richtet LVS ein und verwaltet dieses, indem er ipvsadm
aufruft, um Einträge in der IPVS-Routing-Tabelle hinzuzufügen, zu verändern oder zu löschen.
1.6.1.4. nanny
nanny
-Überwachungs-Daemon läuft auf dem aktiven LVS-Router. Mit Hilfe dieses Daemons ermittelt der aktive Router den Zustand jedes realen Servers und überwacht optional dessen Arbeitsbelastung. Ein separater Prozess läuft für jeden Dienst, der auf jedem realen Server definiert ist.
1.6.1.5. /etc/sysconfig/ha/lvs.cf
1.6.1.6. Piranha Configuration Tool
/etc/sysconfig/ha/lvs.cf
.
1.6.1.7. send_arp
Kapitel 2. Erste LVS-Konfiguration
Anmerkung
2.1. Konfiguration von Diensten auf den LVS-Routern
chkconfig
, das auf Ncurses basierende Programm ntsysv
und das grafische Services Configuration Tool. Alle drei Tools erfordern Root-Zugriff.
Anmerkung
su -
, gefolgt vom Root-Passwort. Zum Beispiel:
$ su - root password
- Der Dienst
piranha-gui
(nur primärer Knoten) - Der
pulse
-Dienst - Der
sshd
-Dienst
iptables
-Dienst aktivieren.
chkconfig
zu erledigen:
/sbin/chkconfig --level 35 daemon on
/sbin/chkconfig --list
Warnung
chkconfig
does not actually start the daemon. To do this use the /sbin/service
command. See Abschnitt 2.3, »Starten des Piranha Configuration Tool Dienstes« for an example of how to use the /sbin/service
command.
ntsysv
and the Services Configuration Tool, refer to the chapter titled "Controlling Access to Services" in the Red Hat Enterprise Linux System Administration Guide.
2.2. Einrichten eines Passworts für das Piranha Configuration Tool
/usr/sbin/piranha-passwd
Warnung
2.3. Starten des Piranha Configuration Tool Dienstes
piranha-gui
-Dienst, der sich unter /etc/rc.d/init.d/piranha-gui
befindet (neu). Führen Sie hierfür den folgenden Befehl als Root aus:
/sbin/service piranha-gui start
/sbin/service piranha-gui restart
/usr/sbin/piranha_gui -> /usr/sbin/httpd
. For security reasons, the piranha-gui
version of httpd
runs as the piranha user in a separate process. The fact that piranha-gui
leverages the httpd
service means that:
- Der Apache HTTP Server muss auf dem System installiert sein.
- Das Anhalten oder Neustarten des Apache HTTP Server durch den Befehl
service
hält denpiranha-gui
-Dienst an.
Warnung
/sbin/service httpd stop
oder /sbin/service httpd restart
auf einem LVS-Router ausgeführt wird, müssen Sie den piranha-gui
-Dienst durch die Eingabe des folgenden Befehls starten:
/sbin/service piranha-gui start
piranha-gui
service is all that is necessary to begin configuring LVS. However, if you are configuring LVS remotely, the sshd
service is also required. You do not need to start the pulse
service until configuration using the Piranha Configuration Tool is complete. See Abschnitt 4.8, »Starten von LVS« for information on starting the pulse
service.
2.3.1. Konfiguration des Web-Server-Ports für das Piranha Configuration Tool
Listen 3636
im zweiten Abschnitt der piranha-gui
Web-Server Konfigurationsdatei /etc/sysconfig/ha/conf/httpd.conf
.
http://localhost:3636
. Sie erreichen das Piranha Configuration Tool von überall via Web-Browser, indem Sie localhost mit dem Hostnamen oder der IP-Adresse des primären LVS-Routers ersetzen.
piranha
im Feld Username und das mit piranha-passwd
erstellte Passwort im Feld Password ein.
2.4. Zugangsbeschränkung zum Piranha Configuration Tool
/etc/sysconfig/ha/web/secure/.htaccess
. After altering the file you do not have to restart the piranha-gui
service because the server checks the .htaccess
file each time it accesses the directory.
Order deny,allow Allow from all
.htaccess
so, dass der Zugriff nur noch vom Loopback-Gerät (127.0.0.1) aus erlaubt ist. Werfen Sie einen Blick auf das Kapitel mit dem Titel Netzwerkskripte im Red Hat Enterprise Linux Reference Guide für weitere Informationen zum Loopback-Gerät.
Order deny,allow Deny from all Allow from 127.0.0.1
Order deny,allow Deny from all Allow from 192.168.1.100 Allow from 172.16.57
Warnung
.htaccess
-Datei des Piranha Configuration Tool schränkt den Zugriff auf die Konfigurationsseiten im Verzeichnis /etc/sysconfig/ha/web/secure/
ein, jedoch nicht für die Login- und Hilfeseiten in /etc/sysconfig/ha/web/
. Um den Zugriff auf dieses Verzeichnis einzuschränken, müssen Sie eine .htaccess
-Datei im Verzeichnis /etc/sysconfig/ha/web/
erstellen, und zwar mit zu /etc/sysconfig/ha/web/secure/.htaccess
identischen Zeilen order
, allow
, und deny
.
2.5. Aktivierung der Paketweiterleitung
net.ipv4.ip_forward = 0
in /etc/sysctl.conf
wie folgt:
net.ipv4.ip_forward = 1
/sbin/sysctl net.ipv4.ip_forward
1
zurückgibt, dann ist die IP-Weiterleitung aktiviert. Falls der Rückgabewert 0
lautet, dann können Sie die IP-Weiterleitung manuell mit dem folgenden Befehl aktivieren:
/sbin/sysctl -w net.ipv4.ip_forward=1
2.6. Konfiguration von Diensten auf den realen Servern
httpd
für Web-Dienste oder xinetd
für FTP- oder Telnet-Dienste umfassen.
sshd
-Daemon auch installiert sein und laufen sollte.
Kapitel 3. Einrichten von LVS
3.1. Das NAT LVS-Netzwerk
- Netzwerk-Layout
- Die Topologie für LVS unter Verwendung von NAT-Routing ist aus der Sicht eines Netzwerk-Layouts die einfachste, da nur ein Zugriffspunkt zum öffentlichen Netzwerk benötigt wird. Die realen Server geben alle Anfragen zurück an den LVS-Router, so dass sie sich in ihrem eigenen privaten Netzwerk befinden.
- Hardware
- Die NAT-Topologie ist die flexibelste hinsichtlich der Hardware, weil die realen Server keine Linux-Maschinen sein müssen, um ordnungsgemäß zu funktionieren. In einer NAT-Topologie benötigt jeder reale Server nur eine NIC, da er lediglich dem LVS-Router antwortet. Die LVS-Router dagegen benötigen jeweils zwei NICs, um den Datenverkehr zwischen den beiden Netzwerken zu routen. Da diese Topologie zu einem Engpass beim LVS-Router führt, können auf jedem LVS-Router Gigabit Ethernet-NICs eingesetzt werden, um die Bandbreite, die die LVS-Router handhaben können, zu erweitern. Falls ein Gigabit-Ethernet auf den LVS-Routern eingesetzt wird, muss jedes Switch, das die realen Server mit den LVS-Routern verbindet, mindestens zwei Gigabit-Ethernet-Ports besitzen, um die Auslastung effektiv zu bewältigen.
- Software
- Da die NAT-Topologie die Verwendung von
iptables
für einige Konfigurationen erfordert, kann einiges an Software-Konfiguration über Piranha Configuration Tool hinaus anfallen. Speziell FTP-Dienste und die Verwendung von Firewall-Markierungen erfordern zusätzliche manuelle Konfiguration der LVS-Router, um Anfragen ordnungsgemäß zu routen.
3.1.1. Konfiguration von Netzwerkschnittstellen für LVS mit NAT
eth0
) will be on the 192.168.26/24 network (I know, I know, this is not a routable IP, but let us pretend there is a firewall in front of the LVS router for good measure) and the private interfaces which link to the real servers (eth1
) will be on the 10.11.12/24 network.
/etc/sysconfig/network-scripts/ifcfg-eth0
, could look something like this:
DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.26.9 NETMASK=255.255.255.0 GATEWAY=192.168.26.254
/etc/sysconfig/network-scripts/ifcfg-eth1
für die private NAT-Schnittstelle auf dem LVS-Router könnte ungefähr so aussehen:
DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=10.11.12.9 NETMASK=255.255.255.0
Wichtig
Wichtig
3.1.2. Routing auf den realen Servern
Anmerkung
/etc/sysconfig/network-scripts/ifcfg-eth0
file could look similar to this:
DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=10.11.12.1 NETMASK=255.255.255.0 GATEWAY=10.11.12.10
Warnung
GATEWAY=
konfiguriert hat, erhält die erste, die aktiv ist, die Gateway-Adresse. Wenn daher sowohl eth0
und eth1
konfiguriert sind und eth1
für LVS verwendet wird, kann es sein, dass die realen Server Anfragen ggf. nicht korrekt routen.
/etc/sysconfig/network-scripts/
auf ONBOOT=no
gesetzt werden oder indem sichergestellt wird, dass das Gateway bei der Schnittstelle korrekt eingerichtet wurde, die als erstes aktiviert wird.
3.1.3. Aktivierung von NAT-Routing auf den LVS-Routern
Warnung
eth0:1
or eth1:1
by manually editing network scripts or using a network configuration tool. Instead, use the Piranha Configuration Tool as shown in Abschnitt 4.4, »GLOBAL SETTINGS« and Abschnitt 4.6.1, »Der Unterabschnitt VIRTUAL SERVER«.
pulse
service as shown in Abschnitt 4.8, »Starten von LVS«. Once pulse
is up and running, the active LVS router will begin routing requests to the pool of real servers.
3.2. LVS via direktem Routing
- Netzwerk-Layout
- In einer Einstellung mit direktem Routing, muss der LVS-Router eingehende Anfragen erhalten können und sie an den entsprechenden realen Server zur Weiterverarbeitung routen. Die realen Server müssen dann die Antwort direkt an den Client routen. Wenn sich ein Client somit beispielsweise im Internet befindet, und die Pakete via LVS-Router an den realen Server schickt, muss der reale Server in der Lage sein, den Client direkt via Internet ansprechen zu können. Dies erreicht man, indem man ein Gateway für den realen Server einrichtet, das die Pakete an das Internet weitergibt. Jeder reale Server im Server-Pool kann sein eigenes separates Gateway (und jedes Gateway seine eigene Internetverbindung) besitzen, was einen maximalen Durchsatz und eine maximale Skalierbarkeit ermöglicht. In typischen LVS-Einrichtungen können die realen Server jedoch via einem Gateway kommunizieren (und somit auch nur einer Netzwerkverbindung).
Wichtig
Es wird nicht empfohlen, den LVS-Router als ein Gateway für die realen Server zu verwenden, da dies zum einen die Komplexität der Einrichtung erhöht und zum anderen zu mehr Netzwerkauslastung auf dem LVS-Router führt, was wiederum den Engpass im Netzwerk darstellt, der auch beim NAT-Routing existiert. - Hardware
- Die Hardware-Anforderungen eines LVS-Systems, das direktes Routing verwendet, ähneln den Anforderungen anderer LVS-Topologien. Während auf dem LVS-Router Red Hat Enterprise Linux laufen muss, um die eingehenden Anfragen zu verarbeiten und Lastverteilung für die realen Server durchzuführen, müssen die realen Server keine Linux-Maschinen sein, um ordnungsgemäß zu funktionieren. Die LVS-Router brauchen jeweils eine oder zwei NICs (abhängig davon, ob es einen Backup-Router gibt). Zur Erleichterung der Konfiguration und um den Datenverkehr deutlich zu unterscheiden, können Sie zwei NICs verwenden — eingehende Anfragen werden von einer NIC gehandhabt, sowie geroutete Pakete zu realen Servern auf der anderen.Da die realen Server den LVS-Router übergehen und ausgehende Pakete direkt an einen Client versenden, wird ein Gateway zum Internet benötigt. Für die maximale Leistung und Verfügbarkeit kann jeder reale Server mit seinem eigenen Gateway verbunden sein, welches wiederum seine eigene, dedizierte Verbindung mit dem Trägernetzwerk besitzt, mit dem der Client verbunden ist (wie das Internet oder das Intranet).
- Software
- There is some configuration outside of Piranha Configuration Tool that needs to be done, especially for administrators facing ARP issues when using LVS via direct routing. Refer to Abschnitt 3.2.1, »Direktes Routing und
arptables_jf
« or Abschnitt 3.2.2, »Direktes Routing undiptables
« for more information.
3.2.1. Direktes Routing und arptables_jf
arptables_jf
, each real server must have their virtual IP address configured, so they can directly route packets. ARP requests for the VIP are ignored entirely by the real servers, and any ARP packets that might otherwise be sent containing the VIPs are mangled to contain the real server's IP instead of the VIPs.
arptables_jf
-Methode können sich Applikationen mit jeder einzelnen VIP oder jedem einzelnen Port binden, die der reale Server bedient. So gestattet die arptables_jf
-Methode beispielsweise, dass mehrere Instanzen des Apache HTTP Server laufen und dabei explizit mit verschiedenen VIPs auf dem System gebunden sind. Die Verwendung von arptables_jf
besitzt auch wesentliche Vorteile hinsichtlich der Leistungsfähigkeit gegenüber der Option iptables
.
arptables_jf
-Methode mit Hilfe von standardmäßigen Red Hat Enterprise Linux Systemkonfigurationstools nicht so konfiguriert werden, dass sie zum Zeitpunkt des Bootens starten.
- Erstellen Sie die ARP-Tabelleneinträge für jede virtuelle IP-Adresse auf jedem realen Server (die real_ip ist die IP, die der "director" zur Kommunikation mit dem realen Server verwendet, oft die IP, die
eth0
zugeordnet ist)):arptables -A IN -d <virtual_ip> -j DROP arptables -A OUT -s <virtual_ip> -j mangle --mangle-ip-s <real_ip>
Dies veranlasst die realen Server, alle ARP-Anfragen für die virtuellen IP-Adressen zu ignorieren und alle ausgehenden ARP-Antworten, die ansonsten evtl. die virtuelle IP enthalten könnten, zu verändern, so dass sie stattdessen die IP des Servers enthalten. Der einzige Knoten, der auf ARP-Anfragen für irgendeine der VIPs antworten sollte, ist der aktuell aktive LVS-Knoten. - Nachdem dies auf jedem realen Server abgeschlossen ist, speichern Sie die ARP-Tabelleneinträge, indem Sie die folgenden Befehle auf jedem realen Server eingeben:
service arptables_jf save
chkconfig --level 2345 arptables_jf on
Der Befehlchkconfig
veranlasst das System, die arptables-Konfiguration zum Zeitpunkt des Bootens neu zu laden — vor dem Start des Netzwerks. - Konfigurieren Sie die virtuelle IP-Adresse auf allen realen Servern mit Hilfe von
ifconfig
zur Erstellung eines IP-Alias. Zum Beispiel:#
ifconfig eth0:1 192.168.76.24 netmask 255.255.252.0 broadcast 192.168.79.255 up
Oder unter Verwendung desiproute2
-Hilfsprogrammsip
, zum Beispiel:#
ip addr add 192.168.76.24 dev eth0
Wie bereits zuvor erwähnt, kann die virtuelle IP-Adresse mit Hilfe der Red Hat Systemkonfigurationstools nicht so konfiguriert werden, dass sie zum Zeitpunkt des Bootens startet. Eine Möglichkeit, dieses Problem zu umgehen, ist das Platzieren dieser Befehle in/etc/rc.d/rc.local
. - Configure Piranha for Direct Routing. Refer to Kapitel 4, Konfiguration der LVS-Router mit dem Piranha Configuration Tool for more information.
3.2.2. Direktes Routing und iptables
iptables
Firewall-Regeln verwenden. Um direktes Routing unter Verwendung von iptables
zu konfigurieren, müssen Sie Regeln hinzufügen, die einen transparenten Proxy erstellen, so dass ein realer Server Pakete, die an die VIP-Adresse geschickt werden, bedient, auch wenn die VIP-Adresse nicht auf dem System existiert.
iptables
-Methode ist einfacher zu konfigurieren, als die arptables_jf
-Methode. Diese Methode umgeht außerdem das LVS-ARP-Problem komplett, da die virtuelle(n) IP-Adresse(n) nur auf dem aktiven LVS-Director existieren.
iptables
-Methode Leistungsprobleme im Vergleich zu arptables_jf
auf, da Overhead bei der Weiterleitung / beim Masquerading von jedem Paket auftritt.
iptables
-Methode benutzen. Es ist beispielsweise nicht möglich, zwei separate Apache HTTP Server-Dienste auf Port 80 laufen zu lassen, da sich beide mit INADDR_ANY
anstelle der virtuellen IP-Adresse binden müssen.
iptables
-Methode zu konfigurieren, führen Sie die folgenden Schritte durch:
- Führen Sie auf jedem realen Server den folgenden Befehl für jede VIP, jeden Port und jede Kombination von Protokollen (TCP oder UDP), die für die realen Server bedient werden sollen, aus:
iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECT
Dieser Befehl veranlasst die realen Server, Pakete zu verarbeiten, die für die VIP und den spezifizierten Port bestimmt sind. - Speichern Sie die Konfiguration auf jedem realen Server:
#
service iptables save
#chkconfig --level 2345 iptables on
Die oben aufgeführten Befehle veranlassen das System, dieiptables
-Konfiguration beim Booten neu zu laden — bevor das Netzwerk gestartet wird.
3.3. Zusammensetzen der Konfiguration
Wichtig
eth0
zum Beispiel mit dem öffentlichen Netzwerk und eth1
mit dem privaten Netzwerk verbunden ist, dann müssen dieselben Geräte auf dem Backup-LVS mit denselben Netzwerken verbunden sein.
3.3.1. Allgemeine Tipps bezüglich LVS-Vernetzung
- Aktivieren von realen Netzwerkschnittstellen
- Um eine reale Netzwerkschnittstelle zu aktivieren, führen Sie den folgenden Befehl als Root aus und ersetzen dabei N mit der entsprechenden Nummer der Schnittstelle (
eth0
undeth1
)./sbin/ifup ethN
Warnung
Do not use theifup
scripts to bring up any floating IP addresses you may configure using Piranha Configuration Tool (eth0:1
oreth1:1
). Use theservice
command to startpulse
instead (see Abschnitt 4.8, »Starten von LVS« for details). - Deaktivieren von Schnittstellen des realen Netzwerks
- Um eine reale Netzwerkschnittstelle zu deaktivieren, führen Sie den folgenden Befehl als Root aus und ersetzen dabei N mit der entsprechenden Nummer der Schnittstelle (
eth0
undeth1
)./sbin/ifdown ethN
- Überprüfen des Status von Netzwerkschnittstellen
- Falls Sie zu jedem beliebigen Zeitpunkt überprüfen müssen, welche Netzwerkschnittstellen aktiviert sind, geben Sie Folgendes ein:
/sbin/ifconfig
Um die Routing-Tabelle für eine Maschine anzusehen, führen Sie den folgenden Befehl aus:/sbin/route
3.4. Multiport-Dienste und LVS
iptables
außerhalb des Piranha Configuration Tool durchgeführt werden.
3.4.1. Zuweisen von Firewall-Markierungen
iptables
verwenden.
iptables
-Regel existieren muss, um den Netzwerkpaketen Markierungen zuzuweisen.
/sbin/service iptables status
iptables
nicht läuft, erscheint der Prompt umgehend wieder.
iptables
aktiv ist, werden eine Reihe an Regeln angezeigt.
/sbin/service iptables stop
/etc/sysconfig/iptables
und kopieren Sie sämtliche Regeln, die es wert sind, zu speichern, an einen sicheren Ort, bevor Sie fortfahren.
/sbin/modprobe ip_tables
/sbin/iptables -t mangle -A PREROUTING -p tcp -d n.n.n.n/32 --dport 80 -j MARK --set-mark 80
/sbin/iptables -t mangle-A PREROUTING -p tcp -d n.n.n.n/32 --dport 443 -j MARK --set-mark 80
iptables
before issuing rules for the first time.
iptables
-Befehlen sollte n.n.n.n durch die floating IP für Ihre virtuellen HTTP- und HTTPS-Server ersetzt werden. Diese Befehle haben den reinen Effekt, dass jeglichem Datenverkehr, der an die VIP auf dem entsprechenden Port gerichtet ist, eine Firewall-Markierung von 80 zugewiesen wird, was im Gegenzug von IPVS erkannt und entsprechend weitergeleitet wird.
Warnung
3.5. Konfiguration von FTP
3.5.1. Funktionsweise von FTP
- Aktive Verbindungen
- Beim Aufbau einer aktiven Verbindung öffnet der Server eine Datenverbindung mit dem Client von Port 20 bis zu einem Port in einem hohen Bereich auf der Client-Maschine. Alle Daten vom Server werden dann über diese Verbindung weitergeleitet.
- Passive Verbindungen
- Beim Aufbau einer passiven Verbindung fragt der Client beim FTP-Server bezüglich des Aufbaus eines Ports für eine passive Verbindung an, der sich auf jedem Port größer als 10,000 befinden kann. Der Server wird dann an diesen großzahligen Port für diese spezielle Sitzung gebunden und leitet die Portnummer zurück an den Client. Der Client öffnet dann den neu gebundenen Port für die Datenverbindung. Jede Datenanfrage, die der Client durchführt, resultiert in einer separaten Datenverbindung. Die meisten modernen FTP-Clients versuchen bei der Abfrage von Daten von Servern eine passive Verbindung aufzubauen.
Anmerkung
3.5.2. Auswirkungen auf das LVS-Routing
3.5.3. Erstellen von Netzwerk-Paketfilterregeln
iptables
rules for FTP service, review the information in Abschnitt 3.4.1, »Zuweisen von Firewall-Markierungen« concerning multi-port services and techniques for checking the existing network packet filtering rules.
21
in the Firewall Mark field. See Abschnitt 4.6.1, »Der Unterabschnitt VIRTUAL SERVER« for details.
3.5.3.1. Regeln für aktive Verbindungen
iptables
-Befehl ermöglicht dem LVS-Router, ausgehende Verbindungen von realen Servern, über die das IPVS nichts weiß, zu akzeptieren:
/sbin/iptables -t nat -A POSTROUTING -p tcp -s n.n.n.0/24 --sport 20 -j MASQUERADE
iptables
command, n.n.n should be replaced with the first three values for the floating IP for the NAT interface's internal network interface defined in the GLOBAL SETTINGS panel of Piranha Configuration Tool.
3.5.3.2. Regeln für passive Verbindungen
Warnung
/etc/vsftpd.conf
hinzugefügt werden:
pasv_min_port=10000
pasv_max_port=20000
/etc/vsftpd.conf
hinzu, um die IP-Adresse des realen Servers mit der des VIP außer Kraft zu setzen, welche diejenige ist, die ein Client bei einer Verbindung sieht. Zum Beispiel:
pasv_address=n.n.n.n
10000:20000
im unten aufgeführten Befehl in 1024:65535
ändern.
iptables
-Befehle haben den reinen Effekt, dass jeglichem Datenverkehr, der an die floating IP auf dem entsprechenden Port gerichtet ist, eine Firewall-Markierung von 21 zugewiesen wird, was im Gegenzug von IPVS erkannt und entsprechend weitergeleitet wird:
/sbin/iptables -t mangle -A PREROUTING -p tcp -d n.n.n.n/32 --dport 21 -j MARK --set-mark 21
/sbin/iptables -t mangle -A PREROUTING -p tcp -d n.n.n.n/32 --dport 10000:20000 -j MARK --set-mark 21
iptables
-Befehlen sollte n.n.n.n durch die floating IP für den virtuellen FTP-Server ersetzt werden, wie im Unterabschnitt VIRTUAL SERVER des Piranha Configuration Tool definiert.
Warnung
3.6. Speichern der Einstellungen des Netzwerkpaketfilters
iptables
ein:
/sbin/service iptables save
/etc/sysconfig/iptables
, so dass sie zum Zeitpunkt des Bootens wieder abgerufen werden können.
/sbin/service
command to start, stop, and check the status (using the status switch) of iptables
. The /sbin/service
will automatically load the appropriate module for you. For an example of how to use the /sbin/service
command, see Abschnitt 2.3, »Starten des Piranha Configuration Tool Dienstes«.
Kapitel 4. Konfiguration der LVS-Router mit dem Piranha Configuration Tool
/etc/sysconfig/ha/lvs.cf
. Dieses Kapitel beschreibt die grundlegenden Funktionen des Piranha Configuration Tool und der Aktivierung von LVS nach Abschluss der Konfiguration.
Wichtig
lvs.cf
und damit Software-Ausfälle zu vermeiden.
4.1. Benötigte Software
piranha-gui
muss auf dem primären LVS-Router laufen, um das Piranha Configuration Tool benutzen zu können. Um LVS konfigurieren zu können, brauchen Sie mindestens einen Text-Browser, wie links
. Falls Sie von einer anderen Maschine aus auf den LVS-Router zugreifen, brauchen Sie außerdem eine ssh
-Verbindung mit dem primären LVS-Router als Root-Benutzer.
ssh
-Verbindung in einem Terminal-Fenster offen zu haben. Diese Verbindung liefert eine sichere Möglichkeit, pulse
und andere Dienste neu zu starten, Netzwerk-Paketfilter zu konfigurieren und /var/log/messages
auf der Suche nach Fehlern zu überwachen.
4.2. Einloggen in das Piranha Configuration Tool
piranha-gui
service is running and an administrative password has been set, as described in Abschnitt 2.2, »Einrichten eines Passworts für das Piranha Configuration Tool«.
http://localhost:3636
in a Web browser to access the Piranha Configuration Tool. Otherwise, type in the hostname or real IP address for the server followed by :3636
. Once the browser connects, you will see the screen shown in Abbildung 4.1, »The Welcome Panel«.

Abbildung 4.1. The Welcome Panel
piranha
als Username und das administrative Passwort, dass Sie im Feld Password erstellt haben, ein.
4.3. CONTROL/MONITORING
pulse
-Daemon, der LVS-Routing-Tabelle und den von LVS erzeugten nanny
-Prozessen an.
Anmerkung

Abbildung 4.2. The CONTROL/MONITORING Panel
- Auto update
- Die Statusanzeige dieser Seite kann zu einem vom Benutzer konfigurierten Intervall automatisch aktualisiert werden. Klicken Sie auf Auto update und setzen Sie die gewünschte Aktualisierungsfrequenz im Textfeld Update frequency in seconds (der Standardwert ist 10 Sekunden).Es wird nicht empfohlen, die automatische Aktualisierung auf ein Zeitintervall von weniger als 10 Sekunden zu setzen. Andernfalls kann es problematisch werden, das Zeitintervall für die Auto update neu zu konfigurieren, da die Seite zu schnell neu lädt. Falls Sie dieses Problem haben, klicken Sie einfach auf ein anderes Panel und dann zurück auf CONTROL/MONITORING.Das Auto update-Feature funktioniert nicht mit allen Browsern, wie beispielsweise Mozilla.
- Sie können die Statusinformationen manuell aktualisieren, indem Sie auf diese Schaltfläche klicken.
- Ein Klick auf diese Schaltfläche führt Sie zu einer Hilfeseite mit Informationen, wie Sie das administrative Passwort für das Piranha Configuration Tool ändern können.
4.4. GLOBAL SETTINGS

Abbildung 4.3. The GLOBAL SETTINGS Panel
- Primary server public IP
- Geben Sie in diesem Feld die öffentlich routbare reale IP-Adresse für den primären LVS-Knoten ein.
- Primary server private IP
- Enter the real IP address for an alternative network interface on the primary LVS node. This address is used solely as an alternative heartbeat channel for the backup router and does not have to correlate to the real private IP address assigned in Abschnitt 3.1.1, »Konfiguration von Netzwerkschnittstellen für LVS mit NAT«. You may leave this field blank, but doing so will mean there is no alternate heartbeat channel for the backup LVS router to use and therefore will create a single point of failure.
Anmerkung
Die private IP wird nicht für Konfigurationen, dieverwenden, benötigt, da alle realen Server, wie auch die LVS-Directors dieselbe virtuelle IP-Adresse teilen und dieselbe IP-Route-Konfiguration besitzen sollten.Anmerkung
The primary LVS router's private IP can be configured on any interface that accepts TCP/IP, whether it be an Ethernet adapter or a serial port. - Use network type
- Klicken Sie auf die Schaltfläche, um NAT-Routing auszuwählen.Klicken Sie auf die Schaltfläche, um direktes Routing auszuwählen.
- NAT Router IP
- Geben Sie die private floating IP in dieses Textfeld ein. Diese floating IP sollte als Gateway für die realen Server verwendet werden.
- NAT Router netmask
- If the NAT router's floating IP needs a particular netmask, select it from drop-down list.
- NAT Router device
- Verwenden Sie dieses Textfeld, um den Gerätenamen der Netzwerkschnittstelle für die floating IP-Adresse zu definieren, wie beispielsweise
eth1:1
.Anmerkung
Sie sollten einen Alias für die NAT floating IP-Adresse mit der Ethernet-Schnittstelle, die mit dem privaten Netzwerk verbunden ist, kreieren. In diesem Beispiel befindet sich das private Netzwerk auf dereth1
-Schnittstelle, so dasseth1:1
die floating IP-Adresse darstellt.
Warnung
4.5. REDUNDANCY
Anmerkung

Abbildung 4.4. The REDUNDANCY Panel
- Redundant server public IP
- Geben Sie die öffentliche reale IP-Adresse für den Backup-LVS-Router-Knoten an.
- Redundant server private IP
- Enter the backup node's private real IP address in this text field.Falls Sie das Feld Redundant server private IP nicht sehen können, gehen Sie zurück zum Panel GLOBAL SETTINGS, geben Sie eine Primary server private IP Adresse ein und klicken Sie auf .
- Heartbeat Interval (seconds)
- In diesem Feld werden die Anzahl der Sekunden zwischen den Heartbeats gesetzt — Dies ist das Intervall, in dem der Backup-Knoten den funktionalen Status des primären LVS-Knoten überprüft.
- Assume dead after (seconds)
- Falls der primäre LVS-Knoten nicht nach dieser Anzahl an Sekunden antwortet, leitet der Backup-LVS-Knoten die Ausfallsicherung ein.
- Heartbeat runs on port
- In diesem Feld wird der Port eingestellt, auf dem der Heartbeat mit dem primären LVS-Knoten kommuniziert. Der Standardwert beträgt 539, falls dieses Feld leer gelassen wird.
Warnung
4.6. VIRTUAL SERVERS

Abbildung 4.5. The VIRTUAL SERVERS Panel
4.6.1. Der Unterabschnitt VIRTUAL SERVER

Abbildung 4.6. The VIRTUAL SERVERS Subsection
- Name
- Geben Sie einen aussagekräftigen Namen zur Identifikation des virtuellen Servers an. Dieser Name ist nicht der Hostname für die Maschine und sollte daher veranschaulichend und einfach identifizierbar sein. Sie können sogar das Protokoll angeben, das vom virtuellen Server verwendet werden soll, wie zum Beispiel HTTP.
- Application port
- Geben Sie die Portnummer ein, auf der die Dienst-Applikation horcht. Nachdem dieses Beispiel für HTTP-Dienste gilt, wird Port 80 verwendet.
- Wählen Sie im Drop-Down-Menü zwischen UDP und TCP. Web-Server kommunizieren typischerweise via TCP-Protokoll, weswegen dies im oben aufgeführten Beispiel ausgewählt ist.
- Virtual IP Address
- Enter the virtual server's floating IP address in this text field.
- Setzen Sie die Netzmaske für diesen virtuellen Server mit Hilfe des Drop-Down-Menüs.
- Firewall Mark
- Geben Sie keinen ganzzahligen Wert für Firewall-Markierungen in diesem Feld an, bevor Sie nicht Multiport-Protokolle zusammenfassen oder einen virtuellen Multiport-Server für getrennte, jedoch zusammenhängende Protokolle erstellen. In diesem Beispiel besitzt der oben aufgeführte virtuelle Server eine Firewall Mark von 80, da wir Verbindungen zu HTTP auf Port 80 und zu HTTPS auf Port 443 mit Hilfe des Firewall-Markierungswert 80 zusammenfassen. Zusammen mit Persistenz stellt diese Technik sicher, dass Benutzer, die sowohl auf unsichere, als auch sichere Webseiten zugreifen an denselben realen Server weitergeleitet werden und gleichzeitig der Status beibehalten wird.
Warnung
Entering a firewall mark in this field allows IPVS to recognize that packets bearing this firewall mark are treated the same, but you must perform further configuration outside of the Piranha Configuration Tool to actually assign the firewall marks. See Abschnitt 3.4, »Multiport-Dienste und LVS« for instructions on creating multi-port services and Abschnitt 3.5, »Konfiguration von FTP« for creating a highly available FTP virtual server. - Device
- Geben Sie den Namen der Netzwerkschnittstelle, mit der Sie die floating IP-Adresse, die im Feld Virtual IP Address definiert ist, verknüpft haben möchten.Sie sollten einen Alias für die öffentliche floating IP-Adresse mit der Ethernet-Schnittstelle, die mit dem privaten Netzwerk verbunden ist, kreieren. In diesem Beispiel befindet sich das private Netzwerk auf der
eth0
-Schnittstelle, so dasseth0:1
als der Gerätename eingegeben werden sollte.
- Re-entry Time
- Geben Sie einen ganzzahligen Wert ein, der die Länge der Zeitspanne in Sekunden definiert, bevor der aktive LVS-Router versucht, einen realen Server nach Ausfall wieder in den Pool zu integrieren.
- Service Timeout
- Geben Sie einen ganzzahligen Wert ein, der die Länge der Zeitspanne in Sekunden definiert, bevor der reale Server als inaktiv angesehen und aus dem Pool entfernt wird.
- Quiesce server
- Wenn das Auswahlsymbol Quiesce server aktiviert ist, wird - jedes Mal, wenn ein neuer realer Server-Knoten online geht - die Tabelle mit den wenigsten Verbindungen auf Null zurückgesetzt, so dass der aktive LVS-Router Anfragen so routet, als ob alle realen Server frisch zum Pool hinzugefügt wurden. Diese Optionen verhindert, dass sich ein neuer Server beim Eintreten in einen Pool durch eine hohe Anzahl an Verbindungen verzettelt.
- Load monitoring tool
- Der LVS-Router kann die Auslastung auf verschiedenen realen Servern entweder mit Hilfe von
rup
oderruptime
überwachen. Falls Sierup
aus dem Drop-Down-Menü auswählen muss auf jedem realen Server derrstatd
-Dienst laufen. Falls Sieruptime
auswählen, muss auf jedem realen Server derrwhod
-Dienst laufen.Warnung
Die Überwachung der Auslastung ist nicht dasselbe, wie die Lastverteilung und kann in schwer vorhersagbares Scheduling-Verhalten resultieren, wenn sie mit gewichteten Scheduling-Algorithmen verknüpft wird. Weiterhin müssen die realen Server Linux-Maschinen sein, wenn Sie die Überwachung der Auslastung verwenden. - Scheduling
- Select your preferred scheduling algorithm from the drop-down menu. The default is
Weighted least-connection
. For more information on scheduling algorithms, see Abschnitt 1.3.1, »Scheduling-Algorithmen«. - Persistence
- Falls ein Administrator persistente Verbindungen während einer Client-Transaktion zum virtuellen Server benötigt, geben Sie die Anzahl der Sekunden von Inaktivität ein, die verstreichen dürfen, bevor eine Verbindung in diesem Textfeld zeitlich abläuft.
Wichtig
If you entered a value in the Firewall Mark field above, you should enter a value for persistence as well. Also, be sure that if you use firewall marks and persistence together, that the amount of persistence is the same for each virtual server with the firewall mark. For more on persistence and firewall marks, refer to Abschnitt 1.5, »Persistenz und Firewall-Markierungen«. - Um die Persistenz für ein bestimmtes Subnetz einzuschränken, wählen Sie die entsprechende Netzwerkmaske aus dem Drop-Down-Menü.
Anmerkung
Vor der Einführung von Firewall-Markierungen, war die durch Subnetze eingeschränkte Persistenz eine umständliche Möglichkeit, Verbindungen zusammenzufassen. Gegenwärtig ist es am besten, Persistenz in Verbindung mit Firewall-Markierungen zu verwenden, um dasselbe Ergebnis zu erzielen.
Warnung
4.6.2. Der Unterabschnitt REAL SERVER

Abbildung 4.7. The REAL SERVER Subsection

Abbildung 4.8. The REAL SERVER Configuration Panel
- Name
- Ein veranschaulichender Name für den realen Server.
Anmerkung
Dieser Name ist nicht der Hostname für die Maschine und sollte daher veranschaulichend und einfach identifizierbar sein. - Address
- The real server's IP address. Since the listening port is already specified for the associated virtual server, do not add a port number.
- Weight
- An integer value indicating this host's capacity relative to that of other hosts in the pool. The value can be arbitrary, but treat it as a ratio in relation to other real servers in the pool. For more on server weight, see Abschnitt 1.3.2, »Server-Gewichtung und Scheduling«.
Warnung
4.6.3. EDIT MONITORING SCRIPTS Subsection

Abbildung 4.9. The EDIT MONITORING SCRIPTS Subsection
- Sending Program
- Zur etwas fortgeschrittenen Dienstverifizierung können Sie dieses Feld zur Angabe des Pfades zu einem Skript zur Überprüfung eines Dienstes verwenden. Diese Funktion ist besonders für Dienste hilfreich, die dynamisch verändernde Daten erfordern, wie beispielsweise HTTPS oder SSL.Um diese Funktion zu verwenden, müssen Sie ein Skript schreiben, das eine Antwort in Textform zurückgibt, dieses ausführbar machen und den Pfad im Feld Sending Program eingeben.
Anmerkung
To ensure that each server in the real server pool is checked, use the special token%h
after the path to the script in the Sending Program field. This token is replaced with each real server's IP address as the script is called by thenanny
daemon.Nachfolgend ist ein Beispiel-Skript aufgeführt, das bei der Zusammenstellung eines externen Skript zur Überprüfung von Diensten als Vorlage verwendet werden kann:#!/bin/sh TEST=`dig -t soa example.com @$1 | grep -c dns.example.com if [ $TEST != "1" ]; then echo "OK else echo "FAIL" fi
Anmerkung
Falls im Feld Sending Program ein externes Programm eingegeben wird, dann wird das Feld Send ignoriert. - Send
- Geben Sie einen String für den
nanny
-Daemon ein, der an jeden realen Server in diesem Feld gesendet werden soll. Standardmäßig wird das Send-Feld für HTTP vervollständigt. Sie können diesen Wert abhängig von Ihren Anforderungen ändern. Wenn Sie dieses Feld leer lassen, versucht dernanny
-Daemon, den Port zu öffnen und geht davon aus, dass der Dienst läuft, wenn er erfolgreich ist.Nur eine Send-Sequenz ist in diesem Feld gestattet und es kann nur druckbare, ASCII-Zeichen, sowie die folgenden Code-Umschaltzeichen enthalten:- \n für Zeilenumbruch.
- \r für Wagenrücklauf.
- \t für Tabulator.
- \ für den Escape des nächsten Zeichens, das darauf folgt.
- Expect
- Geben Sie eine Antwort in Textform ein, die der Server zurückgeben soll, falls er ordnungsgemäß funktioniert. Falls Sie Ihr eigenes Programm zum Versenden geschrieben haben, geben Sie die Antwort ein, die sie ihm im Falle eines Erfolgs zugewiesen haben.
Anmerkung
Um zu ermitteln, was für einen vorgegebenen Dienst versendet werden soll, können Sie einetelnet
-Verbindung mit dem Port auf dem realen Server herstellen und so sehen, was dieser zurückgibt. So gibt FTP beispielsweise 220 bei der Verbindung zurück, so dass Siequit
im Feld Send und220
im Feld Expect eingeben könnten.
Warnung
4.7. Synchronisation von Konfigurationsdateien
/etc/sysconfig/ha/lvs.cf
— Die Konfigurationsdatei für die LVS-Router./etc/sysctl
— Die Konfigurationsdatei, die neben anderen Dingen die Paketweiterleitung im Kernel aktiviert./etc/sysconfig/iptables
— Falls Sie Firewall-Markierungen verwenden, sollten Sie eine dieser Dateien synchronisieren, abhängig davon, welchen Paketfilter Sie verwenden.
Wichtig
/etc/sysctl.conf
und /etc/sysconfig/iptables
ändern sich nicht, wenn Sie LVS mit dem Piranha Configuration Tool konfigurieren.
4.7.1. Synchronisation von lvs.cf
/etc/sysconfig/ha/lvs.cf
erstellt oder aktualisiert wird, müssen Sie sie auf den Backup-LVS-Router-Knoten kopieren.
Warnung
lvs.cf
-Dateien besitzen. LVS-Konfigurationsdateien unter den LVS-Router-Knoten können eine Ausfallsicherung verhindern.
scp
durchgeführt werden.
Wichtig
scp
the sshd
must be running on the backup router, see Abschnitt 2.1, »Konfiguration von Diensten auf den LVS-Routern« for details on how to properly configure the necessary services on the LVS routers.
lvs.cf
-Dateien zwischen den Router-Knoten zu synchronisieren:
scp /etc/sysconfig/ha/lvs.cf n.n.n.n:/etc/sysconfig/ha/lvs.cf
4.7.2. Synchronisation von sysctl
sysctl
-Datei wird in den meisten Situationen nur einmal modifiziert. Diese Datei wird zum Zeitpunkt des Bootens gelesen und weist den Kernel an, Paketweiterleitung zu aktivieren.
Wichtig
4.7.3. Synchronisation von Regeln zur Netzwerk-Paket-Filterung
iptables
verwenden, müssen Sie die entsprechende Konfigurationsdatei auf dem Backup-LVS-Router synchronisieren.
scp /etc/sysconfig/iptables n.n.n.n:/etc/sysconfig/
ssh
-Sitzung zum Backup-Router oder loggen Sie sich als Root auf der Maschine ein und geben folgenden Befehl ein:
/sbin/service iptables restart
4.8. Starten von LVS
ssh
-Sitzungen zum primären LVS-Router am besten.
tail -f /var/log/messages
/sbin/service pulse start
pulse
service's startup in the terminal with the kernel log messages. When you see the following output, the pulse daemon has started properly:
gratuitous lvs arps finished
/var/log/messages
zu beenden.
Anhang A. Die Verwendung von LVS in einem Red Hat Cluster

Abbildung A.1. LVS with a Red Hat Cluster
- Erste Tier — LVS-Router, die Lastverteilung durchführen, um Web-Anfragen zu verteilen.
- Zweite Tier — Eine Reihe von Web-Servern, die die Anfragen bearbeiten.
- Dritte Tier — Ein Red Hat Cluster, das Daten für die Web-Server liefert.
Anhang B. Revision History
Versionsgeschichte | ||||
---|---|---|---|---|
Version 5-8.400 | 2013-10-31 | |||
| ||||
Version 5-8 | 2012-07-18 | |||
| ||||
Version 2.0-0 | Mon Feb 08 2010 | |||
| ||||
Version 1.0-0 | Tue Jan 20 2009 | |||
|
Stichwortverzeichnis
Symbole
- /etc/sysconfig/ha/lvs.cf file, /etc/sysconfig/ha/lvs.cf
A
- arptables_jf, Direktes Routing und arptables_jf
C
- chkconfig, Konfiguration von Diensten auf den LVS-Routern
- cluster
- using LVS with Red Hat Cluster, Die Verwendung von LVS in einem Red Hat Cluster
- components
- of LVS, LVS Components
D
- direct routing
- and arptables_jf, Direktes Routing und arptables_jf
F
- feedback, Feedback
- FTP, Konfiguration von FTP
- (Siehe auch LVS)
I
- introduction, Introduction
- other Red Hat Enterprise Linux documents, Introduction
- iptables , Konfiguration von Diensten auf den LVS-Routern
- ipvsadm program, ipvsadm
J
- job scheduling, LVS, LVS Scheduling-Überblick
L
- least connections (Siehe job scheduling, LVS)
- LVS
- /etc/sysconfig/ha/lvs.cf file, /etc/sysconfig/ha/lvs.cf
- components of, LVS Components
- daemon, lvs
- date replication, real servers, Datenreplikation und Datenaustausch zwischen realen Servern
- direct routing
- and arptables_jf, Direktes Routing und arptables_jf
- requirements, hardware, Direktes Routing, LVS via direktem Routing
- requirements, network, Direktes Routing, LVS via direktem Routing
- requirements, software, Direktes Routing, LVS via direktem Routing
- initial configuration, Erste LVS-Konfiguration
- ipvsadm program, ipvsadm
- job scheduling, LVS Scheduling-Überblick
- lvs daemon, lvs
- LVS routers
- configuring services, Erste LVS-Konfiguration
- necessary services, Konfiguration von Diensten auf den LVS-Routern
- primary node, Erste LVS-Konfiguration
- multi-port services, Multiport-Dienste und LVS
- nanny daemon, nanny
- NAT routing
- enabling, Aktivierung von NAT-Routing auf den LVS-Routern
- requirements, hardware, Das NAT LVS-Netzwerk
- requirements, network, Das NAT LVS-Netzwerk
- requirements, software, Das NAT LVS-Netzwerk
- overview of, Überblick über Linux Virtual Server
- packet forwarding, Aktivierung der Paketweiterleitung
- Piranha Configuration Tool , Piranha Configuration Tool
- pulse daemon, pulse
- real servers, Überblick über Linux Virtual Server
- routing methods
- NAT, Routing-Methoden
- routing prerequisites, Konfiguration von Netzwerkschnittstellen für LVS mit NAT
- scheduling, job, LVS Scheduling-Überblick
- send_arp program, send_arp
- shared data, Datenreplikation und Datenaustausch zwischen realen Servern
- starting LVS, Starten von LVS
- synchronizing configuration files, Synchronisation von Konfigurationsdateien
- three-tier
- Red Hat Cluster Manager, A Three-Tier LVS Configuration
- using LVS with Red Hat Cluster, Die Verwendung von LVS in einem Red Hat Cluster
- lvs daemon, lvs
M
- multi-port services, Multiport-Dienste und LVS
- (Siehe auch LVS)
N
- nanny daemon, nanny
- NAT
- enabling, Aktivierung von NAT-Routing auf den LVS-Routern
- routing methods, LVS, Routing-Methoden
- network address translation (Siehe NAT)
P
- packet forwarding, Aktivierung der Paketweiterleitung
- (Siehe auch LVS)
- Piranha Configuration Tool , Piranha Configuration Tool
- CONTROL/MONITORING , CONTROL/MONITORING
- EDIT MONITORING SCRIPTS Subsection, EDIT MONITORING SCRIPTS Subsection
- GLOBAL SETTINGS , GLOBAL SETTINGS
- limiting access to, Zugangsbeschränkung zum Piranha Configuration Tool
- login panel, Einloggen in das Piranha Configuration Tool
- necessary software, Benötigte Software
- overview of, Konfiguration der LVS-Router mit dem Piranha Configuration Tool
- REAL SERVER subsection, Der Unterabschnitt REAL SERVER
- REDUNDANCY , REDUNDANCY
- setting a password, Einrichten eines Passworts für das Piranha Configuration Tool
- VIRTUAL SERVER subsection, Der Unterabschnitt VIRTUAL SERVER
- Firewall Mark , Der Unterabschnitt VIRTUAL SERVER
- Persistence , Der Unterabschnitt VIRTUAL SERVER
- Scheduling , Der Unterabschnitt VIRTUAL SERVER
- Virtual IP Address , Der Unterabschnitt VIRTUAL SERVER
- VIRTUAL SERVERS , VIRTUAL SERVERS
- piranha-gui service, Konfiguration von Diensten auf den LVS-Routern
- piranha-passwd , Einrichten eines Passworts für das Piranha Configuration Tool
- pulse daemon, pulse
- pulse service, Konfiguration von Diensten auf den LVS-Routern
R
- real servers
- configuring services, Konfiguration von Diensten auf den realen Servern
- Red Hat Cluster
- and LVS, Die Verwendung von LVS in einem Red Hat Cluster
- using LVS with, Die Verwendung von LVS in einem Red Hat Cluster
- round robin (Siehe job scheduling, LVS)
- routing
- prerequisites for LVS, Konfiguration von Netzwerkschnittstellen für LVS mit NAT
S
- scheduling, job (LVS), LVS Scheduling-Überblick
- security
- Piranha Configuration Tool , Zugangsbeschränkung zum Piranha Configuration Tool
- send_arp program, send_arp
- sshd service, Konfiguration von Diensten auf den LVS-Routern
- synchronizing configuration files, Synchronisation von Konfigurationsdateien
W
- weighted least connections (Siehe job scheduling, LVS)
- weighted round robin (Siehe job scheduling, LVS)