У нас есть несколько серверов XEN, на которых работает CentOS или RHEL. Все виртуальные машины, которые они запускают, должны находиться в их собственной VLAN только по той причине, которую ожидает от них заказчик. Короче говоря, я не могу изменить это прямо сейчас.
Мы также должны включить связывание на интерфейсах. Поэтому, чтобы приспособиться к этому, мы порабощаем eth1 и eth2 в bond0. Затем мы создаем отдельный интерфейс с именем bond0.VLANID, где VLANID соответствует правильному vlan; например, ifcfg-bond0.204
DEVICE=bond0.204
BOOTPROTO=static
ONBOOT=yes
VLAN=yes
BRIDGE=xenvlan204
Мост к XEN
Как вы увидите, нам в конечном итоге придется связать это с XEN, и мы делаем это, добавляя еще один интерфейс под названием xenvlan204 (в данном случае), который содержит; ifcfg-xenvlan204
DEVICE=xenvlan204
BOOTPROTO=none
ONBOOT=yes
TYPE=bridge
XEN Vm Config
Наконец, в нашей конфигурации XEN для каждой виртуальной машины мы добавляем
vif = [ "bridge=xenvlan204" ]
Затем это позволяет хосту vm получить доступ к этому конкретному vlan
Эта проблема
Мы заметили несколько проблем с этой настройкой. Одна из них заключается в том, что в настоящее время мы создаем интерфейсы вручную. Это означает, что если мы добавляем больше интерфейсов и мостов с поддержкой vlan, нам обычно приходится перезапускать xend, что мне не очень нравится. Также сотрудники нижнего уровня растоплены количеством интерфейсов, и риск возникновения ошибки высок.
Во-вторых, для запуска хоста может потребоваться некоторое время, если у него есть несколько интерфейсов с привязкой к vlan.
В-третьих, это просто плохо масштабируется с точки зрения управления.
Вопрос
Есть ли лучший более гибкий способ сделать это (в частности, с Xen, который поставляется с centos 5.3, 5.4 и 5.5, поскольку мы должны поддерживать все три), который использует сценарии или другие решения, позволяющие создавать произвольное количество интерфейсов, когда инстанс vm.
Ваши советы и опыт очень приветствуются.
Не эксперт по Xen, но то, что вы делаете с мостовыми интерфейсами, плюс тег vlan, цитата ОК, пока вы держитесь подальше от режима связывания 0 и 6 (у них, как известно, есть проблемы с мостами поверх их).
Еще одна вещь, поскольку вы используете Xen на основе RHEL, вы также должны использовать libvirt. Насколько я видел это с помощью KVM, никогда не было необходимости перезагружать что-либо, чтобы увидеть доступный новый мост.
Наконец, как я уже упоминал, я не эксперт по Xen, поэтому я могу стрелять здесь ни в чем, но нельзя ли перезагрузить xend вместо перезапуска?