In this article, we will see that how to install Redhat cluster software (Pacemaker) on RHEL 7. If you have valid redhat subscription , you can directly configure redhat repository and install the packages. It also available in the RHEL 7 ISO image as an Add-on Package. Unlike previous redhat cluster releases , Redhat cluster 7 installation looks very simple since redhat has moved to pacemaker & corosync. Prior to proceeding with installation, I would request to go through the following articles.
- Redhat Cluster 6 vs Redhat cluster 7- Compare Redhat High-availability releases.
- Redhat Cluster – Corosync & Pacemaker Overview
Environment:
- Operating System: Redhat Enterprise Linux 7.2
- Repository : Local YUM Repository using RHEL 7.2 DVD ISO image.
- Type of Cluster : Active / Passive – Two Node cluster
- Cluster Resource : KVM guest (VirtualDomain)
YUM Repository configuration for OS , HA & Storage:
1. Copy the RHEL 7.2 DVD ISO image to the system or attach as DVD device.
2. Mount the ISO Image /DVD under “/repo”
[root@UA-HA ~]# df -h /repo Filesystem Size Used Avail Use% Mounted on /dev/sr1 3.8G 3.8G 0 100% /repo [root@UA-HA ~]#
3.List the DVD contents.
[root@UA-HA ~]# ls -lrt /repo total 872 -r--r--r-- 1 root root 18092 Mar 6 2012 GPL -r--r--r-- 1 root root 8266 Apr 4 2014 EULA -r--r--r-- 1 root root 3211 Oct 23 09:25 RPM-GPG-KEY-redhat-release -r--r--r-- 1 root root 3375 Oct 23 09:25 RPM-GPG-KEY-redhat-beta -r--r--r-- 1 root root 114 Oct 30 10:54 media.repo -r--r--r-- 1 root root 1568 Oct 30 11:03 TRANS.TBL dr-xr-xr-x 2 root root 4096 Oct 30 11:03 repodata dr-xr-xr-x 24 root root 6144 Oct 30 11:03 release-notes dr-xr-xr-x 2 root root 835584 Oct 30 11:03 Packages dr-xr-xr-x 2 root root 2048 Oct 30 11:03 LiveOS dr-xr-xr-x 2 root root 2048 Oct 30 11:03 isolinux dr-xr-xr-x 3 root root 2048 Oct 30 11:03 images dr-xr-xr-x 3 root root 2048 Oct 30 11:03 EFI dr-xr-xr-x 4 root root 2048 Oct 30 11:03 addons [root@UA-HA ~]#
4. Create the yum repository file with name of “ua.repo” and update with following contents. (Except “cat” command line)
[root@UA-HA ~]# cat /etc/yum.repos.d/ua.repo [repo-update] gpgcheck=0 enabled=1 baseurl=file:///repo name=repo-update [repo-ha] gpgcheck=0 enabled=1 baseurl=file:///repo/addons/HighAvailability name=repo-ha [repo-storage] gpgcheck=0 enabled=1 baseurl=file:///repo/addons/ResilientStorage name=repo-storage [root@UA-HA ~]#
5.List the configured yum repositories.
[root@UA-HA ~]# yum repolist Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. repo id repo name status !repo-ha repo-ha 30 !repo-storage repo-storage 37 !repo-update repo-update 4,620 repolist: 4,687 [root@UA-HA ~]#
We have successfully configured the YUM local repository using RHEL 7.2 ISO image.
Installing Cluster Packages on Nodes:
1.Login to the RHEL 7.2 node as root user.
2. Execute the following command to install the cluster packages and it’s dependencies. Corosync will install along with pacemaker.
[root@UA-HA ~]# yum install -y pacemaker pcs psmisc policycoreutils-python Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Resolving Dependencies --> Running transaction check ---> Package pacemaker.x86_64 0:1.1.13-10.el7 will be installed --> Processing Dependency: pacemaker-cli = 1.1.13-10.el7 for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: pacemaker-cluster-libs = 1.1.13-10.el7 for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: pacemaker-libs = 1.1.13-10.el7 for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: corosync for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libcfg.so.6(COROSYNC_CFG_0.82)(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libcmap.so.4(COROSYNC_CMAP_1.0)(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libcpg.so.4(COROSYNC_CPG_1.0)(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libquorum.so.5(COROSYNC_QUORUM_1.0)(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: resource-agents for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libcfg.so.6()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libcib.so.4()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libcmap.so.4()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libcorosync_common.so.4()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libcpg.so.4()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libcrmcluster.so.4()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libcrmcommon.so.3()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libcrmservice.so.3()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: liblrmd.so.1()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libpe_rules.so.2()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libpe_status.so.4()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libpengine.so.4()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libquorum.so.5()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libstonithd.so.2()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 --> Processing Dependency: libtransitioner.so.2()(64bit) for package: pacemaker-1.1.13-10.el7.x86_64 ---> Package pcs.x86_64 0:0.9.143-15.el7 will be installed ---> Package policycoreutils-python.x86_64 0:2.2.5-20.el7 will be installed ---> Package psmisc.x86_64 0:22.20-9.el7 will be installed --> Running transaction check ---> Package corosync.x86_64 0:2.3.4-7.el7 will be installed ---> Package corosynclib.x86_64 0:2.3.4-7.el7 will be installed ---> Package pacemaker-cli.x86_64 0:1.1.13-10.el7 will be installed ---> Package pacemaker-cluster-libs.x86_64 0:1.1.13-10.el7 will be installed ---> Package pacemaker-libs.x86_64 0:1.1.13-10.el7 will be installed ---> Package resource-agents.x86_64 0:3.9.5-54.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================= Package Arch Version Repository Size ============================================================================================= Installing: pacemaker x86_64 1.1.13-10.el7 repo-ha 462 k pcs x86_64 0.9.143-15.el7 repo-ha 4.7 M policycoreutils-python x86_64 2.2.5-20.el7 repo-update 435 k psmisc x86_64 22.20-9.el7 repo-update 140 k Installing for dependencies: corosync x86_64 2.3.4-7.el7 repo-ha 210 k corosynclib x86_64 2.3.4-7.el7 repo-ha 124 k pacemaker-cli x86_64 1.1.13-10.el7 repo-ha 253 k pacemaker-cluster-libs x86_64 1.1.13-10.el7 repo-ha 92 k pacemaker-libs x86_64 1.1.13-10.el7 repo-ha 519 k resource-agents x86_64 3.9.5-54.el7 repo-ha 339 k Transaction Summary ============================================================================================ Install 4 Packages (+6 Dependent packages) Total download size: 7.3 M Installed size: 19 M Downloading packages: -------------------------------------------------------------------------------------------- Total 19 MB/s | 7.3 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : corosynclib-2.3.4-7.el7.x86_64 1/10 Installing : corosync-2.3.4-7.el7.x86_64 2/10 Installing : pacemaker-libs-1.1.13-10.el7.x86_64 3/10 Installing : pacemaker-cli-1.1.13-10.el7.x86_64 4/10 Installing : psmisc-22.20-9.el7.x86_64 5/10 Installing : resource-agents-3.9.5-54.el7.x86_64 6/10 Installing : pacemaker-cluster-libs-1.1.13-10.el7.x86_64 7/10 Installing : pacemaker-1.1.13-10.el7.x86_64 8/10 Installing : pcs-0.9.143-15.el7.x86_64 9/10 Installing : policycoreutils-python-2.2.5-20.el7.x86_64 10/10 Verifying : pcs-0.9.143-15.el7.x86_64 1/10 Verifying : corosync-2.3.4-7.el7.x86_64 2/10 Verifying : pacemaker-cli-1.1.13-10.el7.x86_64 3/10 Verifying : psmisc-22.20-9.el7.x86_64 4/10 Verifying : resource-agents-3.9.5-54.el7.x86_64 5/10 Verifying : pacemaker-cluster-libs-1.1.13-10.el7.x86_64 6/10 Verifying : pacemaker-libs-1.1.13-10.el7.x86_64 7/10 Verifying : pacemaker-1.1.13-10.el7.x86_64 8/10 Verifying : policycoreutils-python-2.2.5-20.el7.x86_64 9/10 Verifying : corosynclib-2.3.4-7.el7.x86_64 10/10 Installed: pacemaker.x86_64 0:1.1.13-10.el7 pcs.x86_64 0:0.9.143-15.el7 policycoreutils-python.x86_64 0:2.2.5-20.el7 psmisc.x86_64 0:22.20-9.el7 Dependency Installed: corosync.x86_64 0:2.3.4-7.el7 corosynclib.x86_64 0:2.3.4-7.el7 pacemaker-cli.x86_64 0:1.1.13-10.el7 pacemaker-cluster-libs.x86_64 0:1.1.13-10.el7 pacemaker-libs.x86_64 0:1.1.13-10.el7 resource-agents.x86_64 0:3.9.5-54.el7 Complete! [root@UA-HA ~]#
We have successfully installed the cluster packages.
Note: crmsh is not available in RHEL 7 which is alternative to pcs commands.
In My cluster environment, I have disabled the firewall & selinux to avoid the complexity .
[root@UA-HA ~]# setenforce 0 setenforce: SELinux is disabled [root@UA-HA ~]# [root@UA-HA ~]# cat /etc/selinux/config |grep SELINUX |grep -v "#" SELINUX=disabled SELINUXTYPE=targeted [root@UA-HA ~]# [root@UA-HA ~]# systemctl stop firewalld.service [root@UA-HA ~]# systemctl disable firewalld.service [root@UA-HA ~]# iptables --flush [root@UA-HA ~]#
Hope this article is informative to you. In the next article, we will see that how to configure the cluster using pacemaker.
Share it ! Comment it !! Be Sociable !!!
Leave a Reply