17

I used virtual box before to test OS installation on my own personal computer. I'm not sure if it's suitable for actual virtualization on live servers. I mostly hear about Xen for that. Is virtualbox at the same level (production environment virtualization)? and what other alternatives are there, other than Xen?

sameold
  • 963
  • 3
  • 11
  • 20

7 Answers7

19

One notable thing that I feel has been left out is that VirtualBox is an entirely different class of virtualization. VirtualBox falls under the category of "workstation virtualization" (also known as Desktop virtualization) which is fine and dandy, but it doesn't really compare to Microsoft's Hyper-V or VMWare's ESXi.

Hyper-V, ESXi, KVM, and Xen are all hypervisors - they are tiny OS's that do one thing: run VMs. You don't really interact with them after setting them up. (You can, and should regularly, but it is not the primary machine you interact with. Just make sure it's updated, etc.)

VirtualBox is much more similar to VMWare Server or Microsoft's Virtual PC. That is not to say you can't do anything within VirtualBox that you can't do in, say, Xen, but it's not the goal.

Given all that, though, I would personally not recommend VirtualBox for a production environment - not a lot of trust there, since you have to run a full OS below it (rather than the slimmed down, small footprint hypervisors mentioned earlier). I do love it, though, for testing a server on my workstation and then deploying it to the ESXi cluster we have once I've ensured it meets all the requirements.

(whew, that was a big post. yay virutalization class in college!)

evaryont
  • 301
  • 1
  • 6
  • 3
    Well explained. One thing to note, however, is that Hyper-V is not really a true bare metal hypervisor like the ESX and Xen products. It generally runs on top of Windows (although it is still a hypervisor). The stand-alone Hyper-V server has a much smaller footprint than running on top of a full Windows server, but many parts of Windows are still there. Well stated answer, and I agree, VirtualBox is not intended to run production VMs but is well suited for use in development work on a desktop machine. – Rob Jun 16 '11 at 20:49
  • @Rob - Even ESXi still has a lot of its Linux underpinnings -- I consider the two to be equivalent personally. You draw the line exactly where I do: VirtualBox for testing on my workstation, VMWare or HyperV for production virtualization, VM Labs, etc. – voretaq7 Jun 16 '11 at 21:20
  • 3
    @Rob that is wrong. Hyper-V is a VERY small hypervisor. The "old OS" is moved to a virtual machine (Client 0), but the bare metal runs only a small hypervisor, even under Hyper-V. Control flows FIRST to Hyper-V, THEN from thre to the installed VM's, among them the "original os". – TomTom Jun 09 '12 at 03:48
12

The Gold Standard for server virtualization is VMWare VSphere (ESXi). Microsoft's Hyper-V Server is a close second. Both are free (as in beer) for their basic editions.

VirtualBox is great for testing, but it lacks many of the enterprise features available in VMWare of Hyper-V. Similarly Xen is a great platform, but lacks some of the flexibility you get from the two options I mention above.

voretaq7
  • 79,345
  • 17
  • 128
  • 213
  • But Microsoft Hyper-V is only for machines running Windows, not Linux, right? Also, can you give me an idea what are some of the features that Xen lacks? – sameold Jun 16 '11 at 18:03
  • @sameold - Hyper-V works just fine with Linux. I'm hosting about 30 Centos servers via hyper-v and they're all running great. I'm not super familiar with the Debian/Ubuntu line so I cant say for sure on those even though I have read about people having success with them. – ErnieTheGeek Jun 16 '11 at 18:16
  • Hyper-V is a hypervisor - It supports Linux guest operating systems. Re: features Xen is lacking, it's mostly in the areas of failover and recovery ("Extra cost" features from VMWare, not sure about their status with Hyper-V), and the fact that Xen (in my experience) requires jumping through more hoops when trying to install (e.g.) Windows. – voretaq7 Jun 16 '11 at 18:20
  • The free Hyper-V server has the clustering/HA features built in. – ErnieTheGeek Jun 16 '11 at 18:30
6

I wonder why nobody mentioned KVM - it is a type 1 hypervisor, has been around for years now, and it performs really well. The management utilities can provide all the enterprisey features

dyasny
  • 18,482
  • 6
  • 48
  • 63
  • Good point. Low foot print, comes with the kernel, and is comming standard with some operating systems like Ubuntu 11.04 Server. On the other hand, KVM can be quite involved in setting up if you are not already familiar with linux. – Chad Harrison Jun 16 '11 at 18:23
  • 1
    not in any modern distro, if you want the basic features. And if you're using the enterprisey KVM management solutions, things are even easier. I've just installed a rhel6 machine on my desktop, couple of clicks in anaconda, and I have a ready virt-manager based, gui driven hypervisor – dyasny Jun 16 '11 at 19:49
  • 1
    I left out KVM because of the number of caveats in its supported guest OS list -- It's not a *bad* option, I just think there are better ones :) – voretaq7 Jun 16 '11 at 21:22
  • 2
    hmm, I never thought the lack of support for OS/2 was a caveat... – dyasny Jun 17 '11 at 07:37
5

I know I'll go against the grain here, but I have many years of experience in these technologies, so I'll try to explain.

Don't be too hasty in dismissing VirtualBox for production servers, as it has many features that actually make it a solid choice.

First, you have to realize that although we speak of type 1 hypervisors running against bare metal, simply because a hypervisor requires a host OS does not mean it cannot outperform one that supposedly does not. I say supposedly because ESXi really runs what is commonly termed "JEOS" -- Just Enough Operating System. ESXi is running the slimmest version of an OS it can to supply hardware interfaces and a layer to host guest VMs. Note that Oracle now offers JEOS linux and you could use that to lay VirtualBox on top of and get a similar configuration. DON'T GET CONFUSED BY FOCUSING ON TYPE 1 VERSUS TYPE TWO HYPERVISORS. FOCUS ON WHETHER HARD ABSTRACTION OR SOFTWARE ABSTRACTION IS USED. Note the MS Hyper-V used to use software, and now uses hardware. vSphere, Hyper-V and virtualbox all use hardware abstraction, and all support Virtualization optimizations built into modern day CPUs.

With the abstraction layers of the three I mentioned being similar, you might wonder how to compare and contrast. I look at real performance and functionality of guest OSes installed, since at the end of the day, that's what the goal is. I also look at Management capabilities, support for dynamic memory sharing and balooning, iSCSI support for guest VMs, and support for non-traditional guest VM needs (such as USBs, RDP, sound, NIC teaming, NIC Promiscuos mode, etc.) This last item basically addresses that if I have a special VM need, I need to add that special need when shop for a hypervisor.

I usually begin with the end in mind, and don't try to solve every problem with a single host, single hypervisor solution. If I have many linux guest OSes, then XEN should be considered by running many linux VM on a single host, because XEN has some special optimizations for linux guest to share pages RAM and establish a direct memory APPC. Really cool and fast stuff. The downside, all VMs have to run linux in this special configuration of XEN.

If you want to run Windows VMs, then the opes source version of XEN does not contain the special Windows HAL drivers that Citrix Xen and VMWare offer, so the open source Xen is a dog for Windows VMs. Citrix Xen works, but you'll quickly find yourself engineering solutions to avoid paying licensing costs to Citrix, and if I'm going to start spending money, there are probably better Windows guest hypervisor to buy. Note though, for linux VMs, Citrix Xen offers some compelling performance gains based on the shared memory paging I mentioned earlier -- so keep this in mind for implementing 3 or more linus VMs on a single host.

vSpere obviously works, but is costly, and does not have the native linux optimizations that Xen has. With the HAL Windows drivers they spent mucho dinero perfecting, it runs Windows about the same as Citrix Xen, so it becomes an economicaly and political choice -- not a technology one.

Hyper-V is a fragmented product -- versions. The non Enterprise 2008 version does not have a GUI, so the shell rules. It also lack promiscuous modes, so some very special guest VM needs will have to seek life elsewhere.

Now that I have covered the field, I'll get to what I consider the sweet spot -- VirtualBox and the upcoming Windows 8 with built-in Virtualization. I'll just start by saying that come October 2012, Windows 8 will reshape virtualization. For those old enough to have seen Netware lose it's livelihood when Microsoft included Network File Servers into the core OS, watch again as VMware and others scramble against the marketing peril of "it's free and part of the OS". Unless the DOJ steps in again (which is doubtful given the dot-bomb results of their last intervention, the next generation OS will simply be a vOS, and we will come to expect and accept nothing less in an OS (just like remote UI consoles, Network File Services, Multi-user capability,etc.) Windows 8 has features that will run Windows infrastructure at such a seamless, easy, wizard, live migration, pool resource virtualization level that anyone running Exchange in the Enterprise will naturally go there. Yes, it will take time for those Enterprises invested in VMware to shift, but VMware is already struggling and the recent change of the license model for version 5 should tell you that hardware manufacturers and enterprises have for some time been finding ways not to pay the VMware prices, and have no direction of doing so in the future. While VMware tries to force them to pay for vOS, Microsoft in handing it out for free with Windows 8, and these same enterprises already have to by the OS from Microsoft.

OK, so much for the future. For now, if I'm running Windows or linux along with Windows, VirtualBox performance, easy UI, hardware support, built-in iSCSI, and memory balooning are hard to beat. The fact that you do not need to load special Windows drivers to improve performance should tell you that this technology is sound at the HAL level, and that's why it's performance screams. It's everything I need in a small datacenter.

For larger datacenters, provisioning, live migrations, etc. are required to keep support staff small and leverage hardware investment, but it's hard to beat the value proposition of $50 per user for technology that is solid, performant, and pools hardware resources.

Think twice before dismissing VirtualBox in your small datacenter until 2013, then stop thinking and use Microsoft for Microsoft and something else for Linux. I have faith that by 2014, the linux vOS wars will be underway, and either VMware will retrench and lower costs for these needs, and/or Ubuntu/SuSe/RH will start bottling a mature Xen environment into their OS offerings.

As for me and my (small) house, VirtualBox rocks -- on both servers and desktops.

Geo
  • 71
  • 1
  • 1
  • 1
    Looks like everyone abandoned Xen and went to KVM instead (which I'm surprised you didn't mention). Even in 2012 it had pretty much all the features you mentioned here. – Michael Hampton Oct 20 '15 at 14:28
3

As voretaq7 mentions, VMWare Mircrosft Hyper-V packages are good choices for indutrial strength virtualization packages. But at the same time, I personally am using VirtualBox in our production enviromnet as a secondary Active Directory/DNS server and has been working pretty solid thus far. It's great for those that are teetering on Virtualization, but not quite sold on the idea. Those industrial strength, however, are a little more involve in setting up (not by much) and are great once you have decided to bring virtualization into your enviroment. VirtualBox is nice because its supported across almost all OS's and can bring up a VM on almost PC that is capable in terms of hardware.

Chad Harrison
  • 6,960
  • 10
  • 28
  • 41
1

As Voretaq says, generally no Virtualbox, and other type 2 hypervisors, are not production environment ready. Most virtualization implementations that you will be using at an enterprise level have more features then just being able to virtualize. There are basic features you want, such as cloning VMs, template creation, etc. There are enterprise features such as (using VMware terminology for these ideas) High Availability (HA), VM migration across hosts (vMotion), Dynamic Resource Scheduling (DRS), Fault Tolerance (FT), storage vMotion, and SAN bootable. All of these features are there to help minimize your downtime, which isn't acceptable for a production environment.

Chadddada
  • 1,670
  • 1
  • 19
  • 26
0

I have installed VirtualBox on a CentOS 6 and it has hold 6 virtual servers in production including Windows Server 2003, 2008 and Linux for almost 5 years and it has been an excellent product. It can emulate practically everything. I tested even OpenWRT and Android x86. For those that say that it is not a Hypervisor, the underlying OS integrated to Xen o VMWare is some sort of Linux. Due to that Virtualbox is not bare metal (Hypervisor, you should say) I can use the power of the Linux OS to optimize the whole environment. For example, I can assign specifics cores to specific VMguest, simply because it is a just another process for Linux. Virtualbox has all the features the "powered" VMhosts mentioned before have. Features like Snapshots, Live Migration or Teleporting (this feature existed even before HyperV had it), use of SAN and "raw hard disk access". It is a wonderful and easy to deploy full featured product