9.3. Configuring a Virtual Domain as a Resource You can configure a virtual domain that is managed by the libvirt virtualization framework as a cluster resource with the pcs resource create command, specifying VirtualDomain as the resource type. When configuring a virtual domain as a resource, take the following considerations into account: A virtual domain should be stopped before you configure it as a cluster resource. Once a virtual domain is a cluster resource, it should not be started, stopped, or migrated except through the cluster tools. Do not configure a virtual domain that you have configured as a cluster resource to start when its host boots. All nodes must have access to the necessary configuration files and storage devices for each managed virtual domain. If you want the cluster to manage services within the virtual domain itself, you can configure the virtual domain as a guest node. For information on configuring guest nodes, see Section 9.4, "The pacemaker_remote Service" For information on configuring virtual domains, see the Virtualization Deployment and Administration Guide . Table 9.3, "Resource Options for Virtual Domain Resources" describes the resource options you can configure for a VirtualDomain resource. Table 9.3. Resource Options for Virtual Domain Resources Field Default Description config (required) Absolute path to the libvirt configuration file for this virtual domain. hypervisor System dependent Hypervisor URI to connect to. You can determine the system's default URI by running the virsh --quiet uri command. force_stop 0 Always forcefully shut down ("destroy") the domain on stop. The default behavior is to resort to a forceful shutdown only after a graceful shutdown attempt has failed. You should set this to true only if your virtual domain (or your virtualization back end) does not support graceful shutdown. migration_transport System dependent Transport used to connect to the remote hypervisor while migrating. If this parameter is omitted, the resource will use libvirt 's default transport to connect to the remote hypervisor. migration_network_suffix Use a dedicated migration network. The migration URI is composed by adding this parameter's value to the end of the node name. If the node name is a fully qualified domain name (FQDN), insert the suffix immediately prior to the first period (.) in the FQDN. Ensure that this composed host name is locally resolvable and the associated IP address is reachable through the favored network. monitor_scripts To additionally monitor services within the virtual domain, add this parameter with a list of scripts to monitor. Note : When monitor scripts are used, the start and migrate_from operations will complete only when all monitor scripts have completed successfully. Be sure to set the timeout of these operations to accommodate this delay autoset_utilization_cpu true If set to true , the agent will detect the number of domainU 's vCPU s from virsh , and put it into the CPU utilization of the resource when the monitor is executed. autoset_utilization_hv_memory true If set it true, the agent will detect the number of Max memory from virsh , and put it into the hv_memory utilization of the source when the monitor is executed. migrateport random highport This port will be used in the qemu migrate URI. If unset, the port will be a random highport. snapshot Path to the snapshot directory where the virtual machine image will be stored. When this parameter is set, the virtual machine's RAM state will be saved to a file in the snapshot directory when stopped. If on start a state file is present for the domain, the domain will be restored to the same state it was in right before it stopped last. This option is incompatible with the force_stop option. In addition to the VirtualDomain resource options, you can configure the allow-migrate metadata option to allow live migration of the resource to another node. When this option is set to true , the resource can be migrated without loss of state. When this option is set to false , which is the default state, the virtual domain will be shut down on the first node and then restarted on the second node when it is moved from one node to the other. Use the following procedure to create a VirtualDomain resource: To create the VirtualDomain resource agent for the management of the virtual machine, Pacemaker requires the virtual machine's xml config file to be dumped to a file on disk. For example, if you created a virtual machine named guest1 , dump the xml to a file somewhere on the host. You can use a file name of your choosing; this example uses /etc/pacemaker/guest1.xml . If it is running, shut down the guest node. Pacemaker will start the node when it is configured in the cluster. Configure the VirtualDoman resource with the pcs resource create command. For example, The following command configures a VirtualDomain resource named VM . Since the allow-migrate option is set to true a pcs resource move VM nodeX command would be done as a live migration.

Commands:
virsh dumpxml guest1 > /etc/pacemaker/guest1.xml
pcs resource create VM VirtualDomain config=.../vm.xml migration_transport=ssh meta allow-migrate=true