neuhalfen.name

A random collection of posts

KVM, OpenSolaris and Large IDE Drives - Part II

Permalink

I installed Ubuntu 9.04 desktop as KVM machine and re-ran the tests that failed with OpenSolaris . The tests ran smoothly wihtout any data corruption.

KVM domain

The KVM domain is Ubuntu 9.04 Desktop (64 bit edition). The disks I passed in via the emulated IDE bus were recognized as sda/sdb, what I thing is rather strange, given that they should be emulated as IDE (hda/hdb) disks.

Running dd if=/dev/zero of=/dev/sdb ran smoothly and verifying sdb from the host found no errors (in stark contrast to my OpenSolaris experiment yesterday).

A quick lsmod told me that several virtio drivers were loaded in the guest domain. Virtio works flawless, as I have been told on #kvm. I am afraid that I would compare apples to oranges with Linux/virtio vs. OpenSolaris/emulated, even if virtio_blk is not loaded in the guest domain.

domain $ uname -a
Linux jens-desktop 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:58:03 UTC 2009 x86_64 GNU/Linux
domain $ lsmod
Module Size Used by
isofs 43688 1
udf 92584 0
crc_itu_t 10496 1 udf
binfmt_misc 18572 1
ppdev 16904 0
bridge 63904 0
stp 11140 1 bridge
bnep 22912 2
input_polldev 12688 0
video 29204 0
output 11648 1 video
lp 19588 0
parport 49584 2 ppdev,lp
virtio_balloon 13316 0
pcspkr 11136 0
psmouse 64028 0
serio_raw 14468 0
i2c_piix4 20112 0
virtio_pci 15104 0
virtio_ring 12672 1 virtio_pci
virtio 13956 2 virtio_balloon,virtio_pci
8139too 36608 0
8139cp 31488 0
mii 14464 2 8139too,8139cp
floppy 75816 0
fbcon 49792 0
tileblit 11264 1 fbcon
font 17024 1 fbcon
bitblit 14464 1 fbcon
softcursor 10368 1 bitblit
$ dmesg|grep -i virt
[ 0.385954] CPU0: Intel QEMU Virtual CPU version 0.10.50 stepping 03
[ 0.388001] Booting paravirtualized kernel on KVM
[ 1.010061] input: Macintosh mouse button emulation as /devices/virtual/input/input1
[ 2.644740] virtio-pci 0000:00:04.0: PCI INT A -> Link[LNKD] -> GSI 11 (level, high) -> IRQ 11

Disabling virtio in the guest

The next step was to prevent virtio from loading in the guest domain and to redo my lengthy tests.

domain $ cat /etc/modprobe.d/blacklist-virtio.conf
blacklist virtio
blacklist virtio_balloon
blacklist virtio_pci
blacklist virtio_ring
domain $ sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-2.6.28-14-generic
domain $ sudo reboot
..
domain $ dd if=/....

The test without loaded virtio modules went without errors.

Conclusion

OpenSolaris does bad things to KVM-virtualized IDE disks. It corrupts all the data after the 128 GiB mark. Until now I haven’t found the page that tells me, how large OpenSolaris IDE disks may be.

Comments