Book Image

Mastering KVM Virtualization - Second Edition

By : Vedran Dakic, Humble Devassy Chirammal, Prasad Mukhedkar, Anil Vettathu
Book Image

Mastering KVM Virtualization - Second Edition

By: Vedran Dakic, Humble Devassy Chirammal, Prasad Mukhedkar, Anil Vettathu

Overview of this book

Kernel-based Virtual Machine (KVM) enables you to virtualize your data center by transforming your Linux operating system into a powerful hypervisor that allows you to manage multiple operating systems with minimal fuss. With this book, you'll gain insights into configuring, troubleshooting, and fixing bugs in KVM virtualization and related software. This second edition of Mastering KVM Virtualization is updated to cover the latest developments in the core KVM components - libvirt and QEMU. Starting with the basics of Linux virtualization, you'll explore VM lifecycle management and migration techniques. You’ll then learn how to use SPICE and VNC protocols while creating VMs and discover best practices for using snapshots. As you progress, you'll integrate third-party tools with Ansible for automation and orchestration. You’ll also learn to scale out and monitor your environments, and will cover oVirt, OpenStack, Eucalyptus, AWS, and ELK stack. Throughout the book, you’ll find out more about tools such as Cloud-Init and Cloudbase-Init. Finally, you'll be taken through the performance tuning and troubleshooting guidelines for KVM-based virtual machines and a hypervisor. By the end of this book, you'll be well-versed with KVM virtualization and the tools and technologies needed to build and manage diverse virtualization environments.
Table of Contents (22 chapters)
Section 1: KVM Virtualization Basics
Section 2: libvirt and ovirt for Virtual Machine Management
Section 3: Automation, Customization, and Orchestration for KVM VMs
Section 4: Scalability, Monitoring, Performance Tuning, and Troubleshooting

Implementing Linux bridging

Let's create a bridge and then add a TAP device to it. Before we do that, we must make sure the bridge module is loaded into the kernel. Let's get started:

  1. If it is not loaded, use modprobe bridge to load the module:
    # lsmod | grep bridge

    Run the following command to create a bridge called tester:

    # brctl addbr tester

    Let's see if the bridge has been created:

    # brctl show
    bridge name bridge id STP enabled interfaces
    tester 8000.460a80dd627d no

    The # brctl show command will list all the available bridges on the server, along with some basic information, such as the ID of the bridge, Spanning Tree Protocol (STP) status, and the interfaces attached to it. Here, the tester bridge does not have any interfaces attached to its virtual ports.

  2. A Linux bridge will also be shown as a network device. To see the network details of the bridge tester, use the ip command:
    # ip link show tester
    6: tester: <BROADCAST,MULTICAST>mtu 1500 qdiscnoop...