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