Xen - 無法創建域,因為“無法連接 vdb”
我正在嘗試啟動 Xen VM,但出現以下錯誤:
Error: Device 2049 (vbd) could not be connected. Hotplug scripts not working.
這是什麼意思?
dom0 是 CentOS,來賓作業系統是 Debian Lenny。我正在使用的網路介面是:
vif = [ 'mac=00:16:3e:3e:53:5f, bridge=xenbr0', 'mac=00:16:3e:18:16:e5, bridge=xenbr1' ]
客戶作業系統的根文件系統設置為從 dom0 通過 NFS 掛載,這適用於同一主機上的其他客戶作業系統。交換(和
/var
)從本地 LVM 邏輯卷掛載更新我的錯。我沒有正確編寫配置,也沒有正確設置文件系統。我能夠
/var/log/xen/xen-hotplug.log
看到它正在訪問錯誤的設備。
我的錯。我沒有正確編寫配置,也沒有正確設置文件系統。我能夠查看 /var/log/xen/xen-hotplug.log 以查看它訪問了錯誤的設備。
簡潔版本:
檢查您是否擁有
/etc/udev/rules.d/xen-backend.rules
. 該文件可能會或可能不會以數字為前綴。如果沒有,請檢查您是否擁有
/etc/udev/xen-backend.rules
並創建從該到 的符號連結/etc/udev/rules.d/xen-backend.rules
。長版:
我在 Gentoo 3.3 dom0 上看到過這個,而不是 CentOS。但我懷疑修復將是相同或相似的。
Xen 建構腳本呼叫命令
udevinfo -V
來確定機器上安裝的 udev 版本。該udevinfo
實用程序不久前被貶值,以支持udevadm
. 在最近的 udev 版本中,舊的實用程序已被完全刪除。建構腳本使用所描述的 udev 版本來確定需要執行哪些安裝步驟。如果找不到/匹配 udev 版本,則不會安裝所需的 udev 規則。由於不
udevinfo
存在,這就是正在發生的事情。現在可能是因為您不想降級 udev。所以剩下兩個解決方案。
您可以檢查您的包裹分銷商是否已解決此問題。例如,它在 Gentoo 上的 Xen 4.4 中就根據這個 bug進行了修復。
或者,您可以暫時解決它,方法是欺騙
udevinfo
仍然存在的它並按照它預期的方式行事。我們可以通過腳本/代理新udevadm
命令來做到這一點:# echo -e '#!/bin/bash\n/sbin/udevadm info $1' > /usr/bin/udevinfo # chmod +x /usr/bin/udevinfo *** Install Xen *** # rm /usr/bin/udevinfo
這將使它再次工作。但從長遠來看,您仍然需要解決這個問題。