As I’ve been digging into some of the newer infrastructure technologies lately, it dawned on me that I really knew nothing about VMWare and XenServer. The primary reason for my VMWare ignorance was that every time I went anywhere near it, there was always talk of how much money it costs. I’m surprised they don’t charge money, just for looking at their website! I think only the VMWare “player” was free, at one point? Everything else though has always been super-expensive, priced for the enterprise-only.
And for XenServer, every time I looked at it, I’d be :15 minutes in and I still couldn’t figure out how to download it or how to install it. Luckily that is changed, more on that in a minute.
In present day, both of these need to be reevaluated by me. VMWare has a full-blown hypervisor available, that is free to use – it’s called VMWare vSphere. And XenServer, although open source, is run by Citrix now, and they have a free standalone operating system system hypervisor too, VERY similar to vSphere, you can get that here.
These products are similar to Oracle VirtualBox or Microsoft Hyper-V, but both definitely seem more industrial-strength, in terms of how much control you have over the environment and also because they are intended to installed AS the operating system, not just add-on programs like Hyper-V and Virtualbox.
If you are not familiar, this whole concept is the idea of having software on your laptop, where you can run a “virtual” machine on your physical computer. So, a physical host machine (like, your laptop) will run a hypervisor, and then within that hypervisor may be several virtual machines. These could be virtual workstations, servers, and they can run Windows, Linux, etc. Thing is, those virtual machines don’t realize they are running in a virtualized environment. To them, they just think they are running on bare-metal! That means that you can install Windows, Windows Server, Linux, etc to host all sorts of workstation and server configurations.
What’s the difference between all of these?
As mentioned, it seems like as far as standalone hypervisors, VMWare, VirtualBox, XenServer, and Hyper-V are the major players. Each has some upsides and downsides. So, depending on what you need, one might be more appealing than the others. Here’s my take:
Microsoft Hyper-V (Windows-only):
Hyper-V can be set up in a few ways. First, if you have Windows 10 Enterprise, you can enable it in Control Panel –> Programs and Features, by using the “Turn Windows features on or off”. Next, on any regular installation of Windows Server, you can simply add the role. Generally though, except for development environments, virtualization should be the only thing that box does. So, Microsoft also have Microsoft Hyper-V Server. This is a super-scaled-back version of Windows Server which ONLY has Hyper-V enabled. And it only has a command-line to interact with the server too. You can download that for free here.
The upside of Hyper-V is that it’s pretty easy to use, it’s basically free, and pretty much any version of Windows or Linux run on it. The downsides are that it’s not really an “enterprise class” hypervisor, simply because it doesn’t easily support multitenancy, and it can be difficult to manage. There is no web interface, and it takes a Level 17 Sorcerer’s magic to get your workstation permissions just right to use the MMC plug-in, to be able to connect. So, Hyper-V is great for local hosting of VM’s on your workstation (if you are on Windows), and it’s good for hosting VM’s in small shops where you have perhaps 1 or 2 sysadmins.
VirtualBox is pretty cool first because it runs on everything: Windows, MacOS X, and many/most distributions of Linux. It’s even more simplistic than Hyper-V, in terms of how technical you can get with your hosting. That means it’s pretty easy to use by anyone. VirtualBox though, is not really intended (I don’t think) to be a enterprise-class hypervisor. It too, really shines for the local developer. You can bring up virtual servers on your laptop, or in very small shops, you could probably use it to run your real servers – although it is a little tricky to get it to work without having to log in first and start it up manually!
VMWare is, by design, meant to be the enterprise-class answer for hypervisors. It runs on as it’s own operating system, and has rich, deep features, and also ties in with the suite of very expensive partner products from VMware.
I was really pleasantly surprised, here. You can download an ISO, burn it to a USB thumb drive or DVD, and put it in your server. Reboot and you are in the installer. Everything is pretty obvious and intuitive. In fact, the installer is eerily similar to vSphere – I wonder what the back-story is on that?! Anyhow, this is pretty much the open source answer to vSphere. It has many of the same capabilities, except it’s free to use.
How do you install vSphere?
The idea with vSphere is that it IS the operating system. You don’t install Windows or Linux, and install this on top – this is the operating system. So, you have to (*sigh*) register for an account, and then you can download a valid license key. It is free to use, but you still have to register it and activate your license. If you don’t want the inevitable spam that is going to come from giving them your e-mail address, you might choose to use a disposable e-mail instead?
Anyhow, it’s basically a command-line installation and once installed, you can’t really do much from the console. Although it seems to be based on Linux, there is no shell prompt. Instead, you do everything from the the web client or from the “client” application you download.
Since you don’t really do much from the console, one installed, you need to log into the management website. What’s the IP address of the server? Well, for those using DHCP, it will display it right on the console screen. In my case, it’s 192.681.1.21 – so I open that in a browser and voila:
If I choose the 2nd link of “Open the VMware Host Client”, that is the main management website – which is quite functional!!
Here is what it looks like, creating a new virtual machine:
and then if I chose that other option to download the Windows client – apparently, they are phasing it out. There is a warning that new v6 features aren’t available, but still, it’s a pretty powerful interface with lots of features:
Now, one thing I noticed was that I could only be connected to one hypervisor at a time. Note that 192.168.1.21 is at the top of the tree, above. Well, back on the main page, there was also a link to VMware vCenter. That let’s me manage several virtual servers from one interface. “Great, yeah, let’s do that!” so I navigate to the download page, and it looks like it costs money?
Yep, OK, yeah, that’s the VMware that we all know. So the bottom line here is that vSphere is free (after you register the product and activate the license), but that’s it. Absolutely anything else, is going to cost you money. A lot of money!
How do you install XenServer?
Again, this is where I was pleasantly surprised. XenServer was supposed to be “the open source answer” to virtualization. You know how for every pay product, there is an open source answer? Well, it just seemed like the project was a mess for several years. I’ve gone back to it several times. I don’t think I’m a stupid person, but I never got off the ground with it once. I could never find how to download it, or the download page I found, didn’t have the core product – it was confusing. Now, it’s different!
Download the XenServer operating system install from here: http://xenserver.org/overview-xenserver-open-source-virtualization/download.html
When you boot off the media, the install is very similar to vSphere. In the end, it has a few more things you can do from the console and there IS a shell prompt you can use, but similar to vSphere, there is a web interface where you start to do all the heavy lifting.
Similar to vSphere, the console of the machine tells you the machine name and IP address. So, navigate to that in a browser and here is what you see:
So, there is no web interface out of the box. There is a pay product called https://xen-orchestra.com/ though. So meanwhile, on Windows, I downloaded the XenCenter app and sure enough, it’s got lots of great features:
and similarly, to create a new VM:
and even better, note that I can manage multiple hypervisors from this tool too:
So – this is free, it has lots of great features – does it have a downside? Well, probably the biggest downside is that if you are primarily using Linux, there is no way to manage these servers via a GUI. You have to do it all via command line. Aside from that, if you are looking for simple, basic functionality to manage virtual machines – this is a great option.
From what I can tell, for basic “single group of admins” (or, non-multitenant setups) type of on-prem virtual machine hosting, these pretty much seem to be the options: Hyper-V, VirtualBox, vSphere, and XenServer. So which should you use? Here’s my take:
- If you just need developer-type servers and workstations, and you work on Linux or MacOS X – use VirtualBox
- If you just need developer-type servers and workstations, and you work on Windows – use Hyper-V. If you don’t have Win10 Enterprise, then use VirtualBox
- If you have some semi-permanent “servers” you want set up, regardless of whether it’s Windows or Linux, I definitely now prefer XenServer. Hyper-V falls short because if you run Hyper-V server, the ONLY way to manage the virtual machines is via PowerShell or the MMC console, and even then, you only have basic controls. XenServer has a very powerful Windows client, and for everything else, there is always the command-line.
VMware vSphere, to me, is still only for enterprise use, because it’s mired in licenses and VERY high costs. That’s a lot of baggage that big companies like, but for home-labing or even a small to medium size business, who has the time/money for that?