Netzwerk des Clusters konfigurieren
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
Weitere Informationen
Anmerkung: Es können auch VLANs verwendet werden. Siehe dazu VLANs in Virtuozzo konfigurieren.
Autor: Werner Fischer Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.
|