Things needed for RHCS on Centos 6
- Two Centos 6 nodes
- Shared storage (glusterfs)
- Fencing mechinism (in our case, a custom fence_esxi found on this website)
I have two physical ESXi 5.1 servers, so the below will assume ESXi for fencing.
Install and configure glusterfs
I assume you have added additional disks to your VM for this (sdb, sdc)
Add the EPEL/EL repos for your distruction to /etc/yum.repos.d
yum install glusterfs glusterfs-server
Partition and format /dev/sdb1 and /dev/sdb2 as EXT4, adding the following to /etc/fstab ON BOTH NODES
In the below example, I am using LVM
/dev/vg01/mysql /mysql ext4 defaults 0 0
localhost:/gv0 /mysql/data glusterfs defaults 0 0
/dev/vg02/mail /mail ext4 defaults 0 0
localhost:/gv1 /mail/data glusterfs defaults 0 0
Mount /mysql and /mail (not /*/data yet)
Now on only one node, do the following commands
gluster volume create gv0 replica 2 transport tcp centos-cluster1:/mysql/brick centos-cluster2:/mysql/brick
gluster volume start gv0
gluster volume create gv1 replica 2 transport tcp centos-cluster1:/mail/brick centos-cluster2:/mail/brick
gluster volume start gv1
You should now be able to mount /mail/data and /mysql/data on both nodes.
Install RHCS and tools on both nodes
yum install luci ricci rgmanager cman fence-agents corosync
Once done with this step, make sure both node has the other node in their /etc/hosts file and configure your nodes to use static IPs.
Use luci to create the basic configuration of your cluster. (https://NODE1IP:8084)
Manage Cluster – Add
Once created add your nodes under “Nodes”
Create your fence devices (Use fence_vmware or something similar for now, we will change it later most likely) for each ESXi server.
Create a failover domain (Prioritized=No, Restricted=No)
Create two IP address resources (one for mail services, one for mysql)
Finally create your service groups for each service.
Order should be: IP Resource – Service
For your postfix-svc, use the “Script” type and define the script file as /mail/data/mail.sh
For mysql-svc, use the “Mysql” type and use for the Config File: /mysql/data/my.cnf
You should now be able to run “clustat” on either node, although your services will be failed or disabled for now.
Finally, let’s finish up fencing.
See http://linuxadministration.us/?p=256 for ESXi 5.1 (if you’re using something else, you’ll have to do this part yourself I’m afraid)
Test fencing with the “fence_node” command. Do not skip this step! Make sure fencing works before moving forward.