[Pacemaker] Fencing libvirt/KVM nodes running on different hosts?

2011-11-28 Thread Andreas Ntaflos
Hi,

Scenario: two physical virtualisation hosts run various KVM-based
virtual machines, managed by Libvirt. Two VMs, one on each host, form a
Pacemaker cluster, say for a simple database server, using DRBD and a
virtual/cluster IP address. Using Ubuntu 10.04 and Pacemaker 1.1.6, with
Corosync 1.4.2 on the hosts and guests.

How do I implement node-level fencing in this scenario?

Can the rather new external/libvirt STONITH plugin be used here? It
seems to me it only supports a single hypervisor URI to connect to and
expects all VMs/nodes that can be fenced to be running on the same
hypervisor.

Looking at http://www.clusterlabs.org/wiki/Guest_Fencing it says that
fencing guests running on multiple hosts is not supported in
fence-virt/fence-virtd.

What are my options here? How do other people manage node-level
fencing/STONITH when the nodes are VMs and running on different physical
hosts (which seems like the sensible thing to do, considering a single
host is a SPOF)?

Sorta related question: are Pacemaker clusters based on virtual machines
(and Libvirt) really so uncommon that there isn't a quasi-definitive
answer to this? Like If you use Libvirt, implement fencing by using
this or that STONITH plugin.

Thanks in advance,

Andreas

___
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
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


Re: [Pacemaker] Fencing libvirt/KVM nodes running on different hosts?

2011-11-28 Thread Andrew Beekhof
On Tue, Nov 29, 2011 at 6:55 AM, Andreas Ntaflos
d...@pseudoterminal.org wrote:
 Hi,

 Scenario: two physical virtualisation hosts run various KVM-based
 virtual machines, managed by Libvirt. Two VMs, one on each host, form a
 Pacemaker cluster, say for a simple database server, using DRBD and a
 virtual/cluster IP address. Using Ubuntu 10.04 and Pacemaker 1.1.6, with
 Corosync 1.4.2 on the hosts and guests.

 How do I implement node-level fencing in this scenario?

 Can the rather new external/libvirt STONITH plugin be used here? It
 seems to me it only supports a single hypervisor URI to connect to and
 expects all VMs/nodes that can be fenced to be running on the same
 hypervisor.

 Looking at http://www.clusterlabs.org/wiki/Guest_Fencing it says that
 fencing guests running on multiple hosts is not supported in
 fence-virt/fence-virtd.

 What are my options here? How do other people manage node-level
 fencing/STONITH when the nodes are VMs and running on different physical
 hosts (which seems like the sensible thing to do, considering a single
 host is a SPOF)?

 Sorta related question: are Pacemaker clusters based on virtual machines
 (and Libvirt) really so uncommon that there isn't a quasi-definitive
 answer to this? Like If you use Libvirt, implement fencing by using
 this or that STONITH plugin.

You could try fence_xvm or fence_virt from the RHCS set of stonith
agents (which pacemaker also supports).
I believe it also handles the case when the guest could be on one of
multiple hosts, personally I only use it for a single host.

Lon might have some documentation pointers...


 Thanks in advance,

 Andreas

 ___
 Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
 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


___
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
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


Re: [Pacemaker] Fencing libvirt/KVM nodes running on different hosts?

2011-11-28 Thread Vladislav Bogdanov
28.11.2011 22:55, Andreas Ntaflos wrote:
 Hi,
 
 Scenario: two physical virtualisation hosts run various KVM-based
 virtual machines, managed by Libvirt. Two VMs, one on each host, form a
 Pacemaker cluster, say for a simple database server, using DRBD and a
 virtual/cluster IP address. Using Ubuntu 10.04 and Pacemaker 1.1.6, with
 Corosync 1.4.2 on the hosts and guests.
 
 How do I implement node-level fencing in this scenario?

I use set of:
* qpid server
* libvirt-qpid on each host which runs VMs
* fence-virtd with multicast listener
* fence-virtd-libvirt-qpid (patched, patches were posted to pacemaker
list 03.10.2011 for those who need it)
* fence_xvm as a fencing agent

Major problem I recently discovered is that you can have only one
instance of fence_xvm process running (executing) on a node
simultaneously, because it binds to predefined port.

Best,
Vladislav

___
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
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