Andrei Borzenkov <[email protected]> writes:
[...] >> Now I have one issue, when the bare metal host on which the VM is >> running die, the VM is lost and can not be fenced. >> >> Is there a way to make pacemaker ACK the fencing of the VM running on a >> host when the host is fenced itself? >> > > Yes, you can define multiple stonith agents and priority between them. > > http://clusterlabs.org/wiki/Fencing_topology Hello, If I understand correctly, fencing topology is the way to have several fencing devices for a node and try them consecutively until one works. In my configuration, I group the VM stonith agents with the corresponding VM resource, to make them move together[1]. Here is my use case: 1. Resource ONE-Frontend-Group runs on nebula1 2. nebula1 is fenced 3. node one-fronted can not be fenced Is there a way to say that the life on node one-frontend is related to the state of resource ONE-Frontend? In which case when the node nebula1 is fenced, pacemaker should be aware that resource ONE-Frontend is not running any more, so node one-frontend is OFFLINE and not UNCLEAN. Regards. Footnotes: [1] http://oss.clusterlabs.org/pipermail/pacemaker/2014-October/022671.html -- Daniel Dehennin Récupérer ma clef GPG: gpg --recv-keys 0xCC1E9E5B7A6FE2DF Fingerprint: 3E69 014E 5C23 50E8 9ED6 2AAD CC1E 9E5B 7A6F E2DF
node $id="1084811078" nebula1
node $id="1084811079" nebula2
node $id="1084811080" nebula3
node $id="1084811118" quorum \
attributes standby="on"
node $id="1084811119" one-frontend
primitive ONE-Datastores ocf:heartbeat:Filesystem \
params device="/dev/one-fs/datastores"
directory="/var/lib/one/datastores" fstype="gfs2" \
op start interval="0" timeout="90" \
op stop interval="0" timeout="100" \
op monitor interval="20" timeout="40"
primitive ONE-Frontend ocf:heartbeat:VirtualDomain \
params config="/var/lib/one/datastores/one/one.xml" \
op start interval="0" timeout="90" \
op stop interval="0" timeout="100" \
utilization cpu="1" hv_memory="1024"
primitive ONE-vg ocf:heartbeat:LVM \
params volgrpname="one-fs" \
op start interval="0" timeout="30" \
op stop interval="0" timeout="30" \
op monitor interval="60" timeout="30"
primitive Quorum-Node ocf:heartbeat:VirtualDomain \
params config="/var/lib/libvirt/qemu/pcmk/quorum.xml" \
op start interval="0" timeout="90" \
op stop interval="0" timeout="100" \
utilization cpu="1" hv_memory="1024"
primitive Stonith-ONE-Frontend stonith:external/libvirt \
params hostlist="one-frontend" hypervisor_uri="qemu:///system"
pcmk_host_list="one-frontend" pcmk_host_check="static-list" \
op monitor interval="30m"
primitive Stonith-Quorum-Node stonith:external/libvirt \
params hostlist="quorum" hypervisor_uri="qemu:///system"
pcmk_host_list="quorum" pcmk_host_check="static-list" \
op monitor interval="30m"
primitive Stonith-nebula1-IPMILAN stonith:external/ipmi \
params hostname="nebula1-ipmi" ipaddr="XXX.XXX.XXX.XXX"
interface="lanplus" userid="USER" passwd="PASSWORD1" passwd_method="env"
priv="operator" pcmk_host_list="nebula1" pcmk_host_check="static-list" \
op monitor interval="30m" \
meta target-role="Started"
primitive Stonith-nebula2-IPMILAN stonith:external/ipmi \
params hostname="nebula2-ipmi" ipaddr="YYY.YYY.YYY.YYY"
interface="lanplus" userid="USER" passwd="PASSWORD2" passwd_method="env"
priv="operator" pcmk_host_list="nebula2" pcmk_host_check="static-list" \
op monitor interval="30m" \
meta target-role="Started"
primitive Stonith-nebula3-IPMILAN stonith:external/ipmi \
params hostname="nebula3-ipmi" ipaddr="ZZZ.ZZZ.ZZZ.ZZZ"
interface="lanplus" userid="USER" passwd="PASSWORD3" passwd_method="env"
priv="operator" pcmk_host_list="nebula3" pcmk_host_check="static-list" \
op monitor interval="30m" \
meta target-role="Started"
primitive clvm ocf:lvm2:clvmd \
op start interval="0" timeout="90" \
op stop interval="0" timeout="100" \
op monitor interval="60" timeout="90"
primitive dlm ocf:pacemaker:controld \
op start interval="0" timeout="90" \
op stop interval="0" timeout="100" \
op monitor interval="60" timeout="60"
group ONE-Frontend-Group Stonith-ONE-Frontend ONE-Frontend \
meta target-role="Started"
group ONE-Storage dlm clvm ONE-vg ONE-Datastores
group Quorum-Node-Group Stonith-Quorum-Node Quorum-Node \
meta target-role="Started"
clone ONE-Storage-Clone ONE-Storage \
meta interleave="true" target-role="Started"
location Nebula1-does-not-fence-itslef Stonith-nebula1-IPMILAN \
rule $id="Nebula1-does-not-fence-itslef-rule" 50: #uname eq nebula2 \
rule $id="Nebula1-does-not-fence-itslef-rule-0" 40: #uname eq nebula3
location Nebula2-does-not-fence-itslef Stonith-nebula2-IPMILAN \
rule $id="Nebula2-does-not-fence-itslef-rule" 50: #uname eq nebula3 \
rule $id="Nebula2-does-not-fence-itslef-rule-0" 40: #uname eq nebula1
location Nebula3-does-not-fence-itslef Stonith-nebula3-IPMILAN \
rule $id="Nebula3-does-not-fence-itslef-rule" 50: #uname eq nebula1 \
rule $id="Nebula3-does-not-fence-itslef-rule-0" 40: #uname eq nebula2
location Nodes-with-ONE-Storage ONE-Storage-Clone \
rule $id="Nodes-with-ONE-Storage-rule" inf: #uname eq nebula1 \
rule $id="Nodes-with-ONE-Storage-rule-0" inf: #uname eq nebula2 \
rule $id="Nodes-with-ONE-Storage-rule-1" inf: #uname eq nebula3 \
rule $id="Nodes-with-ONE-Storage-rule-2" inf: #uname eq one-frontend
location ONE-Frontend-run-on-hypervisor ONE-Frontend-Group \
rule $id="ONE-Frontend-run-on-hypervisor-rule" 40: #uname eq nebula1 \
rule $id="ONE-Frontend-run-on-hypervisor-rule-0" 30: #uname eq nebula3 \
rule $id="ONE-Frontend-run-on-hypervisor-rule-1" 20: #uname eq nebula2
location Quorum-Node-run-on-nebula2 Quorum-Node-Group \
rule $id="Quorum-Node-run-on-nebula2-rule" inf: #uname eq nebula2
order Frontend-after-Storage inf: ONE-Storage-Clone ONE-Frontend-Group
property $id="cib-bootstrap-options" \
dc-version="1.1.10-42f2063" \
cluster-infrastructure="corosync" \
symmetric-cluster="false" \
stonith-enabled="true" \
stonith-timeout="30" \
last-lrm-refresh="1415377825"
rsc_defaults $id="rsc-options" \
resource-stickiness="100"
signature.asc
Description: PGP signature
_______________________________________________ Pacemaker mailing list: [email protected] http://oss.clusterlabs.org/mailman/listinfo/pacemaker Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org
