Um eine virtuelle Maschine mit libvirt einzurichten, benötigt man als erstes ein virtuelles Netzwerk. Dazu legt man unter /etc/libvirt/qemu/networks eine XML-Datei an oder editiert die dort bei der Installation angelegte default.xml. Wenn man sich z.B. für das virtuelle Netzwerk 192.168.34.0/24 entschieden hat, könnte diese Datei wie folgt aussehen:
<network> <name>subnetz1</name> <forward dev='eth0' mode='route'/> <bridge name='virbr2' stp='off' forwardDelay='0' /> <ip address="192.168.34.1" netmask="255.255.255.0" /> </network> |
Die fertige XML-Datei wird nach dem speichern und mittels virsh net-define
in libvirt bekannt gemacht. Das neue Netzwerk hat in libvirt den Namen subnetz1
. Wenn man nur die default.xml
editiert hat entfällt dieser natürlich, da dieses Netz bereits bekannt ist.
Nach dem Aufruf von virsh net-autostart subnetz1
ist sichergestellt, dass das Netzwerk auch tatsächlich nach jedem Systemstart sofort verfügbar ist. Mit virsh net-start subnetz1
aktiviert man das Netz von Hand.
Damit die virtuelle Maschine mit der Außenwelt kommunizieren kann, muss jetzt noch IP Forwarding aktiviert werden. Bei Debian/Ubuntu wird das Forwarding in der Datei /etc/sysctl.conf
aktiviert. In ihr sollte die folgende Zeile stehen:
net.ipv4.ip_forward=1 |
Danach kann eine neue virtuelle Maschine angelegt und gestartet werden. Diese muss dann nur noch eine freie IP-Adresse aus dem virtuellen Netzwerk bekommen und kann danach gestartet werden.
Networking mit KVM hab ich nie wirklich hinbekomme, da ist XEN oder OpenVZ einfach leichter. Aber danke für die Tipps, ich werde es sicher noch einmal probieren.
mfg,
S1ck
Als Mitarbeiter von Dell denke ich, dass Ihre Erklärung wirklich sehr behilflich sein kann. Während der Virtualisierung können viele Probleme entstehen. Ich danke Ihnen für Verständnis dazu.