===== Pacemaker with GFS2 RHEL 7 ===== ==== Install and initial cluster configuration ==== /etc/hosts configuration example on both nodes: 192.168.122.10 cluster-1.exmaple.com cluster-1 192.168.122.15 cluster-2.example.com cluster-2 Yum configuration on both nodes: [cdrom] name=cdrom baseurl=file:///media gpgcheck=0 enabled=1 [ha] name=ha baseurl=file:///media/addons/HighAvailability/ gpgcheck=0 enabled=1 [storage] name=storage baseurl=file:///media/addons/ResilientStorage/ gpgcheck=0 enabled=1 On both nodes: sudo yum install pcs pacemaker fence-agents-all sbd lvm2-cluster gfs2-utils sudo systemctl disable firewalld sudo systemctl stop firewalld echo 'manager' |sudo passwd hacluster --stdin sudo systemctl start pcsd.service sudo systemctl enable pcsd.service On one node: sudo pcs cluster auth -u hacluster ha1.gbmdc.dc ha2.gbmdc.dc sudo pcs cluster setup --start --name spyderdb ha1.gbmdc.dc ha2.gbmdc.dc sudo pcs cluster enable --all ==== Configure fencing ==== Edit /etc/modules-load.d/softdog.conf on both nodes: softdog Execute: sudo systemctl enable systemd-modules-load sudo systemctl start systemd-modules-load sudo pcs stonith sbd device setup --device=/dev/sdb sudo pcs cluster stop --all sudo pcs stonith sbd enable sudo pcs cluster start --all sudo pcs property set stonith-watchdog-timeout=10 sudo pcs stonith create sbd fence_sbd devices=/dev/sdb Edit /etc/sysconfig/sbd on both nodes: SBD_DEVICE="/dev/sdb" Reboot nodes. After check if the output of this command is correct: ps aux | grep -e COMMAND -e "sbd: watcher: /dev" | grep -v grep ==== Configure File system ==== sudo pcs property set no-quorum-policy=freeze sudo pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence On both nodes: sudo /sbin/lvmconf --enable-cluster sudo mkdir /spyderha On one node: sudo pcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence sudo pcs constraint order start dlm then clvmd sudo pcs constraint colocation add clvmd with dlm sudo pvcreate /dev/sda sudo vgcreate -Ay -cy spyderDB_VG /dev/sda sudo lvcreate -L10G -n spyderDB_LV spyderDB_VG sudo mkfs.ext4 /dev/mapper/spyderDB_VG-spyderDB_LV sudo pcs resource create clusterfs Filesystem device="/dev/mapper/spyderDB_VG-spyderDB_LV" directory="/spyderha" fstype="ext4" sudo pcs constraint order start clvmd then clusterfs sudo pcs constraint colocation add clusterfs with clvmd sudo pcs resource group add spyderdb dlm clvmd hafs VirtualIP ==== Problems ==== Skipping clustered volume group spyderDB_VG vgchange -cn $vgname --config 'global {locking_type = 0}' ==== Resource HTTPd example ==== Edit /etc/sysconfig/selinux: SELINUX=permissive On both nodes: sudo setenforce 0 sudo yum -y install httpd sudo sed -i 's/\/var\/www/\/spyderha/g' /etc/httpd/conf/httpd.conf On one node: sudo mkdir /spyderha/cgi-bin sudo mkdir /spyderha/html sudo pcs resource defaults resource-stickiness=15000 sudo pcs resource create httpd systemd:httpd --group spyderdb sudo pcs resource create VirtualIP IPaddr2 ip=192.168.122.20 cidr_netmask=24 --group spyderdb sudo pcs constraint order clusterfs-clone then httpd ==== Disable monitoring of resources ==== pcs resource update httpd op monitor enabled=false ==== Monitor but do nothing ==== pcs resource update httpd op monitor on-fail=block ==== References ==== * https://access.redhat.com/solutions/1609883 * http://www.linux-ha.org/wiki/SBD_Fencing * https://access.redhat.com/articles/3099231 * https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/global_file_system_2/ch-clustsetup-gfs2 * https://www.suse.com/documentation/sle-ha-12/book_sleha/data/sec_ha_storage_protect_fencing_setup.html#pro_ha_storage_protect_sbd_create * https://access.redhat.com/articles/2943361 * https://docs.oracle.com/cd/E52668_01/E54669/html/ol7-pacemaker-stonith.html