KVM 8hours

KVM is a Linux kernel module that allows users to run multiple isolated instances of the Linux kernel on separate physical computers without having to reboot each time.

Chapter 2 : KVM as a Virtualization Solution

KVM is a virtualization solution that can be used in either physical or virtual environment. It is mainly the basis for open source hypervisors such as Oracle’s VirtualBox and VMware’s ESX.

Virtualization as a concept

The internal workings of libvirt, QEMU, and KVM

Execution flow of vCPU


Chapter 7 : Virtual Machines: Installation, Configuration, and Life Cycle Management

Virtual machine configuration is the process of defining the hardware, software, storage, and networking resources needed for creating a running virtual machine.

Creating a new VM using virt-manager

Creating a new VM using oVirt

Configuring your VM

Adding and removing virtual hardware from your VM

Migrating VMs


Chapter 9 : Customizing a Virtual Machine with cloud-init

Cloud-init is a service that allows for convenient setup of virtual machines in the cloud. It fits well with the needs of companies that want to customize their virtual machines to meet specific requirements.

What is the need for virtual machine customization?

Understanding cloud-init

Understanding cloud-init architecture

Installing and configuring cloud-init at boot time

Passing metadata and user data to cloud-init

Examples on how to use a cloud-config script with cloud-init


Chapter 11 : Ansible and Scripting for Orchestration and Automation

Ansible is a tool that can be used for remote system management and orchestration. It is an open source platform, which means it has a low entry barrier.

Understanding Ansible

Provisioning a virtual machine using the kvm_libvirt module

Orchestrating multi-tier application deployment on KVM VM

Learning by example Ansible with KVM


Chapter 12 : Scaling Out KVM with OpenStack

OpenStack is an open source cloud operating system that helps organizations build, manage, and secure private and public clouds. It is the most popular open source platform for private cloud deployments.

Introduction to OpenStack

Software-defined networking

OpenStack components

Additional OpenStack use cases

Provisioning the OpenStack environment

Integrating OpenStack with Ansible


Chapter 13 : Scaling out KVM with AWS

This scaling out approach allows for quick and easy deployment and then maintenance of servers at low cost. This will allow for scaling their infrastructure on AWS while also reducing costs.

Introduction to AWS

Preparing and converting virtual machines for AWS

Building hybrid KVM clouds with Eucalyptus


Chapter 14 : Monitoring the KVM Virtualization Platform

KVM virtualization platform enables IT pros to monitor and maintain servers at scale. It helps in organizing servers with ease, making server management a lot less complicated.

Monitoring the KVM virtualization platform

Introduction to the open source ELK solution

Setting up and integrating the ELK stack

Configuring data collector and aggregator


Chapter 15 : Performance Tuning and Optimization for KVM VMs

Performance tuning is a process of optimizing the performance of a system, which mainly focuses on the utilization of resources and resource usage.

It’s all about design

Tuning the VM CPU and memory performance

Getting acquainted with KSM

Tuning the CPU and memory with NUMA

Virtio device tuning

Block I/O tuning

Network I/O tuning


Satish Kumar

Kumar Satish


Kumar Satish started his career as a Unix and Linux System Engineer in 2011. Kumar has professiona experience with CentOS, RedHat, Ubuntu, and Debian. He enjoys teaching others how to use and exploit the power of the Linux operating system.