Virtuelle Machine an VLAN

virtualization
ucs-4-2

#1

Ich habe auf meinem UVMM Server VLANs eingerichtet (br0.1 und br0.13). Das funktioniert auch ganz gut. Ich würde jetzt ganz gerne eine virtuelle Maschine an br0.13 koppeln. Wen ich dieses als Netzwerkschnittstelle in UVMM auswähle, dann funktioniert das zunächst. Allerdings erscheint beim Start der Maschine die Fehlermeldung:
Interner Server-Fehler.
Fehlernachricht des Servers:
Fehler beim Verwalten der Domäne “583c0c20-517b-41fa-aeca-578d60fe4b53”: Unable to add bridge br0.1 port vnet0: Die Operation wird nicht unterstützt.
Habe ich hier einen Denkfehler? Gibt es eine Möglichkeit virtuelle Maschinen direkt an ein VLAN zu binden, vielleicht auch an mehrere?
Denke für Input


#2

In einer Testumgebung haben wir das bei uns so gelöst:

Auf dem Standardinterface (br0) ein VLan mit der ID 100 angelegt:

auto br0.100
iface br0.100 inet manual
        vlan-raw-device br0

Dann eine weitere Bridge hinzugefügt, die das angelegte VLan beinhaltet:

auto brvlan100
iface brvlan100 inet manual
        bridge_fd 0
        bridge_ports br0.100

In der VM wird dann das angelegte Bridge Interface als Netzwerkkarte angegeben:

<interface type='bridge'>
      <mac address='52:54:00:a9:ac:e9'/>
      <source bridge='brvlan100'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

Damit ist die entsprechende VM im VLan mit der ID 100


#3

Lieber @Hans, liebe/r @audiolinux,

ich glaube der Denkfehler liegt darin, das VLAN-Tag direkt auf der Bridge vergeben zu wollen (z.B. “br0.10”). VLAN-Tags ergeben meiner Meinung nach nur Sinn auf echter Hardware.

Ich habe folgendes Szenario umgesetzt: Es gibt drei VLANs (Tag 2, 3 und 4) mit jeweils unterschiedlichen IP-Netzwerken. Der Host ist im VLAN2, diverse weitere VMs sind in den VLANs 2, 3 und 4. Dafür habe ich mir dann 3 getaggte VLAN-Interfaces auf meiner physischen Netzwerkschnittstelle gebaut, also eth0.2, eth0.3 und eth0.4. Diese habe ich dann mit drei Bridges verbunden: br2 mit eth0.2, br3 mit eth0.3 und br4 mit eth0.4. Auf br2 habe ich dann noch eine IP-Adresse vergeben ("…Host ist im VLAN 2…"). Die VMs habe ich dann in die diversen mit den VLANs gekoppelten Bridges eingehängt. Funktioniert wunderbar.

Wenn der Host ein DC Slave sein soll, der den eigenen DC Master als VM hostet (wie in meinem Beispiel beide an br2), ist das natürlich ein gewisses Gefummel auf der Kommandozeile mit den diversen UCR-Variablen, aus denen die Netzwerkkonfiguration erzeugt wird. Die UMC ist, da noch kein Domänenmitglied, zu diesem Zeitpunkt ja nur zur Aufnahme in eine UCS-Domäne zu gebrauchen.

Erstmal das VLAN-Interface konfigurieren:

ucr set interfaces/eth0.2/ipv6/acceptRA='false' interfaces/eth0.2/options/0='vlan-raw-device eth0' interfaces/eth0.2/order='3' interfaces/eth0.2/start='true' interfaces/eth0.2/type='manual'

Dann die Bridge (das ist hier die, auf der der Host selbst sitzt) konfigurieren:

ucr set interfaces/br2/address='192.168.1.1' interfaces/br2/broadcast='192.168.1.255' interfaces/br2/ipv6/acceptRA='false' interfaces/br2/netmask='255.255.255.0' interfaces/br2/network='192.168.1.0' interfaces/br2/options/0='bridge_fd 2' interfaces/br2/options/1='bridge_ports eth0.2' interfaces/br2/order='6' interfaces/br2/start='true' interfaces/br2/type='static' interfaces/primary='br2'

Das Ganze dann wiederholen für weitere Bridges, nur dass man da dann die IP-spezifischen Sachen weglässt. Letzteres wird dann erst in den VMs eingestellt. Wenn man dann noch die standardmäßig konfigurierte Bridge “br0” loswerden will:

ucr unset interfaces/br0/address interfaces/br0/broadcast interfaces/br0/ipv6/acceptRA interfaces/br0/netmask interfaces/br0/network interfaces/br0/options/0 interfaces/br0/options/1 interfaces/br0/order interfaces/br0/start interfaces/br0/type

Gruß, V. Mayer


#4

Liebe/r @audiolinux (2. Posting),

so kann man es natürlich auch machen, das ist im Prinzip vergleichbar zu meiner Lösung, nur mit einer Zwischen-Bridge mehr, die man aber nicht unbedingt braucht. Vllt. war ich da mit der “echten Hardware” etwas engstirnig. :wink:

Gruß, V. Mayer


#5

Hallo Herr Mayer,

Vielen Dank für Ihre Hinweise. Die Standardbridge ist bei uns noch Überbleibsel. Da liefen vor einiger Zeit VMs, die NICHT in separaten VLans waren. In gewisser Hinsicht ein Hybrid.

lG
Sebastian


#6

Hallo Herr Mayer, hallo audiolinux,

vielen Dank für die Hinweise. Im großen und ganzen habe ich es genau so umgesetzt, allerdings mit Debian als host System. Ich hatte noch Probleme mit der Kommunikation von einer virtuellen Maschine mit dem Host. Dazu habe ich dann einen macvlan Adapter definiert. Seitdem geht es gut.

Gruß
Hans