xen vs bridge

Здравствуйте, коллеги. Прошу помощи по сабжу. Интересует принцип работы. Плаваю в этих азах, из-за этого не удаётся адекватно воспринимать более серьёзные вещи.
1. Нужно ли дополнительно инициировать бридж в /etc/conf.d/net и/или /etc/init.d/net.peth1 или достаточно просто один раз его создать с помощью brctl add а далее xen сам будет поднимать интерфейс?
2. По команде brctl show я могу видеть список интерфейсов(tap1.0, vif1.0) какую смысловую нагрузку они на себе несут?
3. Если я отдельно создаю бридж на eth1 например, peth1, то в конфигах доменов, что я должен указать в секции vif[bridge=]?
4. За что отвечают скрипты в /etc/xen/scripts и при каких условиях они выполняются/не выполняются.

Если не трудно ткните пальцем на документацию по сетевым параметрам xen > 4 желательно на русском. Или приведите примеры конфигов доменов и /etc/conf.d/net на хостовой машине.

Так же прошу привести параметры:
/proc/sys/net/ipv4/conf/all/proxy_arp
/proc/sys/net/ipv4/conf/all/arp_filter

Благодарю за сдержанность и понимание.

gebs написал(а): Интересует

gebs написал(а):
Интересует принцип работы

очень просто: на машине существует несколько сетевых интерфейсов, и нужно как-то с ними управляться. в смысле инсталляции xen, интерфейсы могут быть физическими и виртуальными. для объединения интерфейсов используются мосты, которыми может быть собственно мост (CONFIG_BRIDGE) или openvswitch (CONFIG_OPENVSWITCH)

физические интерфейсы - это сетевые адаптеры, а также dummy, tun/tap и тп управляющего домена dom0. виртуальные интерфейсы dom0 - это network backend (любой сетевой интерфейс domU [frontend network interface] имеет ответную часть в dom0 как backend-интерфейс, называемый vifX.Y)

для того чтобы domU был в сети, нужно соединять его сетевые frontend мостом с backend dom0. например:

$ /sbin/brctl show
bridge name	bridge id		STP enabled	interfaces
xenbr		8000.e0699504fcd4	no		bond0
							vif8.0
							vif9.0

т.е мост xenbr на dom0 соединяет интерфейсы bond0, vif8.0 и vif9.0. на основании сказанного выше, в одну сеть подключены dom0, нулевой интерфейс домена 8 и нулевой интерфейс домена 9. количество мостов и интерфейсов практически не ограничивается

Цитата:
1. Нужно ли дополнительно инициировать бридж в /etc/conf.d/net и/или /etc/init.d/net.peth1 или достаточно просто один раз его создать с помощью brctl add а далее xen сам будет поднимать интерфейс?
2. По команде brctl show я могу видеть список интерфейсов(tap1.0, vif1.0) какую смысловую нагрузку они на себе несут?
3. Если я отдельно создаю бридж на eth1 например, peth1, то в конфигах доменов, что я должен указать в секции vif[bridge=]?
4. За что отвечают скрипты в /etc/xen/scripts и при каких условиях они выполняются/не выполняются.

сам xen не делает ничего, соединять нужно либо вручную, либо - скриптами из /etc/xen/scripts. скрипты, например, реализуют такую конструкцию из конфигурации domU:

vif = [ 'mac=0a:11:10:24:14:16,bridge=xenbr' ]

интерфейс domU c указанным mac address подключится к мосту xenbr

инициация (хм :)) bridge может быть выполнена средствами скриптами /etc/xen/scripts и /etc/xen/xend-config.xsp (при использовании xend), либо - стандартным openrc dom0 (если вы используете xl). например, для показанного выше примера, рабочим будет такой /etc/conf.d/net:

$ grep -v '^#' /etc/conf.d/net
dns_domain_lo="local"
config_eth0="null"
config_eth1="null"
slaves_bond0="eth0 eth1"
config_bond0="null"
bridge_add_bond0="xenbr"
config_xenbr="10.24.14.10/24 brd 10.24.14.255"
dns_domain_xenbr="local"
dns_servers_xenbr="10.24.14.12 10.24.14.32"
routes_xenbr="default via 10.24.14.12"
brctl_xenbr="stp off"

а зачем вам это:

Цитата:
Так же прошу привести параметры:
/proc/sys/net/ipv4/conf/all/proxy_arp
/proc/sys/net/ipv4/conf/all/arp_filter

написано очень вкратце, т.к вы просили "принцип работы". важная упущенная часть это xenstore. про это и другое много написано на xen wiki. наверное, и по-русски есть, мне не попадалось

Очень ясно и доступно

Очень ясно и доступно объяснено. Чистое человеческое спасибо.
Проблема в выборе версии xen'a.
Либо отказываться от USE="xend" и переходить на >= 4.2 рискуя ловить баги на продакшн решении с перспективой обновления.
Либо оставаться на переходной версии >=4.0 без перспективы обновления.

может у других на форуме

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

  • на мой взгляд, в 4.1.2, который сейчас есть в pоrtage, лучше использовать xend - xl там кривоват, обещали допилить в 4.1.3
  • в 4.2.0 (тоже в есть portage), с xl все в порядке (портежный пробовал, хотя на машине работает 4.2.1 с unstable changeset'ами)

вообще, все что есть нового в 4.2+, в основном касается поддержки многопроцессорных конфигураций и больших объемов памяти, поэтому для небольших инсталляций 4.1 предпочтительнее. в рассылке xen-devel обещают развивать обе ветки параллельно, по крайней мере, 4.1.4 в планах у них есть

из того, что в 4.2 точно работает (и не работало в 4.1) - это поддержка intel avx (sandy bridge). см. "нашу" bugzill'у

4.2 никаких проблем нет (повторю, конфигурации - "игрушечные", hvm почти не используется, pci passthrough в моих играх тоже нет):

$ xl uptime 0-pacman
Name                                ID Uptime
0-pacman                             0 16 days,  9:51:18
$ xl list
Name                                        ID   Mem VCPUs	State	Time(s)
0-pacman                                     0   384     2     r-----    3226.5
blinky                                       8  7500     8     -b----   26953.6
pinky                                        9 15500     8     -b----   10695.8

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".