Linux

Xen 4.1 主機 (dom0) 與 blktap 磁碟 (’tap:aio:’) 未連接

  • October 8, 2012

在執行帶有 dom0 xen-4.1 的 Ubuntu Precise 庫存核心的 xen-4.1 中使用 blktap 時出現問題。

我得到:

[    5.580106] XENBUS: Waiting for devices to initialise: 295s...290s.
...
[  300.580288] XENBUS: Timeout connecting to device: device/vbd/51713 (local state 3, remote state 1)

還有一些系統日誌行:

May 17 13:07:30 localhost logger: /etc/xen/scripts/blktap: add XENBUS_PATH=backend/tap/10/51713
May 17 13:07:31 localhost logger: /etc/xen/scripts/blktap: Writing backend/tap/10/51713/hotplug-status connected to xenstore.

用 tap:aio: 磁碟線。文件:/ 有效。

disk = [
   'tap:aio:/data/root.img,xvda1,w',
]

清晰和精確的 domU 核心存在問題,並且兩個來賓都在 Ubuntu hardy dom0 Host 64bit 2.6.24-28-xen xen-3.3 中工作

3.2.0-24-generic #37-Ubuntu SMP Wed Apr 25 08:43:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Distributor ID: Ubuntu
Description:    Ubuntu 12.04 LTS
Release:        12.04
Codename:       precise

與所有有問題的事情一樣。尋求幫助通常可以解決問題。即使沒有人回答這個問題。

所以答案是雙重的。顯然在 Ubuntu 中安裝 xen* 的東西是不夠的。blktap 和 stuff 是單獨的軟體包,並且需要 tapdisk 使用者空間程序和 blktap 模組。

安裝blktap-utils和依賴項…您將獲得tapdisk併使用 dkms 打包核心模組blktap

那還不夠。顯然 Blktap 在 Ubuntu Hardy 和 Precise XEN 版本(xen-3.3 -> xen-4.1)之間的某個時間點更改為 blktap2。所以磁碟包含在 ’tap2:tapdisk:aio:’ 而不是 ’tap:aio:'

# Use this to convert existing files
perl -i.backup -pe 's/tap:aio:/tap2:tapdisk:aio:/g' *.cfg

有關 tap2 磁碟選項,請參閱Xen blktap2


如果您仍然遇到 blktap 問題,這些下一個命令可能有助於診斷缺少的內容。

ls /lib/modules/$(uname -r)/updates/dkms/blktap.ko && echo run: modprobe blktap || echo Missing module 
ls /usr/src/linux-headers-$(uname -r ) || echo MISSING kernel headers
ls /usr/src/blktap-2* || echo MISSING blktap-dkms
ls /var/lib/dkms/blktap/kernel-$(uname -r)* || echo dkms compilation failed

並為所有 dkms 模組手動啟動編譯:

sudo dkms autoinstall -k $(uname -r)

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