Я использую xen 4.4.1 на сервере Ubuntu 14.04, мой DomU также работает под управлением сервера Ubuntu 14.04. Раньше я запускал этот DomU в режиме моста без проблем. Однако я хочу переключиться на маршрутизируемую настройку.
Я изменил конфигурационный файл DomU на:
vif=['10.0.1.2,script=vif-route']
и в /etc/xen/xend-config.sxp:
#(vif-script vif-bridge)
#(network-script network-bridge
(network-script network-route)
(vif-script vif-route)
Однако, когда я пытаюсь запустить виртуальную машину, она выдаст эту ошибку:
libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge online [-1] exited with error status 1
libxl: error: libxl_device.c:1085:device_hotplug_child_death_cb: script: Could not find bridge device xenbr0
libxl: error: libxl_create.c:1226:domcreate_attach_vtpms: unable to add nic devices
libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge offline [-1] exited with error status 1
libxl: error: libxl_device.c:1085:device_hotplug_child_death_cb: script: Could not find bridge device xenbr0
libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge remove [-1] exited with error status 1
libxl: error: libxl_device.c:1085:device_hotplug_child_death_cb: script: Could not find bridge device xenbr0
Почему он по-прежнему пытается запустить сценарий vif-bridge, даже если я закомментировал его в xend-config.sxp?
У нас была точно такая же проблема после обновления с xen 4.1 до 4.4 на debian dom0 (wheezy-> jessie).
Решением было изменить xl.conf:
# default vif script to use if none is specified in the guest config
vif.default.script="vif-route"
У меня по-прежнему возникает аналогичная проблема при перемещении гостевых виртуальных машин SLES 10.x на более поздние версии гипервизора XEN, поставляемые с SLES 12, SLES 12.3. В vif-мост взлом ниже включает поиск br # подкаталоги для моста:
zeus:/etc/xen/scripts # diff -u vif-bridge vif-bridge-hack
--- vif-bridge 2017-09-08 05:26:04.000000000 -0400
+++ vif-bridge-hack 2017-09-28 21:36:32.461458890 -0400
@@ -70,6 +70,9 @@
if [ -e "/sys/class/net/eth${bridge#xenbr}/bridge" ]
then
bridge="eth${bridge#xenbr}"
+ elif [ -e "/sys/class/net/br${bridge#xenbr}/bridge" ]
+ then
+ bridge="br${bridge#xenbr}"
fi
fi
fi
zeus:/etc/xen/scripts #
создайте интерфейс xenbr0 с ip, используйте eth0 для bridge = xenbr0.
настроить vif.default.gatewaydev @ xl.conf