У меня адские проблемы с libvirt. Я удалил сеть NAT по умолчанию и пытаюсь добавить мост для виртуальных машин. Согласно вики libvirt иФормат сетевого 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вики ответ) ноУбунту Википредлагает /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) создать его.на самом делеиспользовать его в виртуальной машине. Если вы хотите, чтобы он был постоянным, то вам нужно определить его, потому что он постоянный (create является временным):
virsh net-define /etc/libvirt/qemu/networks/host-bridge.xml
После определения сети будет добавлен UUID, и вы сможете ссылаться на него в 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'snet-определить(постоянный),net-create(переходный) иnet-автозапуск.
решение3
Мне помогло то, что я просто поместил его в то же направление, sudo virsh net-create host-bridge
из которого я бежал.