Xen vs KVM vs VirtualBox vs VMWare Workstation

Okay, there are four different packages that can be used for virtualization on OpenSUSE 13.2; one of them is non-free (VMWare Workstation/Player). Which is the best one to use, and what are the pros and cons of each one?

I personally have stayed away from Xen because it’s been my impression there have been more issues. But, YMMV. The reasons for choosing a virtualization technology may vary, for instance a primary reason for choosing one is the ability to migrate/clone a VM to the cloud. Xen for instance is the strongly preferred choice if you intend to migrate a VM to Amazon.

KVM is my preferred choice running on a Linux host like openSUSE. The fundamental core technology is integrated into the mainline Linux kernel and you have your choice of User tools, the primary and most common choice (but by no means only) management suite is libvirt (vm manager, virt install, vm install).

VMware is probably by far the leading commercial (costs) choice. Rock solid, VMware has been doing virtualization longer than just about anyone and fine tunes its User tools. So, if you can afford it, IMO VMware can be a leading choice for all levels of expertise (beginner to enterprise).

VirtualBox is IMO “OK.” I’m suspicious (perhaps unnecessarily) whenever important (to me) pieces are perpetually in “beta” mode, but the technology is fairly solid without too many issues. The price is right, and can be used for personal (Desktop) use, maybe very, very small SMB with little risk.

Leading/bleeding edge for Linux only solutions… Should strongly look into Docker.

TSU

On Sun, 18 Jan 2015 01:06:01 +0000, davidcjohnson wrote:

> Okay, there are four different packages that can be used for
> virtualization on OpenSUSE 13.2; one of them is non-free (VMWare
> Workstation/Player). Which is the best one to use, and what are the pros
> and cons of each one?

I use VirtualBox daily in a test lab for testing a clustered software
configuration. I find it has great flexibility for what I need to test/
do.

I have a 32GB desktop system that I use for my testing, and I typically
run:

  1. OpenWRT router VM to provide a NAT firewall from the external network
    to a Virtualbox internal network (not accessible from the host except
    through the firewall). Runs haproxy, firewall, and dhcp for the internal
    network.

  2. 8 2GB SUSE Linux Enterprise Server VMs (the software I’m testing/
    working with supports SLES11SP3, so I’m using that as my primary testing
    platform)

  3. 1 2GB CentOS 6.5 system (for component testing on that platform)

  4. 1 2GB CentOS 7.0 system (ditto)

I have just largely completed an automated build process of the SLES VMs
behind the router (the router itself is a static configuration point).
VirtualBox’s VBoxManage utility figures heavily into the script.
Configuring the clustered software (including building the VMs) takes
about an hour; I’ve got the process down to 4 minutes, completely
automated (including software configuration using REST APIs provided by
the software I’m working with - python is great for that).

While I’m sure that the other options can do this (indeed, Vagrant could
be used for VMware or VirtualBox to accomplish the same things), I’m
really happy using VirtualBox for this.

Jim

Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

I’m using virtualisation on my HP ProBook 4740s laptop (i7 CPU, 8Gb RAM). I previously owned a HP NX9420 laptop (2006 hardware) with XP (and later Vista) on which I could run 2 simoutaneous Windows guests using Virtual PC. I kind of expected to be able to do the same on the newer one but …
Fedora 20 + VirtualBox = slow guests
openSuse Tumbleweed + KVM/QEMU = slow host

I am at a lost here after digging for days on internet to find out why virtualisation sucks on my laptop running linux. Using encrypted partitions might be one factor, using the integrated Intel graphics most probably adds to the issue (no version of ATI drivers work for me - official, HP, openSUSE).
Beside that, I find KVM/QEMU confusing. They are actually 2 ways of doing the same thing. Most of the articles explaining how to use them use command-line qemu. Official docs from RedHat and SuSE are not detailed enough about the virt-* tools. Spice is another weird thing. No ideea if the spice-guest-tools must be installed or not. I believe KVM/QEMU should be used on servers and accesed remote for best performance. They lack the integration with the host machine: copy-paste and cursor (although the spice-guest-tools should fix that)

