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@gmail.com Date: Thu, Aug 28, 2008 at 2:27 PM Subject: HVM and tap:aio? To: xen-users@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.