libvirt 的网络配置文件应该保存在哪里?

libvirt 的网络配置文件应该保存在哪里?

我在使用 libvirt 时遇到了很多麻烦。我删除了默认的 NAT 网络,并尝试为虚拟机添加网桥。根据 libvirt 的 wiki 和网络 XML 格式 | 使用现有主机桥,我有以下内容:

<network>
    <name>host-bridge</name>
    <forward mode="bridge"/>
    <bridge name="br0"/>
</network>

我将文件保存为host-bridge.xml。我将其复制到/etc/libvirt//usr/share/libvirt/schemas。但是,无论我怎么尝试,我总是得到:

$ 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

该机器运行的是 Ubuntu Server 14.03 LTS。根据brctl,桥梁br0确实存在,并且它使用eth1

libvirt 的网络配置文件应该保存在哪里?

答案1

在我的(CentOS)系统上,它们位于/var/lib/libvirt/network(对于libvirt.org维基百科答案)但Ubuntu 维基建议/etc/libvirt/qemu(在 libvirt 客户机配置部分)

答案2

补充@davidgo 的回答...我执行了:

sudo mv /opt/libvirt/host-bridge.xml /etc/libvirt/qemu/networks

一旦网络文件位于您想要的位置:

$ 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>

你仍然需要(1)定义它或(2)创建它来实际上在虚拟机中使用它。如果您希望它是持久的,那么您需要定义它,因为它是永久的(创建是暂时的):

virsh net-define /etc/libvirt/qemu/networks/host-bridge.xml

一旦定义了网络,就会添加 UUID,然后您可以在 VM 的 XML 文件中引用它:

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'/>
...

它还将出现在networks/autostart文件夹:

sudo grep -R "host-bridge" /etc/libvirt/
...
/etc/libvirt/qemu/networks/autostart/host-bridge.xml:  <name>host-bridge</name>

最后,您应该看到类似以下内容:

$ virsh net-list --all
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 host-bridge          inactive   yes           yes

另请参阅 libvirt 的网络定义(永恒的),净创建(瞬态)和网络自动启动

答案3

对我有用的就是把它放在我正在运行sudo virsh net-create host-bridge的同一目录中。

相关内容