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.
The 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.
The 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.