KVM has been there for Intel/AMD (x86) processor based servers since quite some time. It’s a Linux OS feature just like any other OS feature – scheduler, power management, resource management, security etc. KVM is a hypervisor, with enterprise qualities as can be seen from various published benchmarks on performance and scalability, its security capabilities, quality of service guarantees and energy efficiency by leveraging hardware features.
A typical KVM stack on an Intel/AMD (x86) architecture looks like the following –
A KVM stack normally will contain the following:
Hypervisor kernel module
– this is the Linux kernel component which converts Linux to hypervisor.
Qemu
– This is a user-space program providing IO virtualization for the VMs.
Libvirt
– Libvirt provides virtualization management API, and is the basis for all higher level management via CLI (virsh), OpenStack and oVirt
KVM on IBM POWER processors
Recently IBM made available the Linux KVM hypervisor on POWER processors. This is mainly targeted towards cloud and big-data deployments.
The changes in various components required to get KVM on POWER are all in public domain.
A typical KVM stack on Power (ppc64) architecture looks like the following
Fedora, RHEL, SLES, Ubuntu, Debian can run as guests. Note, that Windows cannot run as guest, since Windows is not available for Power architecture.
For ease of consumption for our customers, and to quickly get started, IBM is making available a fully tested, and supported KVM offering on scale-out Power servers called PowerKVM.
[Update– With availability of KVM on Power from the larger KVM community and Linux distribution partners, IBM PowerKVM offering have been withdrawn. Please read the latest on IBM PowerKVM offering here at this site – https://www-03.ibm.com/systems/power/software/linux/powerkvm/]
This comes with the following tools and agents by default
- kimchi – standalone virtualization management tool
- kimchi-ginger – basic host management tool
- virsh – CLI for virtualization management
- lm-sensors – in-band retrieval of host sensor data
- puppet agent – to support configuration automation
- nagios and ganglia monitoring agent – for monitoring of host
At a high level the PowerKVM stack looks like the following :
OPAL firmware provides a thin layer of abstraction of the HW – handles events, provides device tree and interfaces for the host kernel.
Flexible Service Processor (FSP) or Baseboard Management Controller(BMC) is a service processor providing out-of-band management capabilities.
More details on PowerKVM can be found here
- http://www-03.ibm.com/systems/power/software/linux/powerkvm/index.html
- http://goo.gl/WXcyUZ
- http://www.redbooks.ibm.com/abstracts/tips1205.html?Open
References
- Ginger – https://github.com/kimchi-project/ginger
- Kimchi – https://github.com/kimchi-project/kimchi
- Libvirt – http://libvirt.org/index.html
- Qemu – http://wiki.qemu.org/Main_Page