Как настроить виртуализацию интерфейсов Xen (от eth0 до peth0)?
Я установил Xen некоторое время назад, но еще не загрузился с гипервизором. Ну, я сделал вчера, и весь ад вырвался на свободу. Я полностью потерял подключение к Интернету на моем сервере из-за Xen.
Когда я запускаю свой сервер и eth0
не внутри br0
Xen пытается виртуализировать его, переименовав в 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 - так что, возможно, вы можете использовать документ настройки сети и вместо этого интегрировать свою конфигурацию моста в обычную настройку сети (что является лучшим способом сделать это).