|
|
|
libvirt - The virtualization API
|
|
|
|
|
|
|
|
libvirt is a toolkit to interact with the virtualization
|
|
|
|
capabilities of recent versions of Linux (and other OSes).
|
|
|
|
|
|
|
|
Most optional dependencies are autodetected and having the required
|
|
|
|
libs in place will build the respective features automatically.
|
|
|
|
|
|
|
|
The group can be specified at build time like this:
|
|
|
|
VIRTGROUP=somegroup ./libvirt.SlackBuild (default: users)
|
|
|
|
You'll want to keep this in sync with what qemu uses (it also
|
|
|
|
defaults to the "users" group).
|
|
|
|
|
|
|
|
If you want to start the libvirt daemon at boot, add this
|
|
|
|
to /etc/rc.d/rc.local
|
|
|
|
|
|
|
|
# Start libvirt:
|
|
|
|
if [ -x /etc/rc.d/rc.libvirt ]; then
|
|
|
|
/etc/rc.d/rc.libvirt start
|
|
|
|
fi
|
|
|
|
|
|
|
|
and if you want it to stop at shutdown add this to
|
|
|
|
/etc/rc.d/rc.local_shutdown
|
|
|
|
|
|
|
|
# Stop libvirt:
|
|
|
|
if [ -x /etc/rc.d/rc.libvirt ]; then
|
|
|
|
/etc/rc.d/rc.libvirt stop
|
|
|
|
fi
|
|
|
|
|
|
|
|
The enclosed rc.libvirt script will do a 'managedsave' on all running
|
|
|
|
and paused guests when issuing 'rc.libvirt stop'. Please note that this
|
|
|
|
saves the RAM of each guest to the host system's disk (by default under
|
|
|
|
/var/lib/libvirt/qemu/save) - so make sure enough space is available. If
|
|
|
|
you prefer to perform a full shutdown on all running guests instead,
|
|
|
|
issue a 'rc.libvirt guests_shutdown' followed by 'rc.libvirt shutdown'.
|
|
|
|
|
|
|
|
By default 'rc.libvirt stop' and 'rc.libvirt guests_shutdown' will wait
|
|
|
|
a maximum of 5 minutes for all guests to shutdown, after which any
|
|
|
|
guests still running will be destroyed. Adjust this to a suitable value
|
|
|
|
for your system, as destroying a running guest carries a high risk of
|
|
|
|
data loss!
|
|
|
|
|
|
|
|
There is also a 'guests_reboot' for rebooting all running guests.
|
|
|
|
|
|
|
|
Have a look at the commented part of rc.libvirt for some gotchas.
|
|
|
|
|
|
|
|
netcat-openbsd is an optional dependency (needed if you
|
|
|
|
want to connect from a remote host using virt-manager).
|
|
|
|
Other optional dependencies include avahi, xen, audit, glusterfs,
|
|
|
|
numactl, open-iscsi and libiscsi.
|
|
|
|
|
|
|
|
As of the 4.5.0 version, you may have to remove any previously
|
|
|
|
installed versions of libvirt before this will build.
|
|
|
|
|
|
|
|
Note also that sometimes, in consequence of a major-version upgrade,
|
|
|
|
you might discover that the libvirt configuration is in an inconsistent
|
|
|
|
state (machine networking broken and so on) and when this happens and a
|
|
|
|
simple reboot won't solve you might want to consider starting from a
|
|
|
|
clean state. To do this:
|
|
|
|
- backup the existing vms files and their configurations too (with
|
|
|
|
"virsh dumpxml $name > ${name}.xml", check all the *dumpxml commands
|
|
|
|
available with "virsh help")
|
|
|
|
- remove libvirt
|
|
|
|
- delete all the system directories (/var/lib/libvirt, /var/log/libvirt,
|
|
|
|
/etc/libvirt)
|
|
|
|
- install the new libvirt package, logout and login again (might help)
|
|
|
|
and start the daemon
|
|
|
|
- recreate your configurations (network and so on)
|
|
|
|
- reimport the vms xml backups (with "virsh define ${name}.xml")
|