Netzwerk des Clusters konfigurieren

Aus Wiki Thomas-Krenn.AG
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

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:

Unterschied zwischen venet und veth

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

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.


Share/Save/Bookmark  Feedback zu diesem Artikel geben
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Kategorien
Drucken/exportieren
Werkzeuge