Краткая статья, повествующая о назначении различных физических сетевых
интерфейсов гостевым доменам.
Перевод: Сгибнев Михаил, Original
Xen - классная штука, но работа с несколькими сетевыми платами для меня
оказалась большой проблемой. Есть несколько теоретических документов,
описывающих принцип такой работы, но практической реализации мне
встретить не удалось. Данная статья призвана заполнить этот пробел.
Использование бриджа для Dom является неплохой идеей, но в этом случае
любые пакеты могут быть перехвачены другим Dom. Наличие одной сетевой
платы в Xen означает, что есть теоретическая возможность снифить пакеты
со всех Dom. Решить данную проблему нам поможет наличие нескольких
сетевых карт.
В данном случае мы имеем сервер с тремя сетевыми картами, при этом
первая используется для доступа к Dom0 и другим гостевым DomN, вторая
для работы с Dom1 и третья для работы с Dom2. Файл конфигурации Dom
должен выбрать соответствующий бридж для каждого домена.
Топология
eth0 - xenbr0 - Dom0, DomN
eth1 - xenbr1 - Dom1 (cannot be sniffed by Dom0, DomN or Dom2)
eth2 - xenbr2 - Dom2 (cannot be sniffed by Dom0, Dom1 or Domn)
Преимущество использования бриджа состоит в отсутствии маршрутизации.
/etc/xen/xend-config.sxp:
Не забудьте выставить права доступа chmod u+x для этого скрипта!
В заключение сконфигурируем каждый DomU:
/etc/xen/anyXmDomain.cfg: (не забудьте изменить mac-адрес)
...
# use eth0 for this DomU
vif = ['ip=10.XX.XX.230,mac=00:16:de:ad:fa:ce,bridge=xenbr0']
...
или
...
# use eth1 for Dom1
vif = ['ip=10.XX.XX.234,mac=00:16:de:ad:be:ef,bridge=xenbr1']
...
или
...
# use eth2 for Dom2
vif = ['ip=10.XX.XX.238,mac=00:16:be:ef:fa:ce,bridge=xenbr2']
...
Как я уже говорил, для Dom0 или DomU нет никакой маршрутизации, кроме
обычного шлюза по умолчанию, как если бы вы работали с единственной
сетевой картой, подключенной к Xen.
Для DomU ничего кардинально не меняется. Каждый DomU будет
автоматически использовать бридж, определенный в файле конфигурации.
Единственное отличие, на которое вы обратите внимание заключается в
том, что светодиоды сетевых карт будут мигать только когда
отсылаются/принимаются пакеты с соответствующих доменов. Вы даже можете
выдернуть патчкорд из NIC (eth0) в то время как Dom1 (eth1) и Dom2
(eth2) будут продолжать свою работу.
# brctl show
bridge name bridge id STP enabled interfaces
xenbr0 8000.feffffffffff no peth0
vif0.0
vif1.0
vif3.0
vif4.0
xenbr1 8000.feffffffffff no peth1
vif0.1
vif6.0
xenbr2 8000.feffffffffff no peth2
vif0.2
vif7.0
Каждый DomU может использоваться как обычно. Сам DomU даже не знает,
что использует другой мост. С точки зрения DomUs есть (виртуальная)
сетевая карта, которая будет использоваться как eth0.
Вот, славная победа и результат достигнут, все расходятся пить пиво. Я
считаю это более простым и красивым решением по сравнению с настройкой
шины pci непосредственно от DomX, который также был бы возможным.
1275 Прочтений • [Использование нескольких сетевых карт в XEN 3.0 (xen ethernet bridge network virtual)] [08.05.2012] [Комментариев: 0]