Apache CloudStack works with a variety of hypervisors and a single CloudStack cloud deployment can have multiple hypervisors implementations. Some of the more popular hypervisors supported by CloudStack are Linux KVM, XenServer and VMware vSphere.
It is a generally perceived that the Cloud Management Platform (CloudStack) does magical things to support guest operating systems like Windows, Linux or BSD on the hypervisor hosts. In reality, CloudStack is just a consumer of the hypervisor’s capabilities. The ability of CloudStack to provision various guest operating systems is directly dependent on the hypervisor used.
Not all hypervisors are created equal and there-in lies the problem. Depending on the hypervisor vendor and the hypervisor version, the latest and greatest Operating System might have full, minimal or no support at all by the hypervisor.
As of CloudStack 4.2, the listOsTypes API returns the following list of Operating Systems as supported…
Apple Mac OS X 10.6 (32-bit) Apple Mac OS X 10.6 (64-bit) Apple Mac OS X 10.7 (32-bit) Apple Mac OS X 10.7 (64-bit) Asianux 3(32-bit) Asianux 3(64-bit) CentOS 4.5 (32-bit) CentOS 4.6 (32-bit) CentOS 4.7 (32-bit) CentOS 4.8 (32-bit) CentOS 5.0 (32-bit) CentOS 5.0 (64-bit) CentOS 5.1 (32-bit) CentOS 5.1 (64-bit) CentOS 5.2 (32-bit) CentOS 5.2 (64-bit) CentOS 5.3 (32-bit) CentOS 5.3 (64-bit) CentOS 5.4 (32-bit) CentOS 5.4 (64-bit) CentOS 5.5 (32-bit) CentOS 5.5 (64-bit) CentOS 5.6 (32-bit) CentOS 5.6 (64-bit) CentOS 5.7 (32-bit) CentOS 5.7 (64-bit) CentOS 5.8 (32-bit) CentOS 5.8 (64-bit) CentOS 5.9 (32-bit) CentOS 5.9 (64-bit) CentOS 6.0 (32-bit) CentOS 6.0 (64-bit) CentOS 6.1 (32-bit) CentOS 6.1 (64-bit) CentOS 6.2 (32-bit) CentOS 6.2 (64-bit) CentOS 6.3 (32-bit) CentOS 6.3 (64-bit) CentOS 6.4 (32-bit) CentOS 6.4 (64-bit) Debian GNU/Linux 4(32-bit) Debian GNU/Linux 4(64-bit) Debian GNU/Linux 5(64-bit) Debian GNU/Linux 5.0 (32-bit) Debian GNU/Linux 6(32-bit) Debian GNU/Linux 6(64-bit) Debian GNU/Linux 7(32-bit) Debian GNU/Linux 7(64-bit) DOS Fedora 10 Fedora 11 Fedora 12 Fedora 13 Fedora 8 Fedora 9 FreeBSD (32-bit) FreeBSD (64-bit) Microsoft Small Bussiness Server 2003 None Novell Netware 5.1 Novell Netware 6.x Open Enterprise Server Oracle Enterprise Linux 5.0 (32-bit) Oracle Enterprise Linux 5.0 (64-bit) Oracle Enterprise Linux 5.1 (32-bit) Oracle Enterprise Linux 5.1 (64-bit) Oracle Enterprise Linux 5.2 (32-bit) Oracle Enterprise Linux 5.2 (64-bit) Oracle Enterprise Linux 5.3 (32-bit) Oracle Enterprise Linux 5.3 (64-bit) Oracle Enterprise Linux 5.4 (32-bit) Oracle Enterprise Linux 5.4 (64-bit) Oracle Enterprise Linux 5.5 (32-bit) Oracle Enterprise Linux 5.5 (64-bit) Oracle Enterprise Linux 5.6 (32-bit) Oracle Enterprise Linux 5.6 (64-bit) Oracle Enterprise Linux 5.7 (32-bit) Oracle Enterprise Linux 5.7 (64-bit) Oracle Enterprise Linux 5.8 (32-bit) Oracle Enterprise Linux 5.8 (64-bit) Oracle Enterprise Linux 5.9 (32-bit) Oracle Enterprise Linux 5.9 (64-bit) Oracle Enterprise Linux 6.0 (32-bit) Oracle Enterprise Linux 6.0 (64-bit) Oracle Enterprise Linux 6.1 (32-bit) Oracle Enterprise Linux 6.1 (64-bit) Oracle Enterprise Linux 6.2 (32-bit) Oracle Enterprise Linux 6.2 (64-bit) Oracle Enterprise Linux 6.3 (32-bit) Oracle Enterprise Linux 6.3 (64-bit) Oracle Enterprise Linux 6.4 (32-bit) Oracle Enterprise Linux 6.4 (64-bit) OS/2 Other (32-bit) Other (64-bit) Other 2.6x Linux (32-bit) Other 2.6x Linux (64-bit) Other CentOS (32-bit) Other CentOS (64-bit) Other Linux (32-bit) Other Linux (64-bit) Other PV (32-bit) Other PV (64-bit) Other SUSE Linux(32-bit) Other SUSE Linux(64-bit) Other Ubuntu (32-bit) Other Ubuntu (64-bit) Red Hat Enterprise Linux 2 Red Hat Enterprise Linux 3(32-bit) Red Hat Enterprise Linux 3(64-bit) Red Hat Enterprise Linux 4(64-bit) Red Hat Enterprise Linux 4.5 (32-bit) Red Hat Enterprise Linux 4.6 (32-bit) Red Hat Enterprise Linux 4.7 (32-bit) Red Hat Enterprise Linux 4.8 (32-bit) Red Hat Enterprise Linux 5.0 (32-bit) Red Hat Enterprise Linux 5.0 (64-bit) Red Hat Enterprise Linux 5.1 (32-bit) Red Hat Enterprise Linux 5.1 (64-bit) Red Hat Enterprise Linux 5.2 (32-bit) Red Hat Enterprise Linux 5.2 (64-bit) Red Hat Enterprise Linux 5.3 (32-bit) Red Hat Enterprise Linux 5.3 (64-bit) Red Hat Enterprise Linux 5.4 (32-bit) Red Hat Enterprise Linux 5.4 (64-bit) Red Hat Enterprise Linux 5.5 (32-bit) Red Hat Enterprise Linux 5.5 (64-bit) Red Hat Enterprise Linux 5.6 (32-bit) Red Hat Enterprise Linux 5.6 (64-bit) Red Hat Enterprise Linux 5.7 (32-bit) Red Hat Enterprise Linux 5.7 (64-bit) Red Hat Enterprise Linux 5.8 (32-bit) Red Hat Enterprise Linux 5.8 (64-bit) Red Hat Enterprise Linux 5.9 (32-bit) Red Hat Enterprise Linux 5.9 (64-bit) Red Hat Enterprise Linux 6.0 (32-bit) Red Hat Enterprise Linux 6.0 (64-bit) Red Hat Enterprise Linux 6.1 (32-bit) Red Hat Enterprise Linux 6.1 (64-bit) Red Hat Enterprise Linux 6.2 (32-bit) Red Hat Enterprise Linux 6.2 (64-bit) Red Hat Enterprise Linux 6.3 (32-bit) Red Hat Enterprise Linux 6.3 (64-bit) Red Hat Enterprise Linux 6.4 (32-bit) Red Hat Enterprise Linux 6.4 (64-bit) SCO OpenServer 5 SCO UnixWare 7 Sun Solaris 10(32-bit) Sun Solaris 10(64-bit) Sun Solaris 11 (32-bit) Sun Solaris 11 (64-bit) Sun Solaris 8(Experimental) Sun Solaris 9(Experimental) SUSE Linux Enterprise 10(32-bit) SUSE Linux Enterprise 10(64-bit) SUSE Linux Enterprise 8(32-bit) SUSE Linux Enterprise 8(64-bit) SUSE Linux Enterprise 9(32-bit) SUSE Linux Enterprise 9(64-bit) SUSE Linux Enterprise Server 10 SP1 (32-bit) SUSE Linux Enterprise Server 10 SP1 (64-bit) SUSE Linux Enterprise Server 10 SP2 (32-bit) SUSE Linux Enterprise Server 10 SP2 (64-bit) SUSE Linux Enterprise Server 10 SP3 (32-bit) SUSE Linux Enterprise Server 10 SP3 (64-bit) SUSE Linux Enterprise Server 10 SP4 (32-bit) SUSE Linux Enterprise Server 10 SP4 (64-bit) SUSE Linux Enterprise Server 11 (32-bit) SUSE Linux Enterprise Server 11 (64-bit) SUSE Linux Enterprise Server 11 SP1 (32-bit) SUSE Linux Enterprise Server 11 SP1 (64-bit) SUSE Linux Enterprise Server 11 SP2 (32-bit) SUSE Linux Enterprise Server 11 SP2 (64-bit) SUSE Linux Enterprise Server 11 SP3 (32-bit) SUSE Linux Enterprise Server 11 SP3 (64-bit) SUSE Linux Enterprise Server 9 SP4 (32-bit) Ubuntu 10.04 (32-bit) Ubuntu 10.04 (64-bit) Ubuntu 10.10 (32-bit) Ubuntu 10.10 (64-bit) Ubuntu 11.04 (32-bit) Ubuntu 11.04 (64-bit) Ubuntu 12.04 (32-bit) Ubuntu 12.04 (64-bit) Ubuntu 8.04 (32-bit) Ubuntu 8.04 (64-bit) Ubuntu 8.10 (32-bit) Ubuntu 8.10 (64-bit) Ubuntu 9.04 (32-bit) Ubuntu 9.04 (64-bit) Ubuntu 9.10 (32-bit) Ubuntu 9.10 (64-bit) Windows 2000 Advanced Server Windows 2000 Professional Windows 2000 Server Windows 2000 Server SP4 (32-bit) Windows 3.1 Windows 7 (32-bit) Windows 7 (64-bit) Windows 8 (32-bit) Windows 8 (64-bit) Windows 95 Windows 98 Windows NT 4 Windows PV Windows Server 2003 DataCenter Edition(32-bit) Windows Server 2003 DataCenter Edition(64-bit) Windows Server 2003 Enterprise Edition(32-bit) Windows Server 2003 Enterprise Edition(64-bit) Windows Server 2003 Standard Edition(32-bit) Windows Server 2003 Standard Edition(64-bit) Windows Server 2003 Web Edition Windows Server 2008 (32-bit) Windows Server 2008 (64-bit) Windows Server 2008 R2 (64-bit) Windows Server 2012 (64-bit) Windows Server 8 (64-bit) Windows Vista (32-bit) Windows Vista (64-bit) Windows XP (32-bit) Windows XP (64-bit) Windows XP SP2 (32-bit) Windows XP SP3 (32-bit)
Below are some of the caveats to keep in mind for creating and deploying guest operating system templates…
- The Guest OS list is unfiltered
This list is essentially a list of all guest operating system that CloudStack knows about and is present in its database. It is not a list of actually supported guests based on the hypervisors used in the cloud. The list will continue to grow as new known operating systems are added to the CloudStack database
- It depends on the Hypervisor
For example, Apple Mac OS X 10.7 is listed as being supported. In reality, your CloudStack cloud will require VMware vSphere running on compatible Mac hardware before you can create and deploy Mac OS X templates. VMware, according to VMware Guest OS Install Guide officially supports Mac OS X on compatible hardware.
XenServer and KVM hypervisors don’t seem to support Mac OS X officially at this time. Consult your hypervisor’s Guest OS Deployment Guides
- It depends on the hypervisor version
The latest and greatest Operating System need not be supported by your current hypervisor version. For example, you will notice Windows 8.1 and Ubuntu 13.xx missing from the CloudStack OS list. It is likely that these will get supported in newer versions of the hypervisor.
When in doubt, create the guest VM directly on KVM/XenServer/vSphere hypervisor to test compatibility.
- XenServer: PV Vs Non-PV Operating Systems
Some people have success in choosing Other (32-bit) or Other (64-bit) as the OS Type. On a XenServer, the OS Type “Other” creates a HVM container (instead of a PV container) and can make unsupported operating systems work at a performance/stability cost.
For example, using OS Type Other is required to create FreeBSD (and unlisted Linux distributions) on XenServer. Consult your hypervisor’s Guest OS Deployment Guides for actual implications. FreeBSD has recently added XENHVM support.
Also, the guest OS tools might not install correctly on unsupported operating systems and features like live migration or shutdown might not work as expected.
It is good practice to choose a mix of hypervisor technologies like KVM, vSphere and XenServer for your IaaS cloud to overcome guest OS support limitations and for performance reasons. Also keep them updated to support the latest and greatest operating system versions.
One Reply to “What Guest Operating Systems Does CloudStack Support?”