Как настроить виртуализацию интерфейсов Xen (от eth0 до peth0)?

Я установил Xen некоторое время назад, но еще не загрузился с гипервизором. Ну, я сделал вчера, и весь ад вырвался на свободу. Я полностью потерял подключение к Интернету на моем сервере из-за Xen.

Когда я запускаю свой сервер и eth0 не внутри br0Xen пытается виртуализировать его, переименовав в peth0 (физическая eth0), а затем он должен создать veth0 (виртуальная eth0) и переименуйте его в eth0По крайней мере, согласно документации Xen.

Проблема в том, что он не поднимает eth0 и у меня не осталось абсолютно никакого подключения к интернету. у меня есть eth1 на моем сервере и хотел бы виртуализировать этот интерфейс вместо eth0, Для этого я разместил eth1 Внутри br0 а также br0 виртуализируется в virbr0, Как мне остановить Xen от виртуализации eth0 и использовать br0/eth1 вместо?

Вот что я получаю от systemctl -o cat status network.service:

Bringing up lookback interface:  [  OK  ]
Bringing up interface eth0:  Error: either "dev" is a duplicate, or "virbr0" is a garbage.
ERROR    : [/etc/sysconfig/network-scripts/ifup-eth] Failed to bring up peth0 virbr0.
[FAILED]
Bringing up interface eth1:  [  OK  ]
Bringing up interface br0:  [  OK  ]

Должен любить эту грамматику во второй строке (дословно до пробела).

virbr0 обрабатывается непосредственно libvirt, что можно увидеть в любом из ответов на это сообщение как настроенное из /etc/libvirt/qemu/networks,

2 ответа

Решение

Чтобы исправить это, я изменил это:

(network-script 'network-bridge bridge=virbr0')
(vif-script vif-bridge)

к этим:

(network-script 'network-bridge bridge=virbr0 netdev=eth1')
(vif-script     vif-nat)

В /etc/xen/xend-config.sxp, который успешно вышел eth0 один и только переименовывает eth1 в peth1 сейчас, и я предполагаю, не поднимает veth1/eth1 потому что это внутри br0, Затем я переименовал ifcfg-em1/ifcfg-em2 в ifcfg-eth0/ifcfg-eth1и изменил:

IPADDR0=xxx.xxx.xxx.xxx
PREFIX0=xx
GATEWAY0=xxx.xxx.xxx.xxx
DNS1=xxx.xxx.xxx.xxx

Для того, чтобы:

IPADDR=xxx.xxx.xxx.xxx
PREFIX=xx
GATEWAY=xxx.xxx.xxx.xxx
DNS=xxx.xxx.xxx.xxx

Это вернуло мне мой интернет и localhost.

Вы знаете, какова была лучшая часть этого опыта? Я могу оставить NetworkManager навсегда отключенным.

Ответ содержится в предоставленной вами ссылке: Настройка мостового соединения.

До XEN 4.1 была роль XEN в настройке сетевого моста.

После этого соответствующие мосты должны быть настроены средствами ОС.

НО: если во время запуска XEN мосты не определены, он создаст мост по умолчанию (сравнимый с предыдущим поведением).

Есть веская причина оставить это вне контроля XEN, поскольку существуют очень сложные комбинации соединения /VLAN, которые не могут быть охвачены сценариями по умолчанию. Также сетевой стек отличается от ОС к ОС.

У меня была похожая проблема с SLES10 SP4 - там мне понадобилась довольно сложная настройка сети.

Поэтому я установил свой собственный init-скрипт в /etc/init.d/ для настройки bridging/bonding/vlans.

С SLES11 SP2 это было просто, и можно было установить с ОС-yast2-command.

При этом мосты работают до запуска XEND.

Нечто подобное может работать на вас:

XENBRIDGE=/etc/xen/scripts/network-bridge
$XENBRIDGE bridge=br0 netdev=eth1 start

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

Другие вопросы по тегам