Netzwerk des Clusters konfigurieren

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird.
Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar.

Allgemein

Dieser Artikel soll einen Überblick geben, auf welche Art und Weise man einer VE eine Netzwerkverbindung zuweisen kann.

Dazu gibt es 3 Möglichkeiten:

  • venet: Einfachste Lösung. Auch über Virtuozzo Control Center einsehbar und änderbar.
  • veth
  • Netzwerkadapter exklusiv für VE

Unterschied zwischen venet und veth

  • venet
    • wird default verwendet
    • Sieht wie eine Peer-To-Peer Verbindung zwischen VE und Host System aus.
    • Höhere Performance als veth.
  • veth
    • Am Host System wird ein neuer virtueller Netzwerkadapter angelegt. Dieser wird dann der VE zugewiesen.
    • Hat eine eigene MAC-Adresse
    • Es stehen alle Möglichkeiten eines normalen Netzwerkadapters zur Verfügung. (Natürlich auch alle Risiken, da eine VE uneingeschränkten Zugang zum Netzwerk hat.)

Siehe auch: http://wiki.openvz.org/Differences_between_venet_and_veth

Konfiguration mit venet

node1/2 # vzctl set <VEID> --ipadd <IP Adresse> --save
     ve # ip route add <IP Netzadresse>/<Subnetzmaske-dezimal> dev <Name des Netzwerks> src <IP Adresse>

Am besten den 2. Befehl in das VE init startup einfügen.

     ve # vi /etc/rc.local

Siehe auch: http://wiki.openvz.org/Virtual_network_device

Konfiguration weiterer Geräte im Layer 2 Netzwerk

Bei einem Failover/Switchover sind venet IP-Adressen über eine neue MAC-Adresse erreichbar. Damit die Geräte im Netzwerk – vor allem der Router – mitbekommen, dass diese IP Adressen nun über eine andere MAC-Adresse erreichbar sind, werden so genannte gratuitous ARPs versendet. Dadurch aktualisieren die Geräte im Netzwerk ihre ARP-Caches. Stellen Sie sicher, dass Ihr Router gratuitous ARP akzeptiert und entsprechend den ARP-Cache aktualisiert.

Siehe auch: http://de.wikipedia.org/wiki/Address_Resolution_Protocol#Gratuitous_ARP und http://wiki.wireshark.org/Gratuitous_ARP

Konfiguration mit veth

Hinweis: Bei der Verwendung von veth in CentOS VEs bitte diesen Artikel beachten: Virtuozzo CentOS VE mit veth Fehler: sysfs class device: Invalid argument

Die folgenden Schritte zeigen die Konfiguration mit einem veth Device. Alle Schritte sind nur am aktiven Node durchzuführen (die Konfiguration wird automatisch gespiegelt). Falls das betroffene VE schon mit einem venet Device konfiguriert ist und die konfigurierte IP des venet Devices nun für das veth Device verwendet werden soll, muss diese konfigurierte IP beim venet Device zuerst entfernt werden:

node1 # vzctl set <VEID> --ipdel <IP Adresse> --save

Nun kann die eigentlich Konfiguration durchgeführt werden:

node1 # vznetcfg br new <Name der Bridge> <Name des Netzwerks>
node1 # vznetcfg br attach <Name des Netzwerks> <Devicename am Host>
node1 # vzctl set <VEID> --netif_add <Devicename in VE> --save
node1 # vzctl set <VEID> --ifname <Devicename in VE> --network <Name des Netzwerks> --ipadd <IP Adresse des Device in VE>/<Subnetz-Maske> --gw <IP Adresse des Standardgateways> --save

Bei dem 2. Schritt ist zu beachten, das das physikalische Netzwerkdevice am Host geändert wird (eth0 --> peth0) und ein virtuelles Device (eth0) angelegt wird. Dies führt zu Problemen mit Heartbeat und es muss daher vorher die externe Netzwerkverbindung innerhalb von Heartbeat deaktiviert werden. Ausnahme: wenn am Host optionale Zusatz-Netzwerkkarten für diese Konfiguration verwendet werden (d.h. ab eth2) ist es nicht erforderlich den externen Heartbeat-Link (der über eth0 geht) zu deaktivieren.

Des weiteren wird bei Verwendung von veth nicht mehr das Standardgateway des Basissystems wie bei venet benutzt. Es muss daher explizit für jede VE gesetzt werden.

Siehe auch: http://wiki.openvz.org/Virtual_Ethernet_device

