well i reached answer on myself! clustering include two part:
1.cluster resource management
2.infrastructure with massaging layer
legacy heartbeat is broken into heartbeat message layer and pacemaker so pacemaker is CRM.
and we have two option on message layer:heartbeat,openais.
openais/corosync is preferred as:
http://comments.gmane.org/gmane.linux.highavailability.user/32355
There are, however, features in Pacemaker that require OpenAIS which
will work only with Corosync, not Heartbeat. Those features are
concerned with the distributed lock managers used by cLVM (but not
regular LVM), GFS/GFS2, and OCFS2. If you need that functionality, you
must select OpenAIS/Corosync. If you do not, you're free to choose.
as: http://www.clusterlabs.org/wiki/FAQ
Originally Corosync and OpenAIS were the same thing. Then they split into two parts... the core messaging and membership capabilities are now called Corosync, and OpenAIS retained the layer containing the implementation of the AIS standard.
Pacemaker itself only needs the Corosync piece in order to function, however some of the applications it can manage (such as OCFS2 and GFS2) require the OpenAIS layer as well.
so i went to openais/corosync and integrate it with pacemaker.
If you use multicast you can quickly and easily add new nodes to the cluster. Because of this I suspect that the developers may have never saw a need to allow dynamically adding nodes via UDP unicast. At least no "clean" way exist that I myself am aware of.
However, you should be able to reload Corosync and apply the newly edited config files without interrupting services by first putting Pacemaker into maintenance-mode. When in maintenance-mode none of the currently running services will be stopped when you stop and restart Corosync and Pacemaker.
Best Answer
Here's a minimal script based on
fence_cisco_ucs
. I do not know why the password field is mandatory, and I have no idea whatget_list
is supposed to do.For example,
./script.py -o status -p x -s y
gives "Status: ON". If the functionality inget_power_status
andset_power_status
is modified accordingly, this script might actually be useful.