Introducing PowerKVM – Linux Kernel-based Virtual Machine on POWER Processor based Servers

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 –

Introducing PowerKVM

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
Clipboard023
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

  1. kimchi  – standalone virtualization management tool
  2. kimchi-ginger – basic host management tool
  3. virsh – CLI for virtualization management
  4. lm-sensors – in-band retrieval of host sensor data
  5. puppet agent – to support configuration automation
  6. nagios and ganglia monitoring agent  – for monitoring of host

At a high level the PowerKVM stack looks like the following :

Clipboard033OPAL 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

  1. http://www-03.ibm.com/systems/power/software/linux/powerkvm/index.html
  2. http://goo.gl/WXcyUZ
  3. http://www.redbooks.ibm.com/abstracts/tips1205.html?Open

References

  1. Ginger – https://github.com/kimchi-project/ginger
  2. Kimchi – https://github.com/kimchi-project/kimchi
  3. Libvirt – http://libvirt.org/index.html
  4. Qemu – http://wiki.qemu.org/Main_Page

Pradipta Kumar Banerjee

I'm a Cloud and Linux/ OpenSource enthusiast, with 16 years of industry experience at IBM. You can find more details about me here - Linkedin

You may also like...