Home Page Icon
Home Page
Table of Contents for
Examples
Close
Examples
by Scott Vetter, José Ricardo Ziviani, Stephen Lutz, Breno Leitao, Murilo Opsfelder
IBM PowerKVM: Configuration and Use
Front cover
Figures
Tables
Examples
Notices
Trademarks
IBM Redbooks promotions
Preface
Authors
Now you can become a published author, too!
Comments welcome
Stay connected to IBM Redbooks
Summary of changes
March 2016, Second Edition
Chapter 1. Introduction
1.1 IBM Power Systems
1.1.1 POWER8 processors
1.1.2 IBM scale-out servers
1.1.3 Power virtualization
1.1.4 Simultaneous multithreading
1.1.5 Memory architecture
1.1.6 Micro-Threading
1.1.7 RAS features
1.2 Virtualization
1.2.1 PowerKVM versions
1.2.2 PowerKVM Version 3.1 considerations
1.2.3 Where to download PowerKVM
1.3 Software stack
1.3.1 QEMU
1.3.2 KVM
1.3.3 Open Power Abstraction Layer
1.3.4 Guest operating system
1.3.5 Libvirt software
1.3.6 Virsh interface
1.3.7 Intelligent Platform Management Interface
1.3.8 Petitboot
1.3.9 Kimchi
1.3.10 Slimline Open Firmware
1.3.11 Virtio drivers
1.3.12 RAS stack
1.4 Docker
1.4.1 Architecture
1.4.2 Docker hub
1.4.3 Docker file
1.5 Comparisons of PowerVM and PowerKVM
1.5.1 PowerVM and PowerKVM features
1.5.2 PowerKVM Version 2.1 and Version 3.1
1.6 Terminology
Chapter 2. Host installation and configuration
2.1 Host installation
2.2 Boot over network
2.2.1 Retrieve configuration from URL
2.2.2 Boot LiveDVD over network
2.2.3 Automated boot over DHCP
2.2.4 Automated installation
2.3 Install over existing IBM PowerKVM and host migration
2.4 Configuration
2.4.1 Console configuration for Scale-out Power Systems
2.4.2 Console configuration for Power LC systems
Chapter 3. Managing hosts and guests from a Web interface
3.1 Kimchi
3.1.1 Accessing Kimchi
3.1.2 Getting help
3.2 Host tab
3.3 Storage pool
3.3.1 Local directory
3.3.2 NFS
3.3.3 iSCSI
3.3.4 Logical volume
3.4 Network
3.4.1 NAT network
3.4.2 Bridged network
3.4.3 Isolated network
3.5 Templates
3.5.1 Create a new template
3.5.2 Edit an existing template
3.5.3 Create a template from an existing disk image
3.6 Guests
3.6.1 Create a new guest
3.6.2 Guest management
3.7 Accessing a graphical interface
3.7.1 noVNC
3.7.2 VNC
3.7.3 Custom keyboard layouts in Kimchi noVNC
3.8 Ginger
Chapter 4. Managing guests from the command-line interface
4.1 virsh console
4.1.1 virsh vncdisplay
4.2 Managing storage pools
4.2.1 Create new storage pools
4.2.2 Query available storage pools
4.2.3 List available volumes
4.2.4 Create a new volume
4.2.5 Delete or wipe a volume
4.2.6 Snapshots
4.3 Manage guest networks
4.3.1 Query guest networks
4.3.2 Create a guest network
4.4 Managing guests
4.4.1 Create a new guest
4.4.2 List guests
4.4.3 Start or stop a guest
4.4.4 Suspending and resuming
4.4.5 Delete a guest
4.4.6 Connect to a guest
4.4.7 Edit a guest
4.4.8 Add new storage to an existing guest
4.4.9 Add a new network to an existing guest
4.4.10 PCI I/O pass-through
4.4.11 CPU Hotplug
4.4.12 Memory Hotplug
4.4.13 Clone a guest
4.4.14 Migration
Chapter 5. Processor and memory virtualization
5.1 CPU virtualization
5.1.1 Types of virtualization
5.2 CPU overcommitment
5.3 CPU configuration
5.3.1 CPU compatibility mode
5.3.2 Simultaneous multithreading
5.3.3 Micro-Threading
5.3.4 Configuring NUMA
5.3.5 CPU pinning
5.3.6 CPU shares
5.4 CPU Hotplug
5.4.1 CPU Hotplug with a NUMA configuration
5.4.2 Considerations for CPU Hotplug
5.5 Memory
5.5.1 Memory allocation
5.5.2 Memory ballooning
5.5.3 Kernel SamePage Merging
5.5.4 Huge pages
5.5.5 Restrict NUMA memory allocation
5.6 Memory Hotplug
Chapter 6. I/O virtualization
6.1 Types of virtualization
6.1.1 PowerKVM supported devices
6.1.2 PCI I/O pass-through
6.2 Network virtualization
6.2.1 User mode networking
6.2.2 Network address translation networking
6.2.3 Bridged networking
6.2.4 Open vSwitch
6.3 Storage pools
6.3.1 Storage volume
6.3.2 Block device pools
6.3.3 File-backed pools
6.4 I/O pass-through
6.4.1 SCSI pass-through
6.4.2 USB pass-through
6.4.3 PCI pass-through to a virtual machine
6.4.4 I/O limits
6.5 N_Port ID Virtualization (NPIV)
6.6 Using multipath disks
6.6.1 Multipath disk handling
6.6.2 Direct mapped multipath disks
6.6.3 Multipath disks in a storage pool
6.7 Hot plug
6.7.1 Adding a new vSCSI adapter
Chapter 7. Advanced topics
7.1 Install PowerKVM on a hardware RAID
7.2 Guest migration
7.2.1 Offline migration
7.2.2 Online migration
7.2.3 Live migration
7.3 Booting PowerKVM from Petitboot shell
7.4 Security
7.4.1 SELinux
7.4.2 System updates
7.5 Cloud management
7.5.1 IBM PowerVC
7.5.2 IBM Cloud Manager with OpenStack
7.5.3 OpenStack controller services
7.6 Docker usage
7.6.1 Docker installation
7.6.2 Image management
7.6.3 Container management
7.6.4 Uploading your image to Docker hub
7.6.5 Creating image from scratch
Chapter 8. PowerKVM Development Kit
8.1 Introduction
8.1.1 Libvirt API
8.2 Installation
8.3 Architecture
8.4 Initial example
8.4.1 Using Python binding
8.4.2 Using the API in C
8.5 Query memory and CPU utilization example
8.6 Query guest network information
Related publications
IBM Redbooks
Online resources
Help from IBM
Back cover
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Tables
Next
Next Chapter
Notices
Examples
2-1 Petitboot configuration file 46
2-2 DHCP configuration sample 46
2-3 Boot configuration sample 47
2-4 TFTP configuration sample 47
2-5 Petitboot configuration sample for unattended installation 48
2-6 Kickstart sample for installing PowerKVM on a single disk 49
2-7 Kickstart example using more than one disk for installation 49
2-8 Install PowerKVM V3.1.0 on an existing PowerKVM V2.1.1 instance 50
2-9 Configure an interface with DHCP 50
2-10 Configure an interface with static IP address 50
2-11 Kickstart file sample 51
2-12 Convert libvirt configuration files using powerkvm-xml-tool 54
3-1 Guest disks 92
3-2 Guest disks 92
3-3 Guest network interfaces 93
3-4 Guest network interfaces 93
3-5 Listing all devices in the guest 94
3-6 Listing all devices in guest 94
3-7 Listing all devices in guest 95
3-8 Obtaining the VNC display number 96
3-9 keymap setting in guest XML 96
4-1 Connect remotely 106
4-2 Working within virsh interactive shell 106
4-3 Running virsh commands from system shell 106
4-4 vncdisplay command 107
4-5 Create a file-based pool 107
4-6 Create block-based pools 109
4-7 Query available storage pools 110
4-8 Display pool information 111
4-9 Display a verbose pool list 111
4-10 Display volume list 111
4-11 Create volume in storage pool 111
4-12 Display the volume list 112
4-13 Display verbose volume list 112
4-14 Wipe volume 112
4-15 Volume delete 112
4-16 Working with snapshots 113
4-17 Command to show the bridge interfaces on the system 114
4-18 Display networks 114
4-19 Display specific network 114
4-20 NAT definition 115
4-21 Bridged network 116
4-22 Open vSwitch configuration 116
4-23 Open vSwitch bridge interface 117
4-24 vcpus options 118
4-25 Disk options 118
4-26 LUN mapping 118
4-27 Network arguments 118
4-28 virt-install example 118
4-29 List all guests 119
4-30 Start VM 119
4-31 Stop/halt VM 119
4-32 Suspending and resuming a guest 120
4-33 Deleting a guest 120
4-34 Console access 121
4-35 Editing guest configuration 121
4-36 Using another text editor 122
4-37 Adding new virtual storage 122
4-38 Storage live pass-through 122
4-39 Network interface pass-through 123
4-40 Network interface hotplug 123
4-41 Listing host PCI devices 124
4-42 Getting PCI device information 124
4-43 Attaching a multi-function PCI device 126
4-44 Guest displaying multifunction device 127
4-45 Reattaching multifunction device to the host 127
4-46 Creating a clone guest 128
5-1 Enable POWER7 compatibility mode 132
5-2 Guest in POWER7 compatibility mode 132
5-3 Enable POWER6 compatibility mode 133
5-4 SMT disabled on the hypervisor 133
5-5 Setting the number of threads per core 134
5-6 CPU information about a guest with SMT 134
5-7 Only 4-way dynamic Micro-Threading 139
5-8 Checking if Micro-Threading is enabled 140
5-9 Definition of a NUMA guest 141
5-10 Verification of a NUMA configuration inside the guest 141
5-11 CPU pinning without SMT 142
5-12 Verification on CPU pinning 143
5-13 CPU pinning with SMT 143
5-14 CPU pinning with subcores 144
5-15 CPU shares 144
5-16 Base definition of sockets, cores, and threads for CPU Hotplug 145
5-17 XML snippet for Hotplugging a socket 146
5-18 CPU Hotplug example 146
5-19 Change SMT mode and Hotplug another socket 147
5-20 Removal of one socket using CPU Hotplug 148
5-21 CPU Hotplug with a NUMA configuration 148
5-22 Unsupported configuration for CPU Hotplug 150
5-23 Memory allocation 151
5-24 Enable memory balloon on the guest 151
5-25 Decreasing the virtual machine memory to 1 GB 152
5-26 Output of memory available on the balloon 152
5-27 Changing the memory allocated to the virtual machine 152
5-28 Verify that the ksmtuned daemon is running 154
5-29 Enable KSM in PowerKVM 154
5-30 Number of pages shared in the hypervisor 154
5-31 Number of pages that are linked to a shared page 154
5-32 Setting huge pages on the host 155
5-33 Enabling huge pages on a guest 155
5-34 Error starting a guest with huge pages 156
5-35 Memory allocation to NUMA nodes before restricting it to one node 156
5-36 NUMA node set 156
5-37 Memory allocation to NUMA nodes after restricting it to one node 157
5-38 XML snippet for a DIMM with 4 GB 157
5-39 Example of how to increase the memory by using memory hotplug 158
5-40 Persistent attachment of DIMMs 159
5-41 Memory Hotplug snippet in a NUMA environment 159
5-42 Memory Hotplug within a NUMA configuration 159
5-43 Persistent Hotplug Memory DIMMs 160
6-1 LUN pass-through 170
6-2 lsusb command output 171
6-3 USB XML description example based on vendor, product (IDs) pair 171
6-4 USB XML description example based on bus, device pair 171
6-5 lsusb command output from a virtual machine 171
6-6 Attach the device to a VM 172
6-7 Detaching a USB device from a guest 172
6-8 lspci command output 172
6-9 virsh nodedev-list command output 173
6-10 virsh nodedev-dumpxml command output 173
6-11 virsh nodedev-detach command 174
6-12 PCI adapter description 174
6-13 lspci command output within the VM 174
6-14 List of available interfaces 175
6-15 Change disk properties 175
6-16 iotune example of a disk element 176
6-17 Discovery of Fibre Channel adapters 176
6-18 Creating a virtual Fibre Channel adapter 177
6-19 New disk at a virtual Fibre Channel adapter 179
6-20 Creating a storage pool for a virtual Fibre Channel adapter 180
6-21 Attachment of a disk from a storage pool on a virtual Fibre Channel adapter 180
6-22 Example for multipath disk 182
6-23 Changes in /etc/multipath.conf 184
6-24 Output of multipath -ll after some changes 184
6-25 Example of a path failure 185
6-26 XML snippet for attachment of a multipath disk into a guest 185
6-27 Mapped multipath disk inside the guest 186
6-28 LUN mapped as path-through device 186
6-29 Using multipath disks in a storage pool 187
6-30 vSCSI disk hot plug 189
6-31 vSCSI hot plug attachment to the guest 189
6-32 Detach a disk from the guest 190
6-33 Additional adapter definition 191
7-1 Offline migration 199
7-2 Online migration 199
7-3 Live migration 200
7-4 Live migration with timeout 200
7-5 boot.sh 201
7-6 Sample SELinux configuration file 202
7-7 Default repository configuration file 203
7-8 Simple open vSwitch environment configured by PowerVC 206
7-9 Listing hosts on Nova 212
7-10 Deploying an image using a nova command line 213
7-11 Installing Docker package on PowerKVM 214
7-12 docker info output 216
7-13 Docker service access error 216
7-14 Docker failing due to shared library not found 217
7-15 Searching for images 217
7-16 Downloading a remote Docker image 218
7-17 Listing container images 218
7-18 Starting a container 219
7-19 Listing active containers 219
7-20 Listing all containers 219
7-21 Creating a Docker container based on an image 220
7-22 Getting the Docker console 220
7-23 Docker image changes 221
7-24 Committing a file system change to a new image 221
7-25 Renaming a Docker image 221
7-26 Login information about Docker hub 222
7-27 Uploading an image to Docker hub 222
7-28 Finding the image previously uploaded 223
7-29 Importing Ubuntu Core from the web 223
7-30 Renaming an image and starting it 223
7-31 Debootstrapping Debian in a local directory 224
7-32 Importing from a local tgz file 225
8-1 Assuring the online repository is configured 229
8-2 Development packages 230
8-3 Repository file for development kit installation from ISO 231
8-4 Functions used to open a connection 231
8-5 SASL access 232
8-6 First example in Python 234
8-7 Running the first example 235
8-8 Connecting to a localhost hypervisor 235
8-9 Return a domain ID for a domain name 236
8-10 First example main body 236
8-11 Get the memory information for the active guests 237
8-12 Second development example 238
8-13 Output of the second example 240
8-14 Initial program implementation 240
8-15 get_mac implementation 241
8-16 print_ip_per_mac implementation 242
8-17 Implementing the main function 243
8-18 Showing the final results 244
8-19 Python implementation 244
8-20 Program results 245
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset