Hi all. Before we start the second part, let’s review what we have done in Part 01. In Part 01 of this clustering series, we’ve discussed about clustering technique and in which cases it can be used along with the advantages and disadvantages of clustering. And also we have covered the prerequisites for this setup and what each package will do after we configure the kind of setup.
As I said in my last article, we prefer 3 servers for this setup; one server acts as a cluster server and others as nodes.
Cluster Server: 172.16.1.250
Hostname: clserver.test.net
node01: 172.16.1.222
Hostname: nd01server.test.net
node02: 172.16.1.223
Hostname: nd02server.test.net
In today’s Part 2, we will see how to install and configure clustering on Linux. For this, we need to install the below packages on all three servers.
Ricci (ricci-0.16.2-75.el6.x86_64.rpm)
Luci (luci-0.26.0-63.el6.centos.x86_64.rpm)
Mod_cluster (modcluster-0.16.2-29.el6.x86_64.rpm)
CCS (ccs-0.16.2-75.el6_6.2.x86_64.rpm)
CMAN(cman-3.0.12.1-68.el6.x86_64.rpm)
Clusterlib (clusterlib-3.0.12.1-68.el6.x86_64.rpm)
Step 1: Installing Clustering in Linux
So let’s start installing these packages in all three servers. You can easily install all these packages using yum package manager.
I will start by installing “ricci” package on all these three servers.
# yum install “ricci”
Install Ricci Package
After ricci installation is done, we can see it has installed mod_cluster and cluster lib as its dependencies.
Ricci Installed Summary
Next I’m installing luci using yum install “luci” command.
# yum install "luci"
Install Luci Package
After the installation of luci, you can see it has installed the dependencies it needed.
Luci Package Installed Summary
Now, let’s install ccs package in the servers. For that I entered yum install ccs.x86_64 which is shown in the list when I issued yum list |grep “ccs” or else you can simply issue yum install “ccs”.
# yum install “ccs”
Install CSS Package
Let’s install cman as the last requirement for this particular setup. The command is yum install “cman” or yum install cman.x86_64 as shown in the yum list as I mentioned earlier.
# yum install “cman”
Install CMAN Package
We need to confirm the installations are in place. Issue below command to see whether the packages we needed are installed properly in all three servers.
# rpm -qa | egrep "ricci|luci|modc|cluster|ccs|cman"
All Packages Installed
Perfect all the packages are installed and all we need to do is configuring the setup.
Step 2: Configure Cluster in Linux
1. As the first step for setting up the cluster, you need to start the ricci service on all three servers.
# service ricci start
OR
# /etc/init.d/ricci start
Start Ricci Service on Cluster Server
Start Ricci On Node 01
Start Ricci On Node 02
2. Since ricci is started in all servers, now it’s time to create the cluster. This is where ccs package comes to our help when configuring the cluster.
If you don’t want to use ccs commands then you will have to edit the “cluster.conf”
file for adding the nodes and do other configs. I guess easiest way is to use following commands. Let’s have a look.
Since I haven’t created the cluster yet, there’s no cluster.conf file created in /etc/cluster location yet as shown below.
# cd /etc/cluster
# pwd
# ls
Check Cluster Configuration File
In my case, I do this in 172.16.1.250 which is dedicated for cluster management. Now onwards, everytime we try to use ricci server, it will ask for ricci’s password. So you will have to set the password of ricci user in all servers.
Enter passwords for ricci user.
# passwd ricci
Set Ricci Password
Now enter the command as shown below.
# ccs -h 172.16.1.250 --createcluster tecmint_cluster
You can see after entering above command, cluster.conf file is created in /etc/cluster directory.
Create Cluster Configuration
This is how my default cluster.conf looks like before I do the configs.
Cluster Configuration
3. Now let’s add the two nodes to the system. In here also we use ccs commands to make the configurations. I’m not going to manually edit the cluster.conf file but use the following syntax.
# ccs -h 172.16.1.250 --addnode 172.16.1.222
Add Nodes to Cluster
Add the other node too.
# ccs -h 172.16.1.250 --addnode 172.16.1.223
Add Second Node to Cluster
This is how cluster.conf file looks like after adding the node servers.
Cluster Configuration with Nodes
You also can enter below command to verify node details.
# ccs –h 172.16.1.250 --lsnodes
Confirm Cluster Node Details
For Ubuntu
Install and Configure a Failover Cluster in Ubuntu
- Install the necessary packages:
sudo apt install pacemaker corosync memcached stonith
- Configure Pacemaker and Corosync:
sudo racadm config -t server -g 1 -i lan -x IPMI_SOL_ENABLED
sudo pcs cluster auth TOKEN
sudo pcs cluster setup -n clustrname -i 10.0.0.1,10.0.0.2 -h clustr1,clustr2 -r Serial
sudo pcs cluster start --start-action=all
- Configure a resource group:
sudo pcs resource create rg1 systemd service=nfs-server clone=true
sudo pcs resource group add rg1 stonith:id=clustr1 stonith:id=clustr2
- Verify that the cluster is working correctly:
sudo pcs cluster status
Additional Resources
Pacemaker documentation: https://clusterlabs.org/
Corosync documentation: https://clusterlabs.org/
Memcached documentation: https://memcached.org/
STONITH documentation: https://wiki.clusterlabs.org/wiki/FAQ
Perfect. You have successfully created the cluster yourself and added two nodes. Since now you know how to create the cluster and add nodes to it, I will post Part 03 soon for you.