1.3. libvirt and the libvirt tools
Libvirt is a hypervisor-independent virtualization API that is able to interact with the virtualization capabilities of a range of operating systems.
libvirt provides a common, generic and stable layer to securely manage virtualized guests on a host. libvirt provides a common interface for managing local systems and networked hosts. libvirt provides all APIs required to provision, create, modify, monitor, control, migrate and stop virtualized guests if the hypervisor supports these operations. Although multiple hosts may be accessed with libvirt simultaneously, the APIs are limited to single node operations.
libvirt is designed as a building block for higher level management tools and applications. libvirt focuses on managing single hosts, with the exception of migration capabilities. libvirt provides APIs to enumerate, monitor and use the resources available on the managed node, including CPUs, memory, storage, networking and Non-Uniform Memory Access (NUMA) partitions. The management tools can be located on separate physical machines from the host using secure protocols.
Red Hat Enterprise Linux 6 supports libvirt and included libvirt-based tools as its default method for virtualization management.
libvirt is free software available under the GNU Lesser General Public License. The libvirt project aims to provide a long term stable C API. The libvirt Open Source project currently supports Xen, QEmu, KVM, LXC, OpenVZ, VirtualBox, OpenNebula, and VMware ESX. The Red Hat Enterprise Linux 6 libvirt package supports Xen on Red Hat Enterprise Linux 5 and KVM on Red Hat Enterprise Linux 5 and Red Hat Enterprise Linux 6.
virsh command-line tool is built on the
libvirt management API and operates as an alternative to the graphical
virt-manager application. The
virsh command can be used in read-only mode by unprivileged users or, with root access, full administration functionality. The
virsh command is ideal for scripting virtualization administration.
virsh command is included in the libvirt-client package.
virt-manager is a graphical desktop tool for managing virtualized guests.
virt-manager can be used to perform virtualization administration, virtualized guest creation, migration and configuration tasks.
virt-manager allows access to graphical guest consoles.
virt-manager can view virtualized guests, host statistics, device information and performance graphs.
virt-manager can manage the local hypervisor and remote hypervisors using the same interface and methods.