summaryrefslogtreecommitdiffstats
path: root/libraries/libvirt/README
blob: 471c913f8effdb88be40eab3a24153d3832340f6 (plain)
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 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)
- 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")