Ubuntu14.04サーバーでxen4.4.1を使用していますが、DomUはUbuntu14.04サーバーも実行しています。私はこのDomUをブリッジモードで実行しましたが、以前は問題ありませんでした。ただし、ルーテッドセットアップに切り替えたい。
DomU configvifを次のように変更しました。
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)
ただし、VMを起動しようとすると、次のエラーがスローされます。
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
Xend-config.sxpでコメントアウトしたのに、なぜvif-bridgeスクリプトを実行しようとするのでしょうか。
Debian dom0(wheezy-> jessie)でxen 4.1から4.4にアップデートした後、ここでもまったく同じ問題が発生しました。
解決策は、xl.confを変更することでした。
# default vif script to use if none is specified in the guest config
vif.default.script="vif-route"
SLES 10.xゲストVMをSLES12、SLES 12.3に同梱されている新しいXENハイパーバイザーバージョンに移動する場合も、同様の問題が発生し続けます。以下のvif-bridgeハックには、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 #
ipを使用してxenbr0インターフェイスを作成し、eth0を使用してbridge = xenbr0にします。
vif.default.gatewaydev @ xl.confを構成します