Deaktivieren des externen Heartbeat-Links für die Verwendung von eth0

  • Per Webbrowser auf die Clustermanagement-Seite
  • Unter Netzwerk "Externen Heartbeat aktivieren" deaktivieren. ACHTUNG! Hierbei wird Heartbeat zuerst auf node2 und danach auf node1 gestoppt. Anschließend wird es in umgekehrter Reihenfolge wieder gestartet. Dadurch werden die von Heartbeat verwalteten Dienste gestoppt und wieder gestartet.

Hinweis: Unter Linux hat eine Bridge in der Standardkonfiguration eine Verzögerung (Delay) von 30 Sekunden.[1] Dadurch kann es bei einem (Live) Switchover zu einer Late heartbeat Meldung für einen etwaig konfigurierten Pingnode kommen:

Jan 13 09:11:44 sr2500test-node2 heartbeat[18544]: WARN: Late heartbeat: Node 192.168.1.254: interval 40000 ms

Beim 2 HE Cluster liegt die in Heartbeat konfigurierte Deadtime bei 60 Sekunden - somit treten hier in der Regel keine Probleme auf. Beim 1 HE Cluster liegt die in Heartbeat konfigurierte Deadtime bei 30 Sekunden. Wenn Sie bei einem 1 HE Cluster veth auf eth0 verwenden empfehlen wir daher keinen Pingnode zu konfigurieren.

Nutzung von zusätzlichen Netzwerk-Interfaces (z.B. eth2)

Damit ein zusätzliches Netzwerk-Interface (z.B. eth2) genutzt werden kann, muss auf beiden Nodes eine entsprechende Konfigurationsdatei angelegt werden, damit das Interface standardmäßig beim Booten des Servers aktiviert wird:

[root@node1/2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
ONBOOT=yes
TYPE=Ethernet
[root@node1/2 ~]# 

Informationen zum Einbau von zusätzlichen Netzwerkkarten im Cluster finden Sie im Artikel Netzwerkkarte beim Thomas Krenn HA Linux Cluster nachrüsten.

Konfiguration Netzwerk Switch bei Verwendung von veth

Beim Einsatz eines veth-Devices wird bei einem Failover/Switchover auch die MAC-Adresse des veth-Devices mit umgezogen. Somit ist diese MAC-Adresse nach dem Failover auf einem anderen Port des Netzwerk Switches erreichbar.

Manche Netzwerk Switches (z.B. 3com SuperStack) merken sich die Zuordnung MAC-Adresse <-> Port eine bestimmte Zeit lang. Bei 3com heißt dieser Parameter aging time und kann beispielsweise auf einen Wert von 10 bis 300 Sekunden konfiguriert werden. Für den Betrieb des Clusters soll diese Zeit auf einen möglichst kleinen Wert konfiguriert werden, damit das veth-Device nach einem Failover wieder schnell erreichbar ist.

Konfiguration mit Exklusivzugriff auf Netzwerkadapter von VE

Diese Möglichkeit gibt ein Netzwerkinterface vollständig an ein VE weiter. Sie darf daher nur zusätzliche Netzwerkkarten genutzt werden (eth2, eth3, usw.) - nicht aber für eth0 und eth1.

node1/2 # vzctl set <VEID> --netdev_add <Devicename am Host> --save
     ve # ifconfig <Devicename in VE> <IP Adresse des Device in VE> netmask <Netzmaske>

Einzelnachweise

  1. http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge#Does_DHCP_work_over.2Fthrough_a_bridge.3F

Weitere Informationen

Anmerkung: Es können auch VLANs verwendet werden. Siehe dazu VLANs in Virtuozzo konfigurieren.


Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer, tätig im Bereich Communications / Knowledge Transfer bei Thomas-Krenn, hat sein Studium zu Computer- und Mediensicherheit an der FH Hagenberg abgeschlossen. Er ist regelmäßig Autor in Fachzeitschriften und Speaker bei Konferenzen wie LinuxCon, OSDC, OSMC, LinuxTag u.v.m. Seine Freizeit gestaltet er sehr abwechslungsreich. In einem Moment absolviert er seinen Abschluss im Klavierspielen, im anderen läuft er beim Linzmarathon in der Staffel mit oder interessiert sich für OpenStreetMap.


Das könnte Sie auch interessieren

2 HE Intel SR2500 Cluster
Ethernet Latenz Einfluss auf DRBD
Ping round trip time des Clusters