Comment 6 for bug 404394

Revision history for this message
Nathan Lutchansky (nathan-launchpad) wrote : Re: qcow2 corruption regression

I ran into this bug as well, fortunately on a VM with no important data on it. KVM 84+dfsg-0ubuntu11 is rock-solid for me in production, but 0ubuntu12.3 causes data corruption nearly immediately on VMs that use virtio and qcow2.

Here is a from-scratch reproduction procedure, which I have confirmed works:

(1) Install Ubuntu 9.04 Server on a 64-bit system with VMX or SVM support. I'm using a run-of-the-mill Intel 64-bit desktop PC. Accept the defaults for everything in the installer.

(2) Run "aptitude update; aptitude full-upgrade; aptitude install kvm; reboot"

(3) Get a copy of ubuntu-9.04-server-amd64.iso.

(4) Run "kvm-img create -f qcow2 test.img 2G ; kvm -m 512 -net none -curses -drive file=test.img,if=virtio,boot=on -cdrom ubuntu-9.04-server-amd64.iso -boot d"

(5) The installer uses framebuffer which doesn't work in Curses console mode. You'll end up at a screen that says "640 x 480 Graphic mode". Working blind: press enter, then escape. Wait five seconds for the Curses input layer to deliver the escape, then press enter again. The screen might flash briefly. Now type "install fb=false" and press enter. This should start booting the installer kernel in non-framebuffer mode.

(6) Go through the installer, selecting all the defaults again. Do keyboard layout selection manually because the auto-detection doesn't work in Curses mode.

(7) After formatting the filesystem, the installer will report, "The attempt to mount a file system with type ext3 in LVM VG ubuntu, LV root at / failed." In dmesg you will find a ton of "end_request: I/O error, dev vda, sector 3670331" messages.

For fun, also try installing Ubuntu 8.04.3 Server as the guest. The same problem occurs.

Using a raw disk image instead of qcow2 doesn't trigger this problem. Using an emulated IDE controller instead of virtio doesn't trigger this problem. KVM 84+dfsg-0ubuntu11 doesn't trigger this problem.