Netzwerk des Clusters konfigurieren
Aus Wiki Thomas-Krenn.AG
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:
- 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.ethereal.com/Gratuitous_ARP
Konfiguration mit veth
Die folgenden Schritte zeigen die Konfiguration mit einem veth Device. 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/2 # vzctl set <VEID> --ipdel <IP Adresse> --save
Nun kann die eigentlich Konfiguration durchgeführt werden:
node1/2 # vznetcfg br new <Name der Bridge> <Name des Netzwerks> node1/2 # vznetcfg br attach <Name des Netzwerks> <Devicename am Host> node1/2 # vzctl set <VEID> --netif_add <Devicename in VE> --save node1/2 # vzctl set <VEID> --ifname <Devicename in VE> --network <Name des Netzwerks> --ipadd <IP Adresse des Device in VE> --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.
Deaktivieren von externen Heartbeat-Link:
- 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.
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
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
node1/2 # vzctl set <VEID> --netdev_add <Devicename am Host> --save
ve # ifconfig <Devicename in VE> <IP Adresse des Device in VE> netmask <Netzmaske>
Anmerkung: Es kann vorher ein VLAN auf das Device konfiguriert werden, welches dann der VE weitergegeben wird. Siehe VLANs in Virtuozzo konfigurieren
