Articles tagged in virtualization

  1. Hypervisor is not reinventing the wheel

    Virtuozzo: Xen, Microsoft and VMWare are reinventing the wheel with their hypervisor/para-virtualization technology, doing the things operating system has always been doing.

    Essentially, the hypervisor is a lot like an operating system. It shares CPU, memory and I/O between Virtual Machines -- it includes an SMP scheduler, memory manager, I/O subsystems, plus its own driver. In addition, the hypervisor needs to efficiently support PAE, NUMA, thread libraries and other low-level mechanisms.

    So the conclusion is?

    Frankly, it's not like I'm going to lose sleep over VMware, Microsoft and Xen spending a lot of money and time of their best people on re-implementing what is essentially an OS kernel just below the actual kernel. Needless to say, Virtuozzo does not re-implement anything. It uses the OS and drivers directly and automatically takes advantage of all improvements made to the OS kernel.

    That is what you expect when you try to read virtualization-related news from a vendor's website -- full of self-promotion and spreading FUD.

    Disclaimer here -- I am not a virtualization expert, but a user who have used and deployed both technologies, OS-level container and hypervisor. I don't deny that Virtuozzo/OpenVZ are having less overhead -- VZ is only a thin layer of the current running OS, whereas in the case of Xen you have a regular OS on top of hypervisor. Even more complicated for VMWare when it needs to emulate the whole hardware.

    However in the case of Xen, dom0 sits on top of a patched Linux or NetBSD which already has all the optimisation for the hardware. DomU nodes only need to optimise for the hardware that has been virtualized. There is no "special hypervisor OS" that needs to re-implement its own device drivers.

    From user's point of view however, there is a huge difference between a container VPS and a hardware-virtualized VPS. If you have experience with OpenVZ or Virtuozzo, you know how it feels -- you know that you are in a VPS. VM parameters reported by the kernel is inaccurate. free and top are useless. VZ's UBC is a mess to work around. Where can I tune my kernel's "swapiness"? There are just so many things you can't do where you can on a dedicated server and on a Xen or VMWare VPS.

    It seems OpenVZ/Virtuozzo is only good for web hosting, where you have an array of cheap oversold VPS all running CentOS 4 and Plesk. Wait! What else are SWSoft selling?

    Hardware is so cheap these days, and you basically don't care whether it is 1% or 3% overhead on your multi-gigahertz multi-core big iron. A full-virtualization makes those big hardware really useful to run multiple operating systems, and I am sure SWSoft knows it. Too bad Virtuozzo is a container technology and can only run on a few specific patched versions of Linux.

  2. Future of OpenVZ Is there a future for OpenVZ, which starts with an unavoidable comparison with Xen. I am not sure why they need to be compared at all -- paravirtualisation and container-based virtualisation are two completely different technology, and both have their pros and cons. On one hand, if you need a hypervisor and want to run full-blown OS, then you can't do that with OpenVZ. If you want burstable memory allocation, shared filesystem, and really utilise your hardware, then Xen is not the best choice. Simple.

  3. I love VMWare

    It has been almost 10 months since I started running Gentoo inside VMWare on my Windows desktop. It made coding at work (mostly application server related) much more bearable. I have since upgraded to VMWare Server, keeping my Gentoo installation in sync and the uptime of my Gentoo VM usually out-lives the uptime of my Windows host, if I remember to pause it before I reboot Windows due to various updates. I am pretty happy.

    Then last month I decided to make some change to my Linux partition. First of all, I have decided to ditch ReiserFS for XFS as it has lower CPU utilisation. It's pretty much a small single-user installation so I don't need the speed I can get from ReiserFS, and since it runs on my notebook I want save battery when I am away from the mains.

    I would like to pre-allocate the entire disk image. After a while the vmdk file gets a bit fragmented on NTFS and that really kills the performance. So I decided to just allocate the lot when I change the file system type at the same time.

    Also VMWare Server recommended to use SCSI instead of IDE virtual drives. Well, the underlying physical drive is still that slow 4,200RPM 2.5inch notebook drive, but I can imaging that there's more flexibility in emulating a SCSI bus than an IDE equivalent.

    Now talking about changing hard drives, I can imagine how much work it is require to do on a physical server. Backing up the files, shutting down, installing the new drive into the physical server, rebooting, re-partitioning the drive, copying files over, doing the power cycle again to take the old drive out, etc. This kind of thing is almost too trivial on VMWare.

    1. Press that Red Button to shutdown your VM.
    2. Attach a newly created virtual SCSI disk.
    3. Attach a virtual CD-ROM drive that points to my rescue disc ISO.
    4. Power up VM, and boot into rescue disc.
    5. Mount both drives.
    6. (cd /mnt/hda1; tar cf - .) | (cd /mnt/sda1; tar xvpf -)
    7. Edit /mnt/sda1/etc/fstab and /mnt/sda1/etc/lilo.conf. Run lilo -r /mnt/sda1.
    8. Unmount both drives, and shutdown the VM again.
    9. Detach the old IDE drive. Detach CD-ROM as well as I probably don't need it again.
    10. Boot up my VM -- and all my files are now on this new "hard drive"!

    And best of all, you can do all the above without a screw driver. Don't I love VMWare?

    I have found some interesting VMWare images at recently. They are tiny Linux images that can run on Xen or VMWare, and each image provides a single functionality. For example, you can grab a VM with PostgreSQL pre-installed at only 14Mb download.

    Maybe that's what the future appliances is. Instead of buying small gadgets that do well on one thing, you buy a beefy server, and then drop in many small "virtual gadgets". Need an extra MySQL server? Just deploy another one using VMWare. Need a Firebird server? No problem. Too much load? Real-time migration of virtual appliances to another beefy server with minimum downtime.

    There's plenty of market on virtualization technology, and there's plenty of market on those gadgets that utilise virtualization.

  4. Virtualization is now Free

    VMWare has released their VMWare Server version 1 for free, and Microsoft has also released their Virtual PC 2004 SP1 for free. Software that used to cost hundreds of dollars and companies are now allowing people to freely download them, hoping the users will migrate to their enterprise editions. Or …