I tried vmware workstation in 2004-2005 on linux and it worked flawlesly. I hope it still is high quality, especially since its price increased so much (it was 56$ back then).

I haven’t tried Windows 8.1 with BitLocker on and Hyper-V. But Win 8.1 works really well on the old HP NX9420 and might be taken into consideration, since the ATI drivers are also working fine on Windows.

I also haven’t tried the SLED 11 (which came preinstalled on the ProBook) with KVM/QEMU because I cannot install it manually so that I can partition and encrypt the hard-drive to my liking. Plus it has old versions of common software like Firefox, Thunderbird and most important of all, LibreOffice.

There is probably a starting point. Research the capabilities of your dual graphics. Last I checked, every one of these laptop models added a Radeon GPU that was no better (and sometimes performed worse) overall than the integrated Intel GPU. So, there <might> be some minimal advantage to using the Radeon card in some situations, but hardly worth the effort in general. So, just be aware that bad hardware + bad hardware does not equal good hardware. You will forever be limited by the resources your existing hardware can support(Hint-hint Next time you’re buying hardware, pour money into your CPU and GPU and less into what can be upgraded like memory and disk. Buying practices I would not recommend to the general public that doesn’t do virtualization).

Still, I wouldn’t expect you should see many issues running a single Guest, even at full screen. You may not be able to run multiple videos simultaneously and even a single full screen video might strain limits, but should be workable.

The libvirt vm-manager is probably not the most User friendly in appearance. I remember my first impressions many years ago (hasn’t changed much since then), it looked square with sharp corners and very bare without any suggestion what to do first. But, I also had long years running VMware and MS Virtual Server so had an idea what I wanted to find. Others may not have that background so might feel more intimidated. But, I’d recommend you just start clicking every menu item, pane and object exploring what each leads to. Eventually, you can figure out what every part does, and as you gain more experience with different networking scenarios you’ll remember where everything is, it’s not difficult at all.

Actually, command like QEMU isn’t different unless you invoke full virtualization. That is the main differentiation between easier GUI management vs CLI (which requires extensive thought and care to create commands properly), whether paravirtualization (and KVM) should be used (usually for big performance boost) or qemu full virtualization (which enables emulating all sorts of things that’s not your hardware).

The SLES SP3 KVM documentation is excellent (complete and detailed) although might be a bit confusing for absolute beginners. Be aware as you progress beyond being an absolute beginner you’ll find all sorts of answers in this documentation
https://www.suse.com/documentation/sles11/singlehtml/book_kvm/book_kvm.html

Spice tools are optional. Spice is a special protocol that can provide alternative means to do things like provide USB (and other hardware) access or pass video. By default, you do not need to use Spice although if standard recommendations do not work, you can also try using Spice. When you use vm maanger to launch a Guest’s remote display, you are using VNC and the Remote Framebuffer Protocol (instead of Spice).

If you haven’t tried it yet, I recommend implementing LUKS to encrypt your disk or partition. AFAIK it works well using any virtualization technology on any and all disk formats. BTW - if you do decide to encrypt, it should not affect runtime performance. LUKS protects your disk data only when at rest.

Also, as John Henderson describes, all of these technologies can provide a stable and reliable hypervisor to support basic virtualization. Also, because of today’s CPU paravirtualization extensions there should be relatively little difference in CPU and memory performance. The real difference is in whatever available tools for whatever price… Configuraing and managing various types of networks, switching between networks, displaying runtime metrics (health), doing standard management functions like create, copy, destroy plus optional functions like backup, snapshots, migration (including live), etc.

HTH,
TSU

On Sun, 08 Mar 2015 20:16:01 +0000, savornicesei wrote:

> I am at a lost here after digging for days on internet to find out why
> virtualisation sucks on my laptop running linux

You seem to have an issue that’s separate from this thread - I would
suggest starting a separate thread with your specific issues outlined in
it.

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C