From 9fefe8fadad4fcf0783e91c2440db30e54e8a2d1 Mon Sep 17 00:00:00 2001 From: Benedict Reuschling Date: Sat, 12 Apr 2014 13:20:00 +0000 Subject: [PATCH] Update to r43918: Update the CARP section to reflect changes between how FreeBSD 9.X and 10.X handle this device. Thanks to the submitter for doing the work on this and sending it to me. Submitted by: Bjoern Heidotting Obtained from: The FreeBSD German Documentation Project --- .../handbook/advanced-networking/chapter.xml | 385 ++++++++++-------- 1 file changed, 204 insertions(+), 181 deletions(-) diff --git a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml index 569097bd97..55fd5c02ba 100644 --- a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml +++ b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml @@ -5,7 +5,7 @@ $FreeBSD$ $FreeBSDde:$ - basiert auf: r43904 + basiert auf: r43918 --> Weiterführende Netzwerkthemen @@ -4526,7 +4526,7 @@ margaux:ha=0123456789ab:tc=.def100 TFTP verwendet werden, muss beim Kompilieren die Option LOADER_TFTP_SUPPORT in der Datei - /etc/make.conf eingetragen sein. Sehen + /etc/make.conf eingetragen sein. Sehen Sie sich die Datei /usr/share/examples/etc/make.conf für weitere Anweisungen an. @@ -5719,7 +5719,7 @@ hint.ppc.0.irq="7" Danach überprüfen Sie, ob die Kernelkonfigurationsdatei die Zeile device plip enthält, oder ob das - Kernelmodul plip.ko geladen wurde. In + Kernelmodul plip.ko geladen wurde. In beiden Fällen sollte die parallele Schnittstelle von &man.ifconfig.8; angezeigt werden: @@ -5911,7 +5911,7 @@ round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms Es gibt verschiedene Arten von IPv6-Adressen: Unicast-, Anycast- und Multicast-Adressen. - Unicast-Adressen sind die herkömlichen Adressen. Ein + Unicast-Adressen sind die herkömlichen Adressen. Ein Paket, das an eine Unicast-Adresse gesendet wird, kommt nur an der Schnittstelle an, die dieser Adresse zugeordnet ist. @@ -6433,6 +6433,7 @@ route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr" CARP - Common Address Redundancy Protocol TomRhodesBeigetragen von + AllanJudeAktualisiert von @@ -6442,215 +6443,237 @@ route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr" Common Address Redundancy Protocol (CARP) Das Common Address Redundancy - Protocol (CARP) erlaubt es, + Protocol (CARP) erlaubt es, mehreren Rechnern die gleiche IP-Adresse - zuzuweisen. Durch ein solches Vorgehen läßt sich - beispielsweise die Verfügbarkeit bestimmter Dienste - verbessern oder die Last zwischen einzelnen Systemen besser - verteilen. Den auf diese Art und Weise konfigurierten Systemen - kann zusätzlich eine eigene (im Netzwerk eindeutige) - IP-Adresse zugewiesen werden (wie dies auch - im folgenden Beispiel erfolgt). + zuzuweisen und Hochverfügbarkeit + bereitzustellen. Das bedeutet, dass ein oder mehrere Rechner + ausfallen können und die anderen Rechner transparent + einspringen, ohne das der Benutzer etwas von einem Ausfall + mitbekommt. Neben der gemeinsamen + IP-Adresse, haben die jeweiligen Rechner auch + eine eindeutige IP-Adresse zur Verwaltung und + Konfiguration, wie in den folgenden Beispielen zu sehen + ist. - Um CARP zu aktivieren, müssen Sie die - &os;-Kernelkonfigurationsdatei um die folgende Option erweitern - und danach den &os;-Kernel (wie in beschrieben) neu bauen: + + Hochverfügbarkeit mit <acronym>CARP</acronym> - device carp + CARP wird häufig verwendet, um einen + oder mehrere Dienste hochverfügbar zu machen. Dieses Beispiel + konfiguriert eine Failover-Unterstützung mit drei Servern (mit + jeweils eigener, eindeutiger IP-Adresse), + die alle den gleichen Web-Inhalt anbieten. Die Lastverteilung + dieser Maschinen wird dabei über Round + Robin DNS konfiguriert. + Mit Ausnahme des Hostnamens und der + IP-Management-Adresse sind Master- und + Backup-Maschinen identisch konfiguriert. Die Server müssen + die gleiche Konfiguration und die gleichen Dienste aktiviert + haben. Tritt ein Failover auf, können Anfragen an den Dienst + mit der gemeinsam genutzten IP-Adresse nur + dann richtig beantwortet werden, wenn der Backup-Server + Zugriff auf denselben Inhalt hat. Die Backup-Maschine verfügt + über zwei zusätzliche CARP-Schnittstellen, + eine für jede IP-Adresse des + Master-Content-Servers. Sobald ein Fehler auftritt, übernimmt + der Backup-Server die IP-Adresse des + ausgefallenen Master-Servers. Die Benutzer werden einen + Dienstausfall überhaupt nicht bemerken. - Alternativ können Sie aber auch das Kernelmodul - if_carp.ko beim Systemstart - automatisch laden. Dazu nehmen Sie die folgende Zeile - in die Datei /boot/loader.conf - auf: + Dieses Beispiel benutzt zwei verschiedene Master namens + hosta.example.org und + hostb.example.org mit einem + gemeinsamen Backup namens + hostc.example.org. - if_carp_load="YES" + Jede virtuelle IP-Adresse hat eine + eindeutige Identifikationsnummer, die als + Virtual Host Identification + (VHID) bekannt ist. Alle Maschinen, die + sich eine IP-Adresse teilen, verwenden die + gleiche VHID. Die VHID + für jede einzelne IP-Adresse muss, + entsprechend der Broadcast-Domäne der Netzwerkschnittstelle, + eindeutig sein. + - Danach ist CARP auf Ihrem System - verfügbar und kann über verschiedene - sysctl-Optionen (OIDs) - gesteuert werden. + + <acronym>CARP</acronym> mit &os; 10 (und neuer) + benutzen - - - - - OID - Beschreibung - - + Unterstützung für CARP erhalten Sie + durch das Laden des Kernelmoduls carp.ko + in /boot/loader.conf: - - - net.inet.carp.allow - Akzeptiert ankommende CARP-Pakete. - In der Voreinstellung aktiviert. - + carp_load="YES" - - net.inet.carp.preempt - Diese Option deaktiviert alle - CARP-Geräte, sobald eines von - ihnen ausfällt. In der Voreinstellung - deaktiviert. - + Das CARP-Modul kann auch, wie in beschrieben, direkt in den &os; + Kernel eingebunden werden: - - net.inet.carp.log - Hat diese Variable den Wert 0, wird - kein Protokoll generiert, während mit dem Wert - 1 nur inkorrekte - CARP-Pakete protokolliert werden. Hat - die Variable einen Wert größer - 1, werden nur die Statuswechsel von - CARP-Geräten protokolliert. In der - Voreinstellung hat diese Variable den Wert - 1. - + device carp - - net.inet.carp.arpbalance - Gleicht die Netzwerklast im lokalen Netzwerk durch - den Einsatz von ARP aus. In der - Voreinstellung deaktiviert. - - - - net.inet.carp.suppress_preempt - Eine nur lesbare OID, die - den Preemption Suppression-Status - anzeigt. Preemption kann verhindert werden. Dies auch dann, - wenn ein Gerät ausfällt. Hat die Variable - den Wert 0, bedeutet dies, dass Preemption - nicht verhindert wird. Tritt ein Problem auf, wird der Wert - dieser OID um 1 - erhöht. - - - - - - Das CARP-Gerät selbst erzeugen Sie mit dem - ifconfig-Befehl: - - &prompt.root; ifconfig carp0 create - - Damit Sie dieses Protokoll in Ihrem Netzwerk einsetzen - können, muss jede Netzwerkkarte eine eindeutige - Identifikationsnummer, die sogenannte VHID - (Virtual Host Identification), - besitzen, da sich ansonsten die Rechner Ihres Netzwerks nicht - voneinander unterscheiden lassen. - - - Die Serververfügbarkeit mit CARP - verbessern - - Wie bereits weiter oben erwähnt wurde, können Sie - CARP dazu verwenden, die Verfübarkeit - Ihrer Server zu verbessern. Im folgenden Bespiel werden - insgesamt drei Server (mit jeweils eigener, eindeutiger - IP-Adresse), die alle den gleichen Inhalt - anbieten, in einer Round Robin - DNS-Konfiguration eingerichtet. - Der Backup-Server verfügt über zwei - CARP-Schnittstellen (für die beiden - IP-Adressen der Content-Server). Tritt bei - einem Content-Server ein Problem auf, übernimmt der - Backup-Server die IP-Adresse des - ausgefallenen Servers. Dadurch sollte die Auswahl eines Servers - vom Anwender nicht bemerkt werden. Der Backup-Server muss - identisch konfiguriert sein und die gleichen Daten und Dienste - anbieten wie das System, das er ersetzen soll. - - Die beiden Content-Server werden (abgesehen von ihren - jeweiligen Hostnamen und VHIDs) identisch - konfiguriert und heißen in unserem Beispiel - hosta.example.org beziehungsweise - hostb.example.org. Damit Sie - CARP einsetzen können, müssen - Sie als Erstes die Datei rc.conf auf - beiden Systemen anpassen. Für das System - hosta.example.org nehmen Sie dazu folgende - Zeilen in rc.conf auf: + Hostname, IP-Management-Adresse, + Subnetzmaske, gemeinsame IP-Adresse und + VHID werden durch das Hinzufügen in + /etc/rc.conf gesetzt. Dieses Beispiel + ist für hosta.example.org: hostname="hosta.example.org" -ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0" -cloned_interfaces="carp0" -ifconfig_carp0="vhid 1 pass testpass 192.168.1.50/24" +ifconfig_em0="inet 192.168.1.3 netmask 255.255.255.0" +ifconfig_em0_alias0="vhid 1 pass testpass alias 192.168.1.50/32" - Für das System hostb.example.org - benötigen Sie zusätzlich folgende Zeilen in - rc.conf: + Beispiel für + hostb.example.org: hostname="hostb.example.org" -ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0" -cloned_interfaces="carp0" -ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24" +ifconfig_em0="inet 192.168.1.4 netmask 255.255.255.0" +ifconfig_em0_alias0="vhid 2 pass testpass alias 192.168.1.51/32" Achten Sie unbedingt darauf, dass die durch die Option - an ifconfig - übergebenen Passwörter auf beiden Systemen - identisch sind, da + an &man.ifconfig.8; übergebenen + Passwörter auf beiden Systemen identisch sind, da carp-Geräte nur mit Systemen kommunizieren können, die über ein korrektes Passwort - verfügen. Beachten Sie weiters, dass sich die - VHIDs der beiden Systeme unterscheiden - müssen. + verfügen. - Nun richten Sie noch das dritte System, - provider.example.org, ein, das aktiviert - wird, wenn eines der beiden zuvor konfigurierten Systeme - ausfällt. Dieses dritte System benötigt zwei - carp-Geräte, um bei Bedarf - eines der beiden anderen - Systeme ersetzen zu können. Dazu konfigurieren Sie - rc.conf analog zur folgenden - Beispielkonfiguration: + Die dritte Maschine, + hostc.example.org ist so + konfiguriert, das sie aktiviert wird, wenn eines der beiden + zuvor konfigurierten Systeme ausfällt. Diese Maschine ist mit + zwei CARP VHIDs + konfiguriert, eine für jede virtuelle + IP-Adresse der beiden Master-Server. Die + Option (CARP + advertising skew) wird gesetzt, um sicherzustellen, dass sich + der Backup-Server später ankündigt wie der Master-Server. + steuert die Rangfolge für den Fall + das mehrere Backup-Server zur Verfügung stehen. Passen Sie + die Konfiguration in /etc/rc.conf + an: - hostname="provider.example.org" -ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0" -cloned_interfaces="carp0 carp1" -ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24" -ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24" + hostname="hostc.example.org" +ifconfig_em0="inet 192.168.1.5 netmask 255.255.255.0" +ifconfig_em0_alias0="vhid 1 advskew 100 pass testpass alias 192.168.1.50/32" +ifconfig_em1_alias0="vhid 2 advskew 100 pass testpass alias 192.168.1.51/32" - Durch die beiden carp-Geräte - ist es provider.example.org möglich, - festzustellen, ob eines der beiden anderen Systeme nicht mehr - reagiert. In diesem Fall übernimmt - provider.example.org die - IP-Adresse des betroffenen Systems. + Durch die zwei konfigurierten CARP + VHIDs ist + hostc.example.org in der Lage + festzustellen, wenn einer der Master-Server nicht mehr + reagiert. Wenn der Master-Server sich später ankündigt als + der Backup-Server, übernimmt der Backup-Server die gemeinsame + IP-Adresse, bis der Master-Server erneut + verfügbar ist. + + Preemption ist + standardmäßig deaktiviert. Wird + Preemption aktiviert, kann es + vorkommen, dass hostc.example.org die + virtuelle IP-Adresse nicht wieder an den + Master-Server zurückgibt. Der Administrator kann jedoch den + Backup-Server dazu zwingen, die übernommene + IP-Adresse wieder an den Master-Server + zurückzugeben: + + &prompt.root; ifconfig em0 vhid 1 state +backup + + An dieser Stelle muss entweder das Netzwerk neu gestartet, + oder die Machine neu gebootet werden, um + CARP zu aktivieren. + + Die Funktionalität von CARP kann, wie + in der Manualpage &man.carp.4; beschrieben, über verschiedene + &man.sysctl.8; Parameter kontrolliert werden. Mit dem Einsatz + von &man.devd.8; können weitere Aktionen zu + CARP-Ereignissen ausgelöst werden. + + + + <acronym>CARP</acronym> mit &os; 9 (und älter) + benutzen + + Unterstützung für CARP erhalten Sie + durch das Laden des Kernelmoduls carp.ko + in /boot/loader.conf: + + if_carp_load="YES" + + CARP kann auch direkt in den Kernel + eingebunden werden. Diese Prozedur wird in beschrieben: + + device carp + + Die CARP-Schnittstellen selbst können + mittels &man.ifconfig.8; erstellt werden: + + &prompt.root; ifconfig carp0 create + + + Konfigurieren Sie Hostnamen, + IP-Management-Adresse, die gemeinsam + genutzte IP-Adresse und die + VHID, indem Sie die erforderlichen Zeilen + in /etc/rc.conf hinzufügen. Hierzu ein + Beispiel für + hosta.example.org: + + hostname="hosta.example.org" +ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0" +cloned_interfaces="carp0" +ifconfig_carp0="vhid 1 pass testpass 192.168.1.50/24" + + Beispiel für + hostb.example.org: + + hostname="hostb.example.org" +ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0" +cloned_interfaces="carp0" +ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24" - Ist im installierten &os;-Kernel die Option - "preemption" aktiviert, kann es sein, dass - provider.example.org die übernommene - IP-Adresse nicht mehr an den - Content-Server zurückgibt (wenn dieser wieder - funktioniert). In diesem Fall muss ein Administrator die - entsprechende Schnittstelle dazu zwingen, dies zu tun. - Dazu gibt er auf dem Rechner - provider.example.org den folgenden - Befehl ein: + Preemption ist im GENERIC + &os; Kernel deaktiviert. Haben Sie jedoch + Preemption in einem + angepassten Kernel aktiviert, dass + hostc.example.org die virtuelle + IP-Adresse nicht wieder an den + Master-Server zurückgibt. Der Administrator kann jedoch den + Backup-Server dazu zwingen, die übernommene + IP-Adresse wieder an den Master-Server + zurückzugeben: - &prompt.root; ifconfig carp0 down && ifconfig carp0 up + &prompt.root; ifconfig carp0 down && ifconfig carp0 up - Dieser Befehl muss auf das - carp-Gerät ausgeführt - werden, das dem betroffenen System zugeordnet ist. + Dieser Befehl muss auf dem + carp-Gerät ausgeführt werden, dass dem + betroffenen System zugeordnet ist. - Damit ist CARP vollständig - konfiguriert und der Testbetrieb kann beginnen. Zuvor - müssen Sie allerdings noch alle Systeme neu starten - (beziehungsweise die Netzwerkkonfiguration auf allen - Systemen neu einlesen), um die Einstelllungen zu - übernehmen. + An dieser Stelle muss entweder das Netzwerk neu gestartet, + oder die Maschine neu gebootet werden, um + CARP zu aktivieren. - Für weitere Informtionen lesen Sie bitte die Manualpage - &man.carp.4;. + Die Funktionalität von CARP kann, wie + in der Manualpage &man.carp.4; beschrieben, über verschiedene + &man.sysctl.8; Parameter kontrolliert werden. Mit dem Einsatz + von &man.devd.8; können weitere Aktionen zu + CARP-Ereignissen ausgelöst werden.