У меня чертовски много времени с libvirt. Я удалил сеть NAT по умолчанию и пытаюсь добавить мост для виртуальных машин. Согласно вики и сетевому формату libvirt | Используя существующий хост-мост, у меня есть следующее:

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

2 ответа2

1

В моих системах (CentOS) они находятся в /var/lib/libvirt/network (и то же самое относится и к ответу на вики libvirt.org ), но вики Ubuntu предлагает /etc/libvirt/qemu (в разделе конфигурации гостевой библиотеки libvirt). )

0

Добавить к ответу @ 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 is transient):

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:net-define (постоянный), net-create (временный) и net-autostart.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .