libvirt
is a library that provides a common API for managing popular
virtualization solutions, among them KVM and Xen. The library provides
a normalized management API for these virtualization solutions, allowing a
stable, cross-hypervisor interface for higher-level management tools. The
library also provides APIs for management of virtual networks and storage
on the VM Host Server. The configuration of each VM Guest is stored in an XML
file.
With libvirt
you can also manage your VM Guests remotely. It supports
TLS encryption and x509 certificates as well as authentication with SASL.
The communication between the virtualization solutions and libvirt
is
managed by the daemon libvirtd
. It is also used by the management tools.
libvirtd
needs to run on the VM Host Server and on any remote machine on which
the libvirt
-based tools are started. Use the following commands to
start, stop it or check its status:
~ # rclibvirtd start Starting libvirtd done ~ # rclibvirtd status Checking status of libvirtd running ~ # rclibvirtd stop Shutting down libvirtd done ~ # rclibvirtd status Checking status of libvirtd unused
To automatically start libvirtd
at boot time, either activate it using
the YaST module or by
entering the following command:
insserv libvirtd
The following libvirt
-based tools are available on openSUSE:
The Virtual Machine Manager is a desktop tool for managing VM Guests. It provides the ability to control the life cycle of existing machines (bootup/shutdown, pause/resume, suspend/restore). It lets you create new VM Guests and various types of storage, and manage virtual networks. Access the graphical console of VM Guests with the built-in VNC viewer, and view performance statistics, all done locally or remotely.
The Virtual Machine Manager does not need to run on the VM Host Server, it also lets you control VM Guests via remote connections. This enables you to manage VM Guests centrally from a single workstation without having to log in on the VM Host Server.
To start the Virtual Machine Manager, enter virt-manager at the command prompt.
A viewer for the graphical console of a VM Guest. It uses the VNC protocol and supports TLS and x509 certificates. VM Guests can be accessed by name, ID, or UUID. If the guest is not already running, the viewer can be told to wait until the guest starts, before attempting to connect to the console.
A tool to set up a VM Guest, configure its devices and start the operating system installation. Starts a GUI wizard when called from a graphical user interface. When invoked on a terminal, starts the wizard in command-line mode. vm-install is also started when creating a new virtual machine in the Virtual Machine Manager.
A command line tool to manage VM Guests with similar functionality as the Virtual Machine Manager. Allows you to change a VM Guest's status (start, stop, pause, etc.) to set up new guests and devices and to edit existing configurations. virsh is also useful to script VM Guest management operations.
virsh basically works like Subversion's svn command or zypper: it takes the first arguments as a command and further arguments as options to this command:
virsh [-cURI
]command
domain-id
[OPTIONS]
Just like zypper, virsh can also be called without a command. In this case it starts a shell waiting for your commands. This mode is useful when having to run subsequent commands:
~> virsh -c qemu+ssh://root@mercury.example.com/system Enter passphrase for key '/home/wilber/.ssh/id_rsa': Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands 'quit' to quit virsh # hostname mercury.example.com