On May 21, 2008, at 12:31 PM, Xinwei Hu wrote:

2008/5/21 Andrew Beekhof <[EMAIL PROTECTED]>:

On May 21, 2008, at 8:10 AM, Nitin wrote:

On Wed, 2008-05-21 at 11:13 +0800, Xinwei Hu wrote:

We had a deployment of this kind running for more then a half year.
2 lessons we had so far:

1. Start a "standalone" heartbeat inside VM is the best option so far.
i.e "ucast lo 127.0.0.1" in ha.cf
It's the simplest way to have monitoring and restarting inside VM.

Yes. we thought of that but want to use it as the last resort.

2. Manage VMs as Xen resources in a cluster of all dom0.
However,
a. VMs might be migrated between dom0s anytime, so set dom0 as a
parameter to STONITH plugin is not ideal in practice. (The same
problem applies to VMware ESX server also.)

Why even set a dom0 name?
Just have a clone that only runs on physical machines (use a node attribute) and have the STONITH plugin examine its own list of nodes it can fence (the
vmware STONITH plugin does something like this).

It makes no sense for VMs to run a STONITH resource (assuming they're part of the cluster - I'm not 100% sure what you're proposing), since the only
method of communication to the STONITH device (dom0) is inherently
unreliable (ie. ssh/telnet).

I'm not talking about a mixed cluster of VM and physical servers. ;)

Ok, i misinterpreted the bit about "a cluster of all dom0"


So yes, you still have to set dom0 name for STONITH.
Plus, I didn't managed to run pacemaker on VMware ESX server. :P

Its technically possible - I do it all the time.



Sidenote: Yes, I have been known to advocate using ssh-based STONITH plugins
- but only in cases where there is no alternative.
In this case there is a viable alternative, the dom0 hosts.

Writing a STONITH plugin is not the hard part of having a mixed physical+VM cluster... it gets "interesting" when you start thinking about cases like: what happens when a cluster split happens and a minority of the physical nodes are able to shoot the larger set of physical nodes because they have enough VMs to steal quorum, or: Can VMs shoot physical machines? How does
it know not to shoot the one it's running on!

Yes, and that's why I switch back to the simplest solution :)

In that case, I suggest writing something similar to the vmware stonith module... either one specific to Xen, or ideally one that use libvirt that can be used for all types of VMs.




b. VM is a typical example that we'd better support "inheritance"
for RA. VM's RA can only tell whether it's running, but there're
different ways to tell if the OS (Linux, BSD, Windows, Netware) inside
is health.

I don't understand how attribute inheritance could possibly hide the
differences between operating systems.

I mean function inheritance and override.

I've still no idea how this helps - and I don't believe this is what Lon was suggesting (though I may be mistaken)


_______________________________________________
Pacemaker mailing list
[email protected]
http://list.clusterlabs.org/mailman/listinfo/pacemaker

Reply via email to