This Time Self-Hosted
dark mode light mode Search

Virtualisation woes, again

I know this starts to get old, with my ranting about virtualisation software, but since I’m trying my best to optimise the power of Yamato to software testing, I’m still working on getting virtualised systems to properly work for me.

In a long series of blog posts ranting about VirtualBox, QEmu, KVM and so on, there was exactly one system that worked quite fine up to now: Windows XP (SP3) under VirtualBox. With the latest release, though, this was broken too: network started up then came crashing down, with a striking resemblance to an old Solaris problem .

Since I was in need to have my Windows XP virtual machine working for a job, I tried porting it to Parallels on my iMac, with the Parallels demo (since my license was only valid for 3.x series). After waiting for the 64GB image file to convert, it turns out that there is no hope in getting it to start: the VirtualBox additions drivers crash with a blue screen of death at boot when they are executed outside of a VirtualBox instance; the Windows Recovery console does not allow to remove the drivers from loading, and trying to delete the drivers to avoid them from loading was not an option, since they get installed in the program files directory (that the recovery console cannot access).

At the end, given the absolute unreliability of VirtualBox on every operating system at this point, I simply gave up and paid for the upgrade of my license to Parallels 4, which is now providing as my only Windows XP instance (which I’m still unfortunately tied to for work), and deleted VirtualBox from my system. Why, you’d ask, since networking not working is far from the biggest problem out there? Well the biggest problem, and the final straw that broke the camel’s back, was that while trying to figure out why Samba was not working, VirtualBox’s network filter module crashed the kernel. So what? Well, VirtualBox decided that rather than using the quite well-tested mixed kernel/userland TUN/TAP networking system, or the userland virtual network (with tap to interfacing it with the rest) provided by VDE, they had to provide a kernel module instead. For performance reasons, or, quite most likely, so that they can have the same interface to the network internals between different operating systems. Do I have to make it explicit how this is a problem?

Interestingly, while writing this I noticed that there are problems downloading VirtualBox and the thing also reminded me of how many time they messed up the ebuilds by changing the tarballs…

But it doesn’t stop here. Remember the NetBSD trouble with the networking I reported about one month ago? Well, I wanted to see if something changed with the new NetBSD 5.0 release (I actually wanted to make sure that feng detected the newly-added POSIX Message Queue support properly), but still no luck, I don’t see any network card with whatever model I provide to KVM, included the e1000 that I’d expect NetBSD to support at least.

On the other hand I was at least able to get Ubuntu (9.04) working on KVM, next step is Fedora 11, so I can actually test feng on other distributions as well as Gentoo.

Comments 8
  1. About KVM, for me graphics preference is poor, slow displaying antyhing, KVM is great for display-less virtual systems, access by ssh etc but you ever run Windows in KVM ? Slow as hell, have you any advice to speed up gfx in KVM?Sorry about my english.

  2. Hi. It is not really ontopic, but I need advice. Which fs is best to be used to store virtual machines on linux host? Now I’m using XFS, but it seems to be quite slow on shutdown sync. Most of machines I use are FreeBSD and Gentoo. Is it worth to upgrade to 2.6.29 and use ext4?

  3. Well Ivor, you can use direct disk-partition(s) instead of flat-file for virtual domains. You can check my instruction at “…“Npte: 1. XFS is good in performance compared to ext3.2. Single layer writing is anyways faster than double layer writing.Thanks.

  4. I doubt KVM has any acceleration support, and no, I would never try to run Windows in KVM, Windows _really_ need help in form of “additions” and similar. Which is why I paid for Parallels.But SDL is very slow with KVM, try the VNC method instead, has usable speed for Ubuntu and OpenSolaris.

  5. hi there,Windows (XP SP3, Vista) runs perfectly well inside kvm, just disable acpi for it (windows kernel and kvm option). And yes kvm got an acceleration support. Kvm just don’t run on processor without virtualisation accelaration !

  6. That’s not acceleration, that’s hardware-provided virtualisation support. With acceleration you usually refer to video acceleration, that is, high-performing 2d and 3d graphics that allows to use a totally GUI system like Windows.KVM does not provide that.

  7. I had success having network working with NetBSD 5 inside Qemu 0.10.3 (which supports using KVM), passing <tt>-net user -net nic,model=ne2k_pci</tt> and booting NetBSD without ACPI support. Hope this helps 🙂

  8. The problem with Windows is that the real or virtual motherboard chipset must be the same when moving the OS to another real or virtual machine, otherwise we get a a blue screen.What I do is go to hardware manager in Windows, uninstall EVERY piece of hardware, power of the machine the hard way, copy the OS to where I want to put it and then boot the machine.If everything goes well, the machine should boot properly and all we have to do is install the hardware.I’ve done this several times, even between machines with different hardware, and it works. I *know* we don’t have to uninstall every piece of harware, but I forgot which ones are needed, so I just uninstall it all.Try it, it saves a lot of time.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.