Linux

Xen - 無法創建域,因為“無法連接 vdb”

  • June 5, 2014

我正在嘗試啟動 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

這將使它再次工作。但從長遠來看,您仍然需要解決這個問題。

引用自:https://serverfault.com/questions/40947