XEN und “RTNETLINK answers: File exists”

In einer XEN-basierten Infrastruktur lässt sich im XenCenter unkompliziert einer VM eine weitere Netzwerkschnittstelle hinzufügen. Überlicherweise funktioniert das sogar ohne die Maschine herunterzufahren (“Hot-Plugging”). Leider ist das nicht immer der Fall und kann Fehlermeldungen auslösen, die nicht direkt auf das Problem hinweisen, z.B.

$ ifup eth1
RTNETLINK answers: File exists
Failed to bring up eth1.

Die Lösung ist einfach, wenn die Maschine nicht ununterbrochen am Netz bleiben muss:

Wir gehen davon aus, dass die VM zuvor neben dem Loopback-Interface lo lediglich das Interface eth0 verwendet hat und nun eth1 zusätzlich benutzt werden soll.

Zunächst trennt man das Netzwerkinterface eth1 im laufenden Betrieb von der virtuellen Maschine (im Tab “Networking”). Dann kommentiert man die Interface-Definition für eth1 in der Datei /etc/network/interfaces aus und fährt die VM im XenCenter herunter. Anschließend wird im ausgeschalteten Zustand eine neue Netzwerkkarte mit der gewünschten Konfiguration hinzugefügt. Nach dem Starten der virtuelle Maschine prüft man über ifconfig, ob eth0 korrekt initialisiert wurde. Wenn ja, dann können die Kommentarzeichen in /etc/network/interfaces zurückgenommen und initialisieren die Netzwerkschnittstellen mittels /etc/init.d/networking restart neu gestartet werden. Dabei sollte die Fehlermeldung von oben (RTNETLINK answers: File exists) nicht mehr auftauchen und alle gewünschten Interfaces danach in der Ausgabe von ifconfig stehen. Beide eth-Interfaces müssen sich über ifdown ethX und ifup ethX korrekt ansprechen und herunter- bzw. wieder hochfahren lassen.

Leave a Reply

Your email address will not be published. Required fields are marked *