I appended a command for mha4mysql-manager: masterha_paxos_lock
Using this command to lock/unlock the majority of all nodes, can ensure that only one manager is running.
Usage:
Lock the majority of all nodes:
masterha_paxos_lock --conf=/etc/app1.cnf --holder=host1 --lock
Unlock the majority of all nodes:
masterha_paxos_lock --conf=/etc/app1.cnf --holder=host1 --unlock
I make it because I need run masterha_master_switch on all nodes. On each node, there is a mha4mysql-manager.
I name it as masterha_paxoslock,because I use the majority(> 1/2) to confirm the result. It's similar to http://en.wikipedia.org/wiki/Paxos(computer_science)
This update composed of the following file appends:
mha4mysql-manager/bin/masterha_paxos_lock
mha4mysql-manager/lib/PaxosLock.pm
mha4mysql-node/bin/try_paxos_lock(in repository mha4mysql-node)
I appended a command for mha4mysql-manager: masterha_paxos_lock Using this command to lock/unlock the majority of all nodes, can ensure that only one manager is running.
Usage:
Lock the majority of all nodes: masterha_paxos_lock --conf=/etc/app1.cnf --holder=host1 --lock
Unlock the majority of all nodes: masterha_paxos_lock --conf=/etc/app1.cnf --holder=host1 --unlock
I make it because I need run masterha_master_switch on all nodes. On each node, there is a mha4mysql-manager. I name it as masterha_paxoslock,because I use the majority(> 1/2) to confirm the result. It's similar to http://en.wikipedia.org/wiki/Paxos(computer_science)
This update composed of the following file appends: mha4mysql-manager/bin/masterha_paxos_lock
mha4mysql-manager/lib/PaxosLock.pm
mha4mysql-node/bin/try_paxos_lock(in repository mha4mysql-node)