OpenIndiana supports several methods of virtualization:
- 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.
- 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.
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.
- 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. Operating-system level virtualization (zones, containers) require guest OSes to use the same kernel as the host.
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.