带有blktap磁盘(“ tap:aio:”)的Xen 4.1主机(dom0)无法连接


8

在带有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中工作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

Answers:


7

和所有有问题的东西一样。寻求帮助通常可以解决问题。即使没有人回答这个问题。

因此答案有两个。显然在Ubuntu中安装xen *东西还不够。Blktap和东西是单独的程序包,需要Tapdisk用户空间程序和blktap模块。

安装blktap-utils和依赖项...您将获得tapdiskdkms软件包,并包含内核模块blktap

那还不够。显然,在Ubuntu Hardy和Precise XEN版本(xen-3.3-> xen-4.1)之间的某个时候,Blktap更改为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)


@Manwe我也有类似的问题,在我的情况下dom0和domu是ubuntu 12.04,我尝试过在您的帖子中提到,但是对我来说,它仍然显示(未安装55808 blktap内核模块),我已经在其中安装了blktap-dkms blktap-utils dom0,但仍无法正常工作。这是内核模块xen_netback,xen_blkback的输出,请您帮我一下。
凯文·帕克

您是否安装了内核头文件和dkms软件包?blktap-dkms dkms linux-headers-generic, linux-headers-3.2.0-31-generic linux-headers-3.2.0-31-generic并为dkms编译工作环境。(内核版本是我编译该模块所用的最新版本)
Manwe 2012年

嘿@Manwe我使用apt-get和3.2.0-23-generic内核安装了blktap和dkms。当我安装dkms时,GCC和其他类似软件包被安装为依赖项。我缺少什么。你能指导我吗。
凯文·帕克

@KevinParker我已经在答案中添加了一些诊断代码,请尝试一下。我猜想您没有为内核安装头文件(这里什么都没有把它们作为依赖项),或者您必须modprobe blktap
Manwe 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.