Ich habe verdammt viel Mühe mit libvirt. Ich habe das Standard-NAT-Netzwerk gelöscht und versuche, eine Bridge für VMs hinzuzufügen. Laut libvirts Wiki undNetzwerk-XML-Format | Verwenden einer vorhandenen Host-Bridge, ich habe folgendes:
<network>
<name>host-bridge</name>
<forward mode="bridge"/>
<bridge name="br0"/>
</network>
Ich habe die Datei gespeichert alshost-bridge.xml
. Ich habe es in beide kopiert/etc/libvirt/
Und/usr/share/libvirt/schemas
. Egal was ich versuche, ich bekomme immer Folgendes:
$ sudo virsh net-create host-bridge
error: Failed to open file 'host-bridge': No such file or directory
$ sudo virsh net-create host-bridge.xml
error: Failed to open file 'host-bridge.xml': No such file or directory
Auf der Maschine läuft Ubuntu Server 14.03 LTS. Lautbrctl
, die Brückebr0
existiert, und seine Verwendungeth1
.
Wo sollen Netzwerkkonfigurationsdateien für libvirt gespeichert werden?
Antwort1
Auf meinen (CentOS) basierten Systemen sind sie in /var/lib/libvirt/network
(und das ist das gleiche für dielibvirt.orgWiki-Antwort), aber dieUbuntu Wikischlägt vor /etc/libvirt/qemu
(im Abschnitt „Konfiguration des libvirt-Gasts“)
Antwort2
Um die Antwort von @davidgo zu ergänzen … Ich habe Folgendes durchgeführt:
sudo mv /opt/libvirt/host-bridge.xml /etc/libvirt/qemu/networks
Sobald sich die Netzwerkdatei am gewünschten Ort befindet:
$ sudo cat /etc/libvirt/qemu/networks/host-bridge.xml
<network>
<name>host-bridge</name>
<uuid>88c0529e-4813-43fa-af27-01af164249ed</uuid>
<forward mode='bridge'/>
<bridge name='br0'/>
</network>
Sie müssen es noch entweder (1) definieren oder (2) erstellen, umGenau genommenVerwenden Sie es in einer VM. Wenn Sie möchten, dass es dauerhaft ist, müssen Sie es definieren, da es permanent ist (Erstellen ist vorübergehend):
virsh net-define /etc/libvirt/qemu/networks/host-bridge.xml
Sobald das Netzwerk definiert ist, wird die UUID hinzugefügt und Sie können dann in der XML-Datei einer VM darauf verweisen:
sudo grep -R "host-bridge" /etc/libvirt/
/etc/libvirt/qemu/Debian_7_x86.xml: <source network='host-bridge'/>
/etc/libvirt/qemu/Debian_7_x64.xml: <source network='host-bridge'/>
/etc/libvirt/qemu/Debian_8_x86.xml: <source network='host-bridge'/>
/etc/libvirt/qemu/Debian_8_x32.xml: <source network='host-bridge'/>
/etc/libvirt/qemu/Debian_8_x64.xml: <source network='host-bridge'/>
...
Es erscheint auch in dernetworks/autostart
Ordner:
sudo grep -R "host-bridge" /etc/libvirt/
...
/etc/libvirt/qemu/networks/autostart/host-bridge.xml: <name>host-bridge</name>
Schließlich sollte ungefähr Folgendes angezeigt werden:
$ virsh net-list --all
Name State Autostart Persistent
----------------------------------------------------------
host-bridge inactive yes yes
Siehe auch libvirt'sNetzdefinition(dauerhaft),Netz-Erstellen(vorübergehend) undnet-autostart.
Antwort3
bei mir hat es funktioniert, es einfach in dasselbe Verzeichnis zu legen, aus dem ich es ausgeführt habe sudo virsh net-create host-bridge
.