Назад | Перейти на главную страницу

Сохранение OpenVSwitch Libvirt

Я пытаюсь интегрировать openvswitch в мою установку libvirt / qemu на Centos7. На самом деле все работает очень хорошо, за исключением того факта, что при перезапуске сетевых служб я теряю порты vnet, которые были добавлены libvirt / qemu в мою базу данных коммутатора ovs. Интерфейсы все еще существуют, если я ip link show но не в переключателе db. Это, очевидно, приводит к тому, что мои виртуальные машины теряют сетевое подключение. Я определяю мост и vlan (или отсутствие vlan) в XML-файлах моего домена следующим образом:

    <interface type='bridge'>
      <mac address='52:54:32:a6:21:98'/>
      <source bridge='ovsbr0'/>
      <vlan>
        <tag id='46'/>
      </vlan>
      <virtualport type='openvswitch'>
        <parameters interfaceid='dbda261c-9a17-4a85-9839-53d43509ca0f'/>
      </virtualport>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

Поэтому, когда я запускаю свои виртуальные машины, порты и vlan автоматически добавляются следующим образом:

# ovs-vsctl show
cf9b8458-9b63-4cf1-add9-3ab5da81dc32
    Bridge "ovsbr0"
        Port "vnet0"
            tag: 46
            Interface "vnet0"
        Port "ovsbr0"
            Interface "ovsbr0"
                type: internal
        Port "vnet2"
            Interface "vnet2"
        Port "bond0"
            Interface "bond0"
        Port "vnet1"
            tag: 49
            Interface "vnet1"
    ovs_version: "2.5.1"

Но когда я перезагружаю сеть, я получаю следующее:

# ovs-vsctl show
cf9b8458-9b63-4cf1-add9-3ab5da81dc32
    Bridge "ovsbr0"
        Port "ovsbr0"
            Interface "ovsbr0"
                type: internal
        Port "bond0"
            Interface "bond0"
    ovs_version: "2.5.1"

Я понятия не имею, как это исправить или какое решение является правильным. Я не планирую выполнять множество перезапусков сети, но в случае необходимости я хочу быть уверенным, что мне не придется вручную добавлять порты ovs обратно после того, как я закончу. Есть ли способ заставить libvirt или qemu воссоздать их для меня или еще что-нибудь?

Любая помощь будет принята с благодарностью! Спасибо!