Постоянная настройка сети с использованием 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, который вам нужен динамически, не затрагивая конфигурацию хоста.