Rev 39 | Last modification | Compare with Previous | View Log | Download | RSS feed
(virtuals) on them.
Used as an extension to virsh, which it calls quite often, but with a
cluster of nodes (hypervisors) with shared block devices (tested with
iSCSI).
Also, includes code to verify there are enough resources on a node
for the requested action, and protection against running the same domain
on multiple nodes simultaneously, which an result in block device
corruption.
All nodes must be able to make an ssh connection to all other nodes using
public key (no passwords).
Very similar to virsh (on purpose); just adds some protection against
running domains on multiple nodes, allowing monitoring, etc... Samples are:
virsh start domainname # virsh way
havirt domain start domainname nodename
These will both start domainname. The virsh command will start it on the
node you are currently logged into. The havirt command will first verify
domainname is not running on any node, verify the target node has enough
resources, then start it on nodename (or the current node, if nodename not
specified) and modify it's state file to reflect the status change.
The other difference is that the virsh command uses the configuration
domainname.xml stored in /etc/virtlib/qemu, while havirt does a 'virsh
create' using the domainname.xml stored in installdir/conf. This allows
sharing of the same domain configuration on all nodes, at the expense of
some functionality.
By default, havirt will simply emit the command it will normally run. If the
flag --dryrun is defaulted to false (0) in the config file, will actually
run the command(s) unless it is turned back on by passing as a cli
parameter (see config.sample.yaml).
havirt creates two subdirectories, installdir/conf/ and installdir/var/ if
they don't exist.
conf/ stores the xml configuration of all domains
var/ stores the state file (yaml) and some temporary files.
havirt automatically creates a configuration file (config.yaml) in the executables
directory if it doesn't exist, allowing you to modify the default behavior
of the system.
Can be downloaded via subversion at
http://svn.dailydata.net/svn/havirt/stable
Highly recommended you do not use trunk, as we modify that on a regular
basis and check in broken code sometimes