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

Постоянная настройка сети с использованием KVM и libvirt

В нашей среде хост KVM будет настраиваться динамически с использованием кикстарта (достаточно просто).

Самая сложная часть связана с конфигурацией сети и сохранением конфигурации VLAN (и, возможно, конфигурации моста / хоста) во время перезагрузки.

У нас есть динамическая среда, в которой я хотел бы иметь возможность настраивать порты виртуального коммутатора, как и в случае с обычным коммутатором, где конфигурация сохраняется после перезагрузки (возможно, автоматически добавляется в файл конфигурации)

иначе:
cisco: доступ в режиме switchport; коммутатор доступа vlan 4
парча: влан 4; немаркированный e 0/1/2

Я не совсем уверен, какое здесь «правильное» решение, можно ли сделать openvswitch тем, что я ищу, просто используя мосты linux и libvirt. Я очень потерян и с трудом могу найти то, что есть в наличии. Я знаю, что OpenStack может это сделать, но мне было бы интереснее узнать, как OpenStack это делает, чтобы мы могли реализовать его части.

Итак, мой вопрос: каков наилучший / самый простой способ сохранить конфигурации vlan / network на KVM?

Сделать это очень просто. Обычно вы используете мост на хосте, который действует как виртуальный коммутатор для виртуальных машин и физических сетевых адаптеров, к которым подключаются:

сеть -> Host NIC -> BRIDGE <- VM

С VLAN все становится немного сложнее:

сеть (магистральный порт) -> Host NIC -> Tagged IF -> BRIDGE <- VM

Все это управляется в ifcfg скрипты на хосте RHEL, например ifcfg-eth0 (сетевая карта хоста); ifcfg-eth0.100 (помеченный IF); ifcfg-br100 (интерфейс моста, работающий поверх тегированного интерфейса, передающий тегированный трафик).

Если вам нужно несколько VLAN, просто добавьте дополнительные интерфейсы ifcfg-eth0.tagNumber и постройте мост поверх каждого для виртуальных машин, которые должны находиться в сети с тегами для подключения.

Надеюсь, это имеет смысл, это действительно довольно просто.

РЕДАКТИРОВАТЬ:

  • Если есть только один тег, который вы хотите установить на коммутаторе, это тоже нормально, просто пометьте трафик на порту и используйте мост. Поскольку все, что поступает на NIC, будет помечено, мост будет ретранслировать трафик на виртуальные машины как есть
  • для каждой VLAN вы просто создаете мост и подключаете виртуальную машину к этому мосту для доступа к тегированному трафику. Если у вас есть небольшой набор VLAN, который вы будете использовать, просто создайте все эти IF и мосты VLAN и подключите виртуальные машины к любому мосту + VLAN, который вам нужен динамически, не касаясь конфигурации хоста.