Nethence Documentation Lab Webmail Your IP BBDock  

Those documents are obsolete, please use the Nethence Documentation instead.


Setting up a cluster base with redhat/centos Cluster suite (RHCS)
on Centos 6.7
System Preparation
(Optional) Proceed as usual with system post-installation and network configuration, but with one additional interface the the heartbeat,
mv /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/DIST.ifcfg-eth1
vi /etc/sysconfig/network-scripts/ifcfg-eth1
service network restart
Then add the nodes and the manager to hosts (heartbeat seperated network is only optional),
vi /etc/hosts
10.0.0.X cnode1 rhcs-cnode1 rhcs-cnode1.example.local
10.0.0.X cnode2 rhcs-cnode2 rhcs-cnode2.example.local
10.0.0.X cnode3 rhcs-cnode3 rhcs-cnode3.example.local
#10.0.0.X manage rhcs-manage rhcs-manage.example.local hbnode1 hbnode2 hbnode3
RHCS installation
On the cluster nodes,
yum -y groupinstall "High Availability"
#yum -y install ricci
#yum -y install ccs
chkconfig iptables off
chkconfig ip6tables off
service iptables stop
service ip6tables stop
passwd ricci
RHCS Configuration
On one node, configure the cluster, either from the command line,
ls -l /etc/cluster/cluster.conf # should not exist
ccs -h localhost --createcluster centosha
cat /etc/cluster/cluster.conf
ccs -h localhost --addnode hbnode1
ccs -h localhost --addnode hbnode2
ccs -h localhost --addnode hbnode3
cat /etc/cluster/cluster.conf
copy/paste the configuration on all the nodes,
ls -l /etc/cluster/cluster.conf # should not exist
cat > /etc/cluster/cluster.conf <<EOF9
<?xml version="1.0"?>
<cluster config_version="4" name="centosha">
<clusternode name="hbnode1" nodeid="1"/>
<clusternode name="hbnode2" nodeid="2"/>
<clusternode name="hbnode3" nodeid="3"/>
chmod 640 /etc/cluster/cluster.conf
Ready to go
Start the services on all the nodes,
chkconfig ricci on
chkconfig cman on
chkconfig rgmanager on
chkconfig modclusterd on
service ricci start
service cman start
service rgmanager start
service modclusterd start
Creating fencing device (fence_soap)
See available fencing device possibles,
ccs -h localhost --lsfenceopts
more details on france_vmware_soap,
ccs -h localhost --lsfenceopts fence_vmware_soap
On a cluster node, try to fence a node manually, before you configure fencing,
fence_vmware_soap -a vcenter_address -l ADDOMAIN\short -p 'AD_PASSWORD' -o list -z | grep -i rhcs
fence_vmware_soap -a vcenter_address -l shortlogin@addomain.tld -p 'AD_PASSWORD' -o status -n VM-rhcs-cnode2 -z
fence_vmware_soap -a vcenter_address -l shortlogin@addomain.tld -p 'AD_PASSWORD' -o off -n VM-rhcs-cnode2 -z
fence_vmware_soap -a vcenter_address -l shortlogin@addomain.tld -p 'AD_PASSWORD' -o on -n VM-rhcs-cnode2 -z
(and rejoin the cluster)
Note. both ADDOMAIN\ or @addomain.tld works
If it works for you, you are ready to configure the fencing device,
ccs -h localhost --addfencedev fence_soap agent=fence_vmware_soap ipaddr="vcenter_address" login="short@addomain.tld" passwd="AD_PASSWORD"
or manually (increment the config version),
vi /etc/cluster/cluster.conf
<cluster config_version="5" name="centosha">
<fencedevice agent="fence_vmware_soap" ipaddr="vcenter_address" login="short@addomain.tld" name="fence_soap" passwd="AD_PASSWORD" ssl="1"/>
check and populate the changes,
ccs -h localhost --lsfencedev
cat /etc/cluster/cluster.conf
cman_tool version -r
Setting up fencing for every node
Now that a fence device agent is configured (fence_soap), enable fence methods for the nodes.
Get the name and UUID of the cluster nodes from the vcenter,
fence_vmware_soap -a vcenter_address -l ADDOMAIN\short -p 'AD_PASSWORD' -o list -z | grep -i rhcs
Then on e.g. cnode1,
grep name= /etc/cluster/cluster.conf | grep fence
ccs -h localhost --addmethod soap cnode1
ccs -h localhost --addmethod soap cnode2
ccs -h localhost --addmethod soap cnode3
link the methods to the device agent,
ccs -h localhost --addfenceinst fence_soap cnode1 soap port="VM_NAME" uuid="UUID"
ccs -h localhost --addfenceinst fence_soap cnode2 soap port="VM_NAME" uuid="UUID"
ccs -h localhost --addfenceinst fence_soap cnode3 soap port="VM_NAME" uuid="UUID"
check and populate the changes,
cman_tool version -r
Now check that fencing status responds on every node,
Enable debugging,
ccs -h localhost --setlogging debug=on
If you get this error trying to add fence_vmware_soap using css,
"Validation Failure, unable to modify configuration file"
then proceed manually as show above, step by step.
Ref. (unrelated) Bug 725722 - cluster.rng from ccs needs to match cluster.rng from cman
Troubleshooting -- Start from scratch
If you ever need to start from scratch, on every cluster node,
chkconfig ricci off
chkconfig cman off
chkconfig rgmanager off
chkconfig modclusterd off
rm -f /etc/cluster/cluster.conf
Optional -- RHCS web interface
On the manager,
yum -y groupinstall "High Availability Management"
yum -y install ricci
service ip6tables stop
service luci start
service ricci start
you can now access the management node web interface,
RedHat Cluster Suite And Conga - Linux Clustering
Red Hat Enterprise Linux 6 Cluster Administration
More refs general!Cluster_Tutorial_2#Node_Host_Names
References about Fencing
How to configure fence_vmware_soap using the Red Hat Enterprise Linux 6 tool ccs
Appendix A. Fence Device Parameters
4.26. VMWare over SOAP API
How to test fence devices and fencing configuration in a RHEL 5, 6, or 7 High Availability cluster?
fence_vmware_soap agent fails with error 'Unable to connect/login to fencing device'
9.4. Updating a Configuration

Last update: Dec 29, 2015