You are previewing IBM PowerKVM: Configuration and Use.
O'Reilly logo
IBM PowerKVM: Configuration and Use

Book Description

This IBM® Redpaper Redbooks® publication presents the IBM PowerKVM virtualization for scale-out Linux systems, including the new LC IBM Power Systems™.

PowerKVM is open source server virtualization that is based on the IBM POWER8® processor technology. It includes the Linux open source technology of KVM virtualization, and it complements the performance, scalability, and security qualities of Linux.

This book describes the concepts of PowerKVM and how you can deploy your virtual machines with the software stack included in the product. It helps you install and configure PowerKVM on your Power Systems server and provides guidance for managing the supported virtualization features by using the web interface and command-line interface (CLI).

This information is for professionals who want to acquire a better understanding of PowerKVM virtualization technology to optimize Linux workload consolidation and use the POWER8 processor features. The intended audience also includes people in these roles:

  • Clients

  • Sales and marketing professionals

  • Technical support professionals

  • IBM Business Partners

  • Independent software vendors

  • Open source community

  • IBM OpenPower partners


  • It does not replace the latest marketing materials and configuration tools. It is intended as an additional source of information that, along with existing sources, can be used to increase your knowledge of IBM virtualization solutions.

    Before you start reading, you must be familiar with the general concepts of kernel-based virtual machine (KVM), Linux, and IBM Power architecture.

    Table of Contents

    1. Front cover
    2. Figures
    3. Tables
    4. Examples
    5. Notices
      1. Trademarks
    6. IBM Redbooks promotions
    7. Preface
      1. Authors
      2. Now you can become a published author, too!
      3. Comments welcome
      4. Stay connected to IBM Redbooks
    8. Summary of changes
      1. March 2016, Second Edition
    9. Chapter 1. Introduction
      1. 1.1 IBM Power Systems
        1. 1.1.1 POWER8 processors
        2. 1.1.2 IBM scale-out servers
        3. 1.1.3 Power virtualization
        4. 1.1.4 Simultaneous multithreading
        5. 1.1.5 Memory architecture
        6. 1.1.6 Micro-Threading
        7. 1.1.7 RAS features
      2. 1.2 Virtualization
        1. 1.2.1 PowerKVM versions
        2. 1.2.2 PowerKVM Version 3.1 considerations
        3. 1.2.3 Where to download PowerKVM
      3. 1.3 Software stack
        1. 1.3.1 QEMU
        2. 1.3.2 KVM
        3. 1.3.3 Open Power Abstraction Layer
        4. 1.3.4 Guest operating system
        5. 1.3.5 Libvirt software
        6. 1.3.6 Virsh interface
        7. 1.3.7 Intelligent Platform Management Interface
        8. 1.3.8 Petitboot
        9. 1.3.9 Kimchi
        10. 1.3.10 Slimline Open Firmware
        11. 1.3.11 Virtio drivers
        12. 1.3.12 RAS stack
      4. 1.4 Docker
        1. 1.4.1 Architecture
        2. 1.4.2 Docker hub
        3. 1.4.3 Docker file
      5. 1.5 Comparisons of PowerVM and PowerKVM
        1. 1.5.1 PowerVM and PowerKVM features
        2. 1.5.2 PowerKVM Version 2.1 and Version 3.1
      6. 1.6 Terminology
    10. Chapter 2. Host installation and configuration
      1. 2.1 Host installation
      2. 2.2 Boot over network
        1. 2.2.1 Retrieve configuration from URL
        2. 2.2.2 Boot LiveDVD over network
        3. 2.2.3 Automated boot over DHCP
        4. 2.2.4 Automated installation
      3. 2.3 Install over existing IBM PowerKVM and host migration
      4. 2.4 Configuration
        1. 2.4.1 Console configuration for Scale-out Power Systems
        2. 2.4.2 Console configuration for Power LC systems
    11. Chapter 3. Managing hosts and guests from a Web interface
      1. 3.1 Kimchi
        1. 3.1.1 Accessing Kimchi
        2. 3.1.2 Getting help
      2. 3.2 Host tab
      3. 3.3 Storage pool
        1. 3.3.1 Local directory
        2. 3.3.2 NFS
        3. 3.3.3 iSCSI
        4. 3.3.4 Logical volume
      4. 3.4 Network
        1. 3.4.1 NAT network
        2. 3.4.2 Bridged network
        3. 3.4.3 Isolated network
      5. 3.5 Templates
        1. 3.5.1 Create a new template
        2. 3.5.2 Edit an existing template
        3. 3.5.3 Create a template from an existing disk image
      6. 3.6 Guests
        1. 3.6.1 Create a new guest
        2. 3.6.2 Guest management
      7. 3.7 Accessing a graphical interface
        1. 3.7.1 noVNC
        2. 3.7.2 VNC
        3. 3.7.3 Custom keyboard layouts in Kimchi noVNC
      8. 3.8 Ginger
    12. Chapter 4. Managing guests from the command-line interface
      1. 4.1 virsh console
        1. 4.1.1 virsh vncdisplay
      2. 4.2 Managing storage pools
        1. 4.2.1 Create new storage pools
        2. 4.2.2 Query available storage pools
        3. 4.2.3 List available volumes
        4. 4.2.4 Create a new volume
        5. 4.2.5 Delete or wipe a volume
        6. 4.2.6 Snapshots
      3. 4.3 Manage guest networks
        1. 4.3.1 Query guest networks
        2. 4.3.2 Create a guest network
      4. 4.4 Managing guests
        1. 4.4.1 Create a new guest
        2. 4.4.2 List guests
        3. 4.4.3 Start or stop a guest
        4. 4.4.4 Suspending and resuming
        5. 4.4.5 Delete a guest
        6. 4.4.6 Connect to a guest
        7. 4.4.7 Edit a guest
        8. 4.4.8 Add new storage to an existing guest
        9. 4.4.9 Add a new network to an existing guest
        10. 4.4.10 PCI I/O pass-through
        11. 4.4.11 CPU Hotplug
        12. 4.4.12 Memory Hotplug
        13. 4.4.13 Clone a guest
        14. 4.4.14 Migration
    13. Chapter 5. Processor and memory virtualization
      1. 5.1 CPU virtualization
        1. 5.1.1 Types of virtualization
      2. 5.2 CPU overcommitment
      3. 5.3 CPU configuration
        1. 5.3.1 CPU compatibility mode
        2. 5.3.2 Simultaneous multithreading
        3. 5.3.3 Micro-Threading
        4. 5.3.4 Configuring NUMA
        5. 5.3.5 CPU pinning
        6. 5.3.6 CPU shares
      4. 5.4 CPU Hotplug
        1. 5.4.1 CPU Hotplug with a NUMA configuration
        2. 5.4.2 Considerations for CPU Hotplug
      5. 5.5 Memory
        1. 5.5.1 Memory allocation
        2. 5.5.2 Memory ballooning
        3. 5.5.3 Kernel SamePage Merging
        4. 5.5.4 Huge pages
        5. 5.5.5 Restrict NUMA memory allocation
      6. 5.6 Memory Hotplug
    14. Chapter 6. I/O virtualization
      1. 6.1 Types of virtualization
        1. 6.1.1 PowerKVM supported devices
        2. 6.1.2 PCI I/O pass-through
      2. 6.2 Network virtualization
        1. 6.2.1 User mode networking
        2. 6.2.2 Network address translation networking
        3. 6.2.3 Bridged networking
        4. 6.2.4 Open vSwitch
      3. 6.3 Storage pools
        1. 6.3.1 Storage volume
        2. 6.3.2 Block device pools
        3. 6.3.3 File-backed pools
      4. 6.4 I/O pass-through
        1. 6.4.1 SCSI pass-through
        2. 6.4.2 USB pass-through
        3. 6.4.3 PCI pass-through to a virtual machine
        4. 6.4.4 I/O limits
      5. 6.5 N_Port ID Virtualization (NPIV)
      6. 6.6 Using multipath disks
        1. 6.6.1 Multipath disk handling
        2. 6.6.2 Direct mapped multipath disks
        3. 6.6.3 Multipath disks in a storage pool
      7. 6.7 Hot plug
        1. 6.7.1 Adding a new vSCSI adapter
    15. Chapter 7. Advanced topics
      1. 7.1 Install PowerKVM on a hardware RAID
      2. 7.2 Guest migration
        1. 7.2.1 Offline migration
        2. 7.2.2 Online migration
        3. 7.2.3 Live migration
      3. 7.3 Booting PowerKVM from Petitboot shell
      4. 7.4 Security
        1. 7.4.1 SELinux
        2. 7.4.2 System updates
      5. 7.5 Cloud management
        1. 7.5.1 IBM PowerVC
        2. 7.5.2 IBM Cloud Manager with OpenStack
        3. 7.5.3 OpenStack controller services
      6. 7.6 Docker usage
        1. 7.6.1 Docker installation
        2. 7.6.2 Image management
        3. 7.6.3 Container management
        4. 7.6.4 Uploading your image to Docker hub
        5. 7.6.5 Creating image from scratch
    16. Chapter 8. PowerKVM Development Kit
      1. 8.1 Introduction
        1. 8.1.1 Libvirt API
      2. 8.2 Installation
      3. 8.3 Architecture
      4. 8.4 Initial example
        1. 8.4.1 Using Python binding
        2. 8.4.2 Using the API in C
      5. 8.5 Query memory and CPU utilization example
      6. 8.6 Query guest network information
    17. Related publications
      1. IBM Redbooks
      2. Online resources
      3. Help from IBM
    18. Back cover