Manually Prepare a CentOS Server with KVM Virtualization

This tutorial describes how to manually prepare a CentOS physical server with KVM virtualization, and other auxiliary packages.

Installing Package Dependencies Individually

To use virtualization on CentOS you require the qemu-kvm and qemu-img packages at minimum. These packages provide the user-level KVM emulator and disk image manager on the CentOS system.

Install the qemu-kvm and qemu-img packages on your CentOS server:

yum install qemu-kvm qemu-img

Following additional virtualization packages are recommended.

Provides the virt-install command for creating virtual machines.

The libvirt package provides the server and host side libraries for interacting with hypervisors and host systems. The libvirt package provides the libvirtd daemon that handles the library calls, manages virtual machines and controls the hypervisor.

The libvirt-python package contains a module that permits applications written in the Python programming language to use the interface supplied by the libvirt API.

virt-manager, also known as Virtual Machine Manager, provides a graphical tool for administering virtual machines. It uses libvirt-client library as the management API.

The libvirt-client package provides the client-side APIs and libraries for accessing libvirt servers. Thelibvirt-client package includes the virsh command line tool to manage and control virtual machines and hypervisors from the command line or a special virtualization shell.
Install all of these recommended virtualization packages:

yum install virt-manager libvirt libvirt-python python-virtinst libvirt-client

Installing Package Dependencies as a Group

The virtualization packages can also be installed from package groups. The follow table describes the virtualization package groups and what they provide.

Package Group Description Mandatory Packages Optional Packages
Virtualization Provides an environment for hosting virtual machines qemu-kvm qemu-guest-agent, qemu-kvm-tools
Virtualization Client Clients for installing and managing virtualization instances python-virtinst, virt-manager, virt-viewer virt-top
Virtualization Platform Provides an interface for accessing and controlling virtual machines and containers libvirt, libvirt-client, virt-who, virt-what fence-virtd-libvirt, fence-virtd-multicast, fence-virtd-serial, libvirt-cim, libvirt-java, libvirt-qmf, libvirt-snmp, perl-Sys-Virt
Virtualization Tools Tools for offline virtual image management


To install a package group, run the yum groupinstall command. For instance, to install theVirtualization Tools package group, run the yum groupinstall "Virtualization Tools" command.

November 16, 2015