OpenIndiana supports several methods of virtualization:
- 7.1 Zones: OpenIndiana supports operating system-level virtualization with local zones (containers) allows to run processes using the same OpenIndiana kernel and system resources. Overheads are the lowest, while processes are isolated, but they are still UNIX processes. It is possible to use "branded" zones to emulate certain releases of other UNIX OSes, including Solaris 8, 9 and 10 (specify supported release-update numbers) and a Linux environment similar to kernel 2.4-based RHEL/CentOS.
- 7.3 KVM: (correction may be needed) Type-1 Hypervisor with QEMU-based KVM (since development release oi_151a), where each VM is a kernel-space process with smaller latencies and overheads in comparison to Type-2 virtualization. The published version in
illumos-gateis currently limited to Intel CPUs with EPT extensions, although porting work is underway (as of March 2013) to add some AMD CPU support.
Xen-based virtualization (also rooted in QEMU) was at some time part of OpenSolaris project, but became outdated and was ultimately dropped due to lack of resources and invested interest.
- 7.2 VirtualBox: Type-2 Hypervisor with VirtualBox software running in a global or local zone. Each VM is a userspace process for the physical host.
Hypervisor-based virtualization (not zones) allow to run different operating systems such as Windows and Linux, in virtual machines hosted on an OpenIndiana machine. Note that you can only have one hypervisor engine accelerated by hardware (i.e. CPU extensions) active at any one time. Operating-system level virtualization (zones, containers) require the guest operating environments to use the same kernel as the host, though possibly with a different set of user-space programs (especially in case of branded zones), and are often combined with hypervisor-managed VMs to fine-grain resource control or administrative access to the VMs or just to group them by project.
There was a bug #1723 in illumos-gate (fixed in the gate, chset 13903; not yet included in OpenIndiana as of oi_151a7) which caused hypervisor drivers (for KVM and VirtualBox) to hang during boot of the host on systems with x2apics (mostly Sandy Bridge).
The workaround is to disable apix:
A proper solution is to update your kernel with a local rebuild of the illumos-gate (or updating to a newer release of your OS, when available).
Some of the more generic available options will be covered in this chapter. Depending on your deployment goals and resources, and not in the least – on your networking topology, you may have a need for much more complicated setups than are explained here. Some such setups are detailed on other pages in this Wiki and the illumos Wiki, others can be found on blogs throughout the Internet.