Posts Tagged ‘virtualization’

Virtualbox

I recently looked into Virtualbox as a alternative to my current virtualization solution (MS Virtual PC). I was particularly convinced to give it a try after reading this article on ArsTechnia detailing some of the new features in version 3.

virtualbox with openSUSE

A quick rundown of the good and the bad (so far):

  • 64-bit guest within a 32-bit host. As a 32-bit version of Windows XP is my primary OS, I loved that I could virtualize the 64-bit version of Windows 7 and was able to get pretty decent performance. (fyi, I do have a 64-bit CPU with hardware virtualization support)
  • Unable to install openSUSE 11. I have no clue why; it booted from the CD image, but froze once I selected the menu option to start setup. However, I was able to successfully install openSUSE 11.1 without any issues.
  • Constant CPU usage. I notice some of my VM would constantly push their CPU/core to 100%. However, I think this is related to the following issue…
  • Networking problems. The default virtual ethernet adapter (PCnet) seems to cause certain VMs to freeze. I encountered this with openSUSE and Ubuntu. A solution can be found here; basically, just switch to the “Intel PRO/1000 T Server” adapter.
  • Problems installing guest additions on openSUSE. I wanted the guest additions primarily to be able to dynamically adjust the guest’s resolution, which is an increadibly powerful feature. Getting the guest additions installed is not quick and easy. Partial solutions can be found here and here. In short, first do an update to make sure you have the same kernel and kernel sources (needed for the guest additions). sudo zypper dist-upgrade Then add/update the following components: sudo zypper install gcc make automake autoconf kernel-source All of this can take a while. After all installs/updates are done, restart, then run the appropriate script off the cd image.
  • Dynamic resizing doesn’t work. If you got the guest additions installed following the steps above, you’ll find that dynamic resizing doesn’t work (however, your resolution will jump to 1024×768 from the default 800×600). There’s message after installation of the additions that alludes to this. You’ll have to edit xorg.conf (/etc/X11/xorg.conf). See here. In the Monitor section remove or comment out any “PreferredMode” options. In the Screen section remove or comment out any line with “Modes”. Restart, and dynamic resizing should now work. (Note, one minor quirk I noticed is that the openSUSE taskbar jumped from the bottom of the screen to the top when a resize was done. I’m not sure if this is an issue with Virtualbox or openSUSE.).

Overall, I’m both impressed and disappointed. Virtualbox has an impressive feature-set, but the “out-of-the-box” experience leaves a lot to be desired.

Virtualizing socket ports per user

I haven’t put a whole lot of thought into this, so there may be something major I’m overlooking. In any case, I was thinking that virtualizing socket ports per user in a multiuser operating system would be a very cool and worthwhile feature. Doing this would allow applications running under different users to bind to the same port. So, two users running an app with a server component could both accept incoming connections and function simultaneously and independently.

Now, the obvious question here is how would this map to an IP address seen on the local network. A lesson from virtualizing operating systems could be taken here: treat every user as a different machine on the network, so every user instance gets it’s own IP (set manually, assigned by DHCP via. a router, or whatever) and you could (I think) fake the MAC address easily.

There’s the obvious performance loss, but w/ current processors that should be fairly minimal, even for heavy traffic.