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

KVM-qemu libvirt несколько интерфейсов в vms - как управлять?

При запуске Ubuntu 12.04 у нас есть 12 интерфейсов на гипервизоре, которые мы хотим предоставить в каждой виртуальной машине. Когда мы используем только элементы интерфейса в xml, мы получаем интерфейсы, но мы не можем предсказать / контролировать, подключается ли eth0 в виртуальной машине к eth0 на HV. Мы пробовали использовать нумерацию шины PCI, как показано в lspci, для управления ею, но, похоже, это не сработало.

Должны ли мы определять наши сети в отдельном элементе в сетевом xml на HV, или как мы должны настроить?

образец из текущего xml для vm:

<interface type='hostdev'>
  <source dev='eth3' mode='vepa'>
    <address type='pci' domain='0x0000' bus='0x16' slot='0x10' function='0x1'/>
  </source>
  <target dev='macvtap0'/>     
</interface>
<interface type='bridge'>
  <source bridge='br4'/>
  <target dev='vnet0'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

Обычным способом согласованного сопоставления сетевых адаптеров в Linux является указание MAC-адреса в определениях сетевых адаптеров или использование udev 70-persistent-net-rules

Если вы определяете MAC в domXML (используя режимы транзитной передачи по мосту или macvtap), вы управляете этим MAC и можете определить его в виртуальной машине. Если вы используете vepa (у вас должен быть коммутатор, поддерживающий 802.1Qbg), то MAC-адрес подключенного сетевого адаптера должен распространяться на виртуальную машину, и вы можете указать, на каком сетевом адаптере в виртуальной машине будет находиться интерфейс (с помощью конфигураций udev или сетевого адаптера или обоих )