Recently I’ve started to explore what free options exist for VDI. The main aim is to develop a computer lab-like environment or one that could be used internet cafés for example.
A very important requirment is that these solutions must be capable of running Windows guests. Those capable of running Linux guests only, are not discussed.
This article will be very much work-in-progress for a long time. Later on I’ll also make also test-implementations of some of them and report on the progress here.
This is a list of VDI software that I’ve found so far:
1. Citrix XenDesktop Express Edition (currently version 5.6): not open-source, free for up to 10 users, runs with Xen, VMware ESXi and Hyper-V hypervisors.
Details can be found at: http://support.citrix.com/article/CTX127575
2. QVD: free without restrictions (commercial paid support available), runs with KDE hypervisors. Does NOT support Windows host machines.
Details can be found at: http://theqvd.com/
3. NX (NoMachine): different versions, mostly paid. The free version allows two users two connect at the same time. This appears to be Linux based, but will have to explore the details of the offering more.
Details can be found at: http://www.nomachine.com/
There is also an open source implementation: http://freenx.berlios.de/
4. Linux Terminal Server Project (LTSP). This is a purely Linux based project. It seems to be a very mature project. It appears to provide even enterprise-grade functionality and documentation discusses very cool things like server-sizing, integration into a Windows based network, which thin clients to use etc. It’s a very holistic approach.
Details can be found at: http://ltsp.sourceforge.net/
Clouds are an extension to the VDI concept, for the purposes of this discussion. They are actually managed virtualization environments with features like live migration (move VM from one host to another without downtime), central management, reporting and rapid deployment of new VMs. While the public thinks that cloud is always open, for my purposes private clouds are more interesting. Also, instead of the flavors SaaS and PaaS, for my discussion I consider only IaaS, i.e. systems that are a collection of managed virtual machines.
Some of the open source cloud management software are:
1. Eucalyptus: This is a very mature project. It is built to be able to cooperate with AWS (using its API) to allow migration of workloads between AWS and the on-premise private cloud. It can have VMs built for the hypervisors of Xen, VMware or KVM. It comes in Enterprise and OpenSource (free) versions. The Open Source one lacks support for VMware. If you wish you can even become certified for Eucalyptus version 3.
Details can be found at: http://www.eucalyptus.com
2. OpenStack: This is another very mature project, but more one that is constantly evolving. It has a huge supporter base of companies involved. Certainly not the easiest to implement, but appears very open. It supports the hypervisors Xen, KVM, QEMU and VMware.
Details can be found at: http://www.openstack.org/
3. CloudStack: CloudStack is open source software written in java that is designed to deploy and manage large networks of virtual machines, as a highly available, scalable cloud computing platform. CloudStack current supports the most popular hypervisors VMware, Oracle VM, KVM, XenServer and Xen Cloud Platform.
Details can be found at: http://www.cloudstack.org/
4. OpenNebula: It can use all the main hypervisors and provides a management tool for it. Very well documented. My only question is if live-migration or at leas using template machines is possible on an ESXi or another free host.
Details can be found at: http://opennebula.org/
5. FOSS-Cloud: Based on KVM, doesn’t have limitations regarding guest OS. Has very much complete VDI capability set. The only pity is that their documentation is far from being complete. They offer paid professional support.
Details can ben found at http://www.foss-cloud.org
6. Open Source Desktop Virtualization Technology (OSDVT): The Open Source Desktop Virtualization Technology aims to provide a complete solution to deliver Virtual Desktops running in a standalone server over KVM to be accessed using the SPICE protocol.
Details can be found at: http://www.ucs.br/projetos/osdvt
7. Chef: This might be to heavy-weight for a small project. It can orchestrate very different kinds of clients, not only for the cloud. It’s actually more like a server-managent tool. Interestingly, it can also orchestrate various client OS’es like Windows 7 or Vista.
Details can be found at: http://wiki.opscode.com/display/chef/Home
8. openQRM: Similar to Chef, but goes much more in depth. You can not only manage VMs, but be as granular as managing certain CMS’es, so strictly speaking this is not an IaaS-only management system. The entities that can be managed are reachable via so-called plug-ins.
Details can be found at: http://www.openqrm-enterprise.com/
9. Zenoss: Similar to openQRM, but what makes this one special is that it’s agent-less. Will need to review it in more details to tell about its plus- and downsides.
Details can be found at: http://community.zenoss.org/
10. Cantivo: Based on KVM and Spice. Currently client is closed source, but it’s being worked on to open source. Not ready for production environments yet.
Details can be found at: http://cantivo.org/
Furthermore I provide some open source or free tools with a specialized area:
1. Open vSwitch: Virtual networking appliance used by man virtualization products. Xen, OpenNebula, KVM, ESX etc. Very mature project.
Details can be found at: http://openvswitch.org/
Virtual Machine Backup
1. Veeam Backup and Replication: This very cool tool allows for backing up and restoring not only full VMs but also the files contained in them. It features a free edition also, which includes the core capabilities as well.
Details can be found at: http://www.veeam.com/virtual-machine-backup-solution-free.html
Virtual Machine Monitoring
1. Veeam ONE: Still needs to be explored.
Details can be found at: http://www.veeam.com/virtual-server-management-one-free.html
Network Storage (SAN / NAS)
To be able to easily move clients between various ESXi servers, it’s wise to store the actual machines on the network and separate it from the machine running the ESXi server part.
ESXi supports NFS, iSCSI and Fibre channel.
Below I’m suggesting a few open source solutions for dedicated storage that’s separate from the ESXi server box.
Details can be found at: http://www.openfiler.com/
Details can be found at: http://www.freenas.org
3. UnRAID (by LimeTech): The fully free version can host only 3 HDDs, doesn’t provide user-level security, nor Active-Directory Support. The licences to add this functionality are not that terribly high, though (119 USD currently for a single server).
Details can be found at: http://lime-technology.com/home/87-for-system-builders
4. OpenMediaVault: This seems also quite powerful. Based on Debian. Even though it seems Open Source only, there is lot of activity in the forums, upgrades, plug-ins. This is definitely one that I’ll review later on.
Details can be found at: http://www.openmediavault.org/
1. Spice: This appears to be more like a technology (mainly driven by RedHat). It seems to allow redirection of devices (mouse, display and lot more) then a complete solution. I’ll need to read more about this, but it’s quite surely a very important technology if a thin client is what is aimed at.
Details can be found at: http://spice-space.org
This is a list of hypervisors known to me (work-in-progress):
9. UML (User Mode Linux)
A detailed discussion of virtualization options for Linux are at here.
Other stuff (various)
1. SmallNetBuilder: This appears to be a huge portal, with HOWTO’s, price comparison. Will need to review it later, but appears worth mentioning.
Details can be found at: http://www.smallnetbuilder.com/