Is virtualbox good for live server virtualization
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?
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!)
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.
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
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.
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.