12

I'm building a server for virtualization for a non profit organization. I was planning on employing VMware ESXI free but I'm second guessing my plan because newer ESXI don't seem to be well supported by the vSphere Client and the web interface which is supposed to be used instead, is not free.

On the hardware we are limited to just one server right now. It's probably going to be an Xeon E5-1650 v3 (6x 3.5 Ghz) on a Supermicro X10SRH-CLN4F-O with 32 GB RAM and 2x 256 GB SSDs and 2x 1TB HDDs for storage. The board has an onboard LSI SAS 3008 controller that is supposed to be working with ESXI.

We are planning to use the server for accouting (WS 2012 R2), pfsense (vpn / routing) and about two linux VMs for our internal database applications, mail (zarafa), active directory (samba 4) and file and printer server.

Would I be better off using XenServer or KVM? On the plus side for XenServer is that it is completely free for me (same as KVM) but has a very good management interface which is kind of lacking for KVM. But on the negative side is the lack for good support for local storage. I wanted to offer raw SSD storage to my VMs for the database (accouting and internal tools - which are the most heavily used), but that seems to be unsupported with XenServer. KVM on the other side seems to support it, but I have bad memories regarding KVM and Windows Server having a really bad performance.

Points that are important for me

  • Performance
  • Ease of use (like a decent UI for basic tasks, manuals and a good community to ask questions)
  • Backup facilities (as there is only one server no migration at the moment, but snapshots and backups of the VMs to transfer them manually onto a new server are required)
  • Reliability
  • Free of charge
  • 6
    This actually isn't off-topic, as the OP is asking about the comparative feature sets of three products. In addition, he's seeking input with a well-defined set of requirements. This should be reopened because the question is entirely answerable. – ewwhite Oct 11 '15 at 13:32
  • 1
    What do you need in a management interface for it to be "good" ? – Journeyman Geek Oct 11 '15 at 15:15
  • 2
    There's now a post-installable web client for ESXi. labs.vmware.com/flings/esxi-embedded-host-client – Ryan Bolger Oct 11 '15 at 15:34
  • Windows runs quite well under KVM, provided you install the virtio driver package and SPICE guest tools (if you need Desktop Experience). – Michael Hampton Oct 12 '15 at 3:14
  • A good alternative would be to use Xen/XenServer (Citrix free product which you can purchase enterprise support for). It's what the largest clouds are built from (including Amazon's EC2), and it scales from single node installs to huge clusters. Best part, it's 100% free and you get 100% of the enterprise features with it (as opposed to VMWare's model which charges for both support and features, Citrix gives you all features but charges for support). – SnakeDoc Oct 12 '15 at 16:20
17

If you are running server 2012 then you already have access to hyper-v. The free hyper-v should serve your needs, you can run the GUI from any client or the 2012 server. This would also get you shared nothing migrations if you can't afford a san.

http://blogs.technet.com/b/keithmayer/archive/2012/09/07/getting-started-with-hyper-v-server-2012-hyperv-virtualization-itpro.aspx

  • I agree - the price of it is already included in Windows Server's price, so you essentially get an enterprise-grade solution for no additional cost. – WillS Oct 12 '15 at 6:46
  • Hmm with Server 2012 Standard I get two licenses, one for the Hyper-V host and one for the system right? I'm not a big windows server expert and actually try to avoid using it. You see as a non profit if you start using Microsoft software (Server, Exchange, Sharepoint,...) you start spending so much money for your IT infrastructure that would be better used for the actual cause you are working for. However, as I already have to get the WS2012 anyways (and its just 60$ for us because of sponsoring) I actually might consider it, given that there is a added value compared to free ESXI / Proxmox? – schneida Oct 12 '15 at 9:23
  • 4
    You should also look at techsoup, where non profits can get free licenses for software. I'm not a licensing expert, and your best absolute resource is the vendor but the license gives you 2 VMS if windows, if all you run is hyper-v on the physical server. – Jim B Oct 12 '15 at 10:13
  • 1
    @WillS you likely qualify for Microsoft charity pricing if you're a registered non-profit. This would qualify you for a substantial discount for almost all products. – MDMarra Oct 12 '15 at 23:43
  • We already get sponsoring / discounts by the local techsoup partner! Thats why the license for windows server is just ~60$. – schneida Oct 13 '15 at 8:42
9

You can use VMware ESXi for free... You don't necessarily need to use the web interface, and the product works very well with the thick client.

Or better, buy a vSphere Essentials license ($500) and have the ability to manage up to 3 host servers. This will give you vCenter capabilities and the Web interface if you wish to utilize it. Either way, the cost is extremely low for a well-supported product with great mindshare and community.


In general, I think you should separate roles/functions. I'm not certain why so many people try to integrate firewalling and routing into their hypervisor. Get a dedicated appliance (Cisco ASA or even purpose-built pfsense hardware).

If you're using Windows server for the accounting application, you can go the extra step and also use Windows for Active Directory. Substituting Samba in place for it is a fraught choice.

Use a hardware RAID controller if you use VMware.

Xen is dead in the SMB space and Enterpise, and not a viable choice for new deployments. KVM is okay, depending on the approach, but there's nothing wrong with ESXi at this scale. Hyper-V can be an option as well.

  • 2
    Why is XenServer dead? I use it for home server and it's just ok with the things I need (dev, prod, test vms) – JorgeeFG Oct 11 '15 at 21:22
  • 3
  • 1
    Wildly inaccurate and uninformed to call Xen dead. Xen (and XenServer) are what powers most of the large public clouds, including Amazon's EC2. Typically only private clouds are made using VMware, for cost and scalability reasons. Xen/XenServer gives you all the enterprise features out of the box, where-as VMware charges for them. – SnakeDoc Oct 12 '15 at 16:24
  • 3
    The OP: I'm building a server for virtualization for a non profit organization... If you don't get the context of the question @SnakeDoc, you're not contributing to the discussion. – ewwhite Oct 12 '15 at 16:40
  • 2
    @SnakeDoc Please drop this. It's not constructive. You're free to downvote this answer if you'd like, and to post your own answer. – EEAA Oct 12 '15 at 16:57
6

Use proxmox, an hypervisor based on KVM (other containers types also supported) all integrated via a web interface. We use this on dell rack servers and it is just perfect for small companies. You can also buy paid support.

Note that Proxmox is based on RedHat long-term support kernels, which is synonym for stability and good driver support for servers.

You can also make your servers redundant later when you will have money for another server.

NB: When using Windows based guests, be sure to use RedHat paravirtualized drivers. For recent flavors of windows, you also need to tune your cpu settings, since KVM/QEmu performs better when using cpu mode : host instead of kvm64

  • 1
    I tried out proxmox last night, and first impression was really good. I also like the integration of LXC and the Windows Server 2012 I installed didn't perform badly either - something I expected with KVM based windows virtualization. I will benchmark it in comparision with other hypervisors though to have some numbers! – schneida Oct 12 '15 at 8:58
3

I can't say how well Windows works with KVM, but I think it's worth testing. There are PV drivers available for Windows. It wouldn't be so bad to setup a VM and run some benchmarks.

KVM is nice because it's built into the kernel, unlike Xen. Performance is about the same. I find it easy to use via libvirt and the "Virtual Machine Manager" GUI. It can provide direct disk access if needed. I don't think it will go away any time soon, so you can count on future support. And best of all, it's free and always will be!

My experience with Linux VMs is that they perform very well and reliably, on busy servers.

Every time I've had trouble with Xen, I've had a terrible time getting help.

You can put the VM storage onto LVM or ZFS volumes to allow for snapshots without sacrificing performance.

3

As others already suggested, if you already have a Windows Server license, you thus have an enterprise-grade virtualization platform in your possession. If it is a Standard edition, then you can use it this way:

(1) install one instance of Windows Server on a physical server with up to two physical sockets (number of cores doesn't matter, matter processor sockets, so your server qualifies), this is called "virtualization host"; you can not install any other so-called "roles" (DNS, DHCP etc.) of the OS except the Hyper-V role on this instance.

(2) you can install up to two instances of "guest" Windows Server operating systems inside your "host" system. Install any roles you want on these instances.

(3) install any number of Linux guests inside your Hyper-V host; that is, the number of virtual machines is not limited by the licensing restrictions, only the number of Windows guests is limited.

As to the free Hyper-V server, it has been cumbersome to manage it in a non-domain (that is, workgroup) environment, so you would need another full-featured Windows Server (at least two, actually) serving as (a) domain controller(s) to manage your Windows-based hosts, including those with the free Hyper-V Server installed.

Do not forget to consider Storage Pools, a RAID-like software technology built into newest Windows versions. It can give amazing performance even on traditional HDDs. Using direct disk access for virtual machines is not that necessary, nor recommended.

As to the Linux guest support, it has been significantly improved in the latest versions of Hyper-V, but still there is room for improvement; there are multiple articles from Microsoft on how to configure Linux guests in Hyper-V.

  • EDIT (in response to the comment below):

No, I meant "normal" Windows Server 2012 R2 – either Standard or Enterprise (they differ mainly in licensing – Enterprise doesn't limit Windows Server guest instances, Standard limits them to two, but you can install more guests having additional licenses; I suppose you have Standard edition).

When I started using Windows Hyper-V Server (which was free from the beginning) it was 2008 version, then 2008 R2, and this was cumbersome in a workgroup, although not impossible. I simply don't know if things have changed with newer versions of the free Hyper-V (because currently we run Standard edition), but I suspect they have not. To form up the picture, look here: http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/11/configuring-remote-management-of-hyper-v-server-in-a-workgroup.aspx and here: http://blogs.technet.com/b/jhoward/archive/2008/11/14/configure-hyper-v-remote-management-in-seconds.aspx and google for 'hyper-v workgroup' to find more.

So, just install your full-featured Windows Server 2012 R2 on your hardware (Tip: don't enter the product key when installing, you will be able to activate your installation later; first test the configuration, then activate it, if satisfied); install drivers, configure network, storage (explore Storage Pools); then install just the Hyper-V role. This role by default also installs management tools, i.e. Hyper-V Manager – use it to create and configure virtual machines. You can install two instances of Windows Server 2012 R2 as guest systems (they will also require activation). For example, configure one instance as an infrastructure server (DNS, DHCP, even DC) and use the second to host your Windows application which you mentioned. Then add *nix virtual machines; read this article: https://technet.microsoft.com/en-us/library/dn531030.aspx and use Google for more information.

This configuration is actually a workgroup configuration too, because there is no domain controller or at least the Hyper-V host is not joined to a domain. But this does not matter because now you have management tools installed locally on the virtualization host; you will also be able to connect from your workstation by RDP and thus use Hyper-V manager kinda remotely. But if you try to install Remote Server Administration Tools for Windows 8.1 https://www.microsoft.com/en-US/download/details.aspx?id=39296 on your workstation, you will face the same problem as with the free Hyper-V. So the point is this: free Hyper-V does not have local GUI and requires purely remote management, which is difficult to configure in a workgroup; in contrast, full-featured Windows Server 2012 R2 permits you to easily manage your Hyper-V role simply because there is a GUI installed locally and accessible both locally and remotely – via RDP (it's also possible to install some sort of VNC).

To complete the picture: although free Hyper-V doesn't have its own GUI (all it has is an empty desktop with command-line windows and restricted text-based management tools) there are 3d-party tools, including free versions, that permit you to simulate full-featured Hyper-V host, for example: http://www.5nine.com/5nine-manager-for-hyper-v-free.aspx But the initial configuration (network settings, enabling RDP) still needs to be done manually. You will also have difficulties dealing with uninstalling programs (no Control Panel), Windows Updates, etc...

  • With the one Windows Server instance that acts as a HyperV server you mean "Hyper-V Server 2012 R2" which is free, right? When you say it "has been cumbersome to manage in a non-domain" do you say that has changed and it is ok to not have a domain control and all that or do you mean I better have one otherwise it will not make a lot of fun to work with it? – schneida Oct 27 '15 at 9:26
  • @schneida: edited the answer – Sergio Oct 27 '15 at 18:34
1

Use Proxmox VE. Its free, has an excellent web GUI with noVNC embedded and supports KVM or LXC.

I use it in large production clusters and for development environments.

0

I currently use vmware ESXi in a small configuration, with only 3 virtual servers, and it works flawlessly in the free version. And I do use the vSphere client, and haven't noticed any limitation.

I have worked with paid versions of ESXi in the past, and for the requirements I have now, nothing is limited so far, and working perfectly.

EDIT: I am using version 5.5.

0

I just use plain Xen installed in a tiny Ubuntu system as the host, and manage it from the command line with xl. As I understand it though, you can install libvirtd and use virt-manager as a nice gui management console from your desktop. One of these days I'll have to rebuild the server and try that.

protected by Falcon Momot Oct 12 '15 at 21:32

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.