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

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

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

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

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

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

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

1 ответ

Решение

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

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

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

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

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

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

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

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

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