79 lines
3.0 KiB
Plaintext
79 lines
3.0 KiB
Plaintext
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 user and group can be specified at build time like this:
|
|
VIRTUSER=someuser VIRTGROUP=someuser ./libvirt.SlackBuild
|
|
(default is VIRTUSER=root VIRTGROUP=users)
|
|
You'll want to keep this in sync with what qemu uses
|
|
(it also defaults to these)
|
|
|
|
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.
|
|
|
|
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 version 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 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")
|
|
|
|
also, for older vms you might have to "upgrade" the machine model
|
|
because newer versions of libvirt might have dropped support for the
|
|
older ones: if starting a vm you got, for example
|
|
|
|
'/usr/bin/qemu-kvm' does not support machine type 'pc-i440fx-2.1'
|
|
|
|
just "virsh edit your_vm" and change the machine model to an higher
|
|
one, like pc-i440fx-8.1
|