How to Install KVM and Create Virtual Machine on RHEL/CentOS and Other Linux Flavors? Print

  • RHEL, KVM Installation, Linux, Virtualization, Fedora, Ubuntu, CentOS, Create Virtual Machine, Debian, KVM Setup, Install KVM
  • 423

Introduction

KVM (Kernel-based Virtual Machine) is a widely used virtualization solution for Linux, enabling the creation and management of virtual machines (VMs). This guide provides comprehensive steps to install KVM and create VMs on RHEL/CentOS and other Linux distributions.

Prerequisites

  • A 64-bit processor with hardware virtualization support (Intel VT or AMD-V).
  • Root or sudo access on the Linux system.
  • Basic knowledge of Linux command-line operations.
  • Ensure virtualization is enabled in your BIOS/UEFI settings.

Installing KVM on RHEL/CentOS

Step 1: Verify Virtualization Support

egrep -c '(vmx|svm)' /proc/cpuinfo

If the output is greater than 0, your system supports hardware virtualization.

Step 2: Install KVM Packages

sudo yum update
sudo yum install -y qemu-kvm libvirt libvirt-python libguestfs-tools virt-install bridge-utils

Step 3: Enable and Start Libvirt Service

sudo systemctl enable libvirtd
sudo systemctl start libvirtd

Step 4: Verify KVM Installation

sudo virsh list --all

This command confirms that KVM is installed and running.

Installing KVM on Other Linux Flavors

Ubuntu/Debian

sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

Fedora

sudo dnf install -y @virtualization
sudo systemctl enable --now libvirtd

Arch Linux

sudo pacman -S qemu libvirt virt-manager dnsmasq bridge-utils
sudo systemctl enable --now libvirtd

Creating a Virtual Machine

Step 1: Prepare an ISO Image

Download the ISO image of the operating system you wish to install on the VM. Ensure it is accessible on your server.

Step 2: Create a VM Using virt-install

sudo virt-install \
--name=vm1 \
--ram=2048 \
--vcpus=2 \
--disk path=/var/lib/libvirt/images/vm1.img,size=20 \
--os-type=linux \
--os-variant=ubuntu20.04 \
--network bridge=virbr0 \
--graphics=spice \
--cdrom=/path/to/iso/image

Step 3: Access the Virtual Machine

virt-manager

Launch the virt-manager GUI and connect to the VM for graphical access, or use virsh console <vm-name> for a command-line interface.

Troubleshooting

  • Problem: KVM modules not loaded
    Solution: Load the modules manually:
    sudo modprobe kvm
    sudo modprobe kvm_intel   # For Intel CPUs
    sudo modprobe kvm_amd     # For AMD CPUs
  • Problem: Virtual machine not starting
    Solution: Check the logs:
    sudo journalctl -xe | grep libvirtd
  • Problem: Unable to access VM via virt-manager
    Solution: Ensure your user is part of the libvirt group:
    sudo adduser $(whoami) libvirt

Tips and Special Advice

  • Enable nested virtualization if you plan to run VMs within VMs.
  • For improved network performance, configure a bridged network instead of the default NAT.
  • Regularly update KVM packages for the latest features and security patches.
  • Use virt-clone to create copies of existing virtual machines quickly.

Conclusion

KVM is a powerful and flexible virtualization tool for Linux. By following this guide, you can successfully install KVM and create virtual machines on RHEL/CentOS and other Linux distributions. With proper setup and management, KVM provides an efficient platform for running virtualized workloads. Above is the detailed guide to installing KVM and creating virtual machines on RHEL/CentOS and other Linux distributions, including commands, tips, troubleshooting, and special advice


Was this answer helpful?

« Back