Hello,
I'm wondering if anyone out there is doing tap:aio disk devices on a Xen HVM
vm with any success. Please let me know if you are, and perhaps your
version info and a config file snippet.
I've posted this to the xen-users list, and what I'm trying to do seems to
be correct, works on Ubuntu, Debian, and XenSource; but it doesn't work on
CentOS.
Here's the snippet from my config. More info in the message below:
builder = "hvm"
kernel = "/usr/lib/xen/boot/hvmloader"
acpi = 0
apic = 0
device_model = "/usr/lib64/xen/bin/qemu-dm"
disk = [ "tap:aio:/xen/ausmsit05/ausmsit05.raw,hda,w",
"tap:aio:/xen/iso/win2003r2_std_32bit_disk1of2.iso,hdc
:cdrom,r" ]
---------- Forwarded message ----------
From: - <debaan(a)gmail.com>
Date: Thu, Aug 28, 2008 at 2:27 PM
Subject: HVM and tap:aio?
To: xen-users(a)lists.xensource.com
Hello,
I'm not able to use tap:aio disk definitions with my HVM domU's. Is this
supposed to work on this version of Xen, or am I doing something wrong?
I've tried everything I can think of. file: works, but not tap:aio: , and I
understand that file: will cause OOMkiller if using NFS mounts and is
deprecated.
Likewise, tap:aio: for cdrom does not allow me to boot off of cdrom; file:
does work fine.
Furthermore, any time I use tap:aio, the bochs bios of the hvm domU shows
the hard disk size as 0 MBytes.
Any disk definition that I use that has tap:aio: gives the result either (if
tap:aio:/xen/foo/foo.img,xvda,w):
Booting from Hard Disk...
Boot from Hard Disk failed: could not read the boot disk
or (if specifying tap:aio:/xen/foo/foo.img,hda,w)
ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (0 MBytes)
Boot from Hard Disk failed: could not read the boot disk
Host: CentOS 5.2 x86_64, kernel 2.6.18-92.1.6.el5xen
Xen version: 3.1.2-92.1.6.el5
xen_caps: xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p
hvm-3.0-x86_64
selinux: disabled for testing
domU: OS doesn't appear to matter; domU OS won't start loading at all.
disk lines I've tried:
# disk recognized as 0/1 MB, can't install
#disk = [ "tap:aio:/xen/ausmsit05/ausmsit05.raw,ioemu:sda,w",
"file:/xen/iso/Win2003r2_std_32bit.iso,hdc:cdrom,r" ]
#disk = [ "tap:aio:/xen/ausmsit05/ausmsit05.raw,sda,w",
"file:/xen/iso/Win2003r2_std_32bit.iso,hdc:cdrom,r" ]
#disk = [ "file:/xen/ausmsit05/ausmsit05.raw,hda,w",
"file:/xen/iso/Win2003r2_std_32bit.iso,hdc:cdrom,r" ]
#disk = [ "tap:aio:/xen/ausmsit05/ausmsit05.raw,sda1,w", ",hdc:cdrom,r" ]
#disk = [ "tap:aio:/xen/ausmsit05/ausmsit05.raw,xvda,w", ",hdc:cdrom,r" ]
#disk = [ "tap:aio:/xen/ausmsit05/ausmsit05.raw,hda:ioemu,w", ",hdc:cdrom,r"
]
#disk = [ "tap:aio:/xen/ausmsit05/ausmsit05.raw,ioemu:hda,w", ",hdc:cdrom,r"
]
#disk = [ "tap:aio:/xen/ausmsit05/ausmsit05.raw,ioemu:xvda,w",
"phy:/dev/scd0,ioemu:xvdc:cdrom,r" ]
# Boot from Hard Disk failed: could not read the boot disk
disk = [ "tap:aio:/xen/ausmsit05/ausmsit05.raw,hda,w",
"tap:aio:/xen/iso/win2003r2_std_32bit_disk1of2.iso,hdc:cdrom,r" ]
in the last example, this is the output of xm block-list ausmsit05 --long
(768
((backend-id 0)
(virtual-device 768)
(device-type disk)
(state 1)
(backend /local/domain/0/backend/tap/55/768)
)
)
(5632
((backend-id 0)
(virtual-device 5632)
(device-type cdrom)
(state 1)
(backend /local/domain/0/backend/tap/55/5632)
)
)
and this is from xend.log:
[2008-08-28 14:18:09 xend 3692] DEBUG (blkif:24) exception looking up device
number for hda: [Errno 2] No such file or directory: '/dev/hda'
[2008-08-28 14:18:09 xend 3692] DEBUG (DevController:110) DevController:
writing {'backend-id': '0', 'virtual-device': '768', 'device-type': 'disk',
'state': '1', 'backend': '/local/domain/0/backend/tap/55/768'} to /lo
cal/domain/55/device/vbd/768.
[2008-08-28 14:18:09 xend 3692] DEBUG (DevController:112) DevController:
writing {'domain': 'ausmsit05', 'frontend':
'/local/domain/55/device/vbd/768', 'format': 'raw', 'dev': 'hda', 'state':
'1', 'params': 'aio:/xen/ausmsit05/ausmsit05.raw', 'mode': 'w', 'online':
'1', 'frontend-id': '55', 'type': 'tap'} to /local/domain/0/b
ackend/tap/55/768.
[2008-08-28 14:18:09 xend 3692] DEBUG (blkif:24) exception looking up device
number for hdc: [Errno 2] No such file or directory: '/dev/hdc'
[2008-08-28 14:18:09 xend 3692] DEBUG (DevController:110) DevController:
writing {'backend-id': '0', 'virtual-device': '5632', 'device-type':
'cdrom', 'state': '1', 'backend': '/local/domain/0/backend/tap/55/5632'} to
/local/domain/55/device/vbd/5632.
[2008-08-28 14:18:09 xend 3692] DEBUG (DevController:112) DevController:
writing {'domain': 'ausmsit05', 'frontend':
'/local/domain/55/device/vbd/5632', 'format': 'raw', 'dev': 'hdc', 'state':
'1', 'params': 'aio:/xen/iso/win2003r2_std_32bit_disk1of2.iso', 'mode': 'r',
'online': '1', 'frontend-id': '55', 'type': 'tap'} to /lo
cal/domain/0/backend/tap/55/5632.
Thank you in advance for any help you can offer.