Pacemaker : Set Cluster Resource (httpd)2025/02/26 |
|
Set Apache httpd Cluster Resource and Configure Active/Passive Web Server.
This example is based on the environment like follows.
+--------------------+
| [ ISCSI Target ] |
| dlp.srv.world |
+----------+---------+
10.0.0.30|
|
+----------------------+ | +----------------------+
| [ Cluster Node#1 ] |10.0.0.51 | 10.0.0.52| [ Cluster Node#2 ] |
| node01.srv.world +----------+----------+ node02.srv.world |
| Apache httpd | | | Apache httpd |
+----------------------+ | +----------------------+
vip:10.0.0.60
|
+----------+---------+
| [ Clients ] |
| |
+--------------------+
|
| [1] | On all Cluster Nodes, Install Apache httpd. |
|
[root@node01 ~]#
dnf -y install httpd
[root@node01 ~]#
vi /etc/httpd/conf.d/server-status.conf # create new (enable server-status)
<Location /server-status>
SetHandler server-status
Require local
</Location>
[root@node01 ~]#
vi /etc/logrotate.d/httpd # line 9 : change like follows
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
delaycompress
postrotate
#/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
/usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -c "PidFile /var/run/httpd/httpd.pid" -k graceful > /dev/null 2>/dev/null || true
endscript
}
# if Firewalld is running, allow service [root@node01 ~]# firewall-cmd --add-service={http,https} success [root@node01 ~]# firewall-cmd --runtime-to-permanent success |
| [2] | On a Node that LVM shared storage is active in Cluster, Copy httpd files and create a Test page. [/dev/vg_ha/lv_ha] on the example below is LVM shared storage. |
|
[root@node01 ~]# mount /dev/vg_ha/lv_ha /mnt [root@node01 ~]# cp -pR /var/www/* /mnt/ [root@node01 ~]# echo "High Availability Test Page" > /mnt/html/index.html [root@node01 ~]# umount /mnt |
| [3] | On a Node that LVM shared storage is active in Cluster, Add httpd resource. [/dev/vg_ha/lv_ha] on the example below is LVM shared storage. |
|
# create filesystem resource [root@node01 ~]# pcs resource create httpd_fs ocf:heartbeat:Filesystem device=/dev/vg_ha/lv_ha directory=/var/www fstype=ext4 group ha_group --future
# create virtual IP address resource [root@node01 ~]# pcs resource create httpd_vip ocf:heartbeat:IPaddr2 ip=10.0.0.60 cidr_netmask=24 group ha_group --future
# create Apache resource [root@node01 ~]# pcs resource create website ocf:heartbeat:apache configfile=/etc/httpd/conf/httpd.conf statusurl=http://127.0.0.1/server-status group ha_group --future
pcs status
Cluster name: ha_cluster
Cluster Summary:
* Stack: corosync (Pacemaker is running)
* Current DC: node01.srv.world (version 3.0.0-5.el10-1353d31) - partition with quorum
* Last updated: Wed Feb 26 09:57:44 2025 on node01.srv.world
* Last change: Wed Feb 26 09:57:37 2025 by root via root on node01.srv.world
* 2 nodes configured
* 5 resource instances configured
Node List:
* Online: [ node01.srv.world node02.srv.world ]
Full List of Resources:
* scsi-shooter (stonith:fence_scsi): Started node01.srv.world
* Resource Group: ha_group:
* lvm_ha (ocf:heartbeat:LVM-activate): Started node01.srv.world
* httpd_fs (ocf:heartbeat:Filesystem): Started node01.srv.world
* httpd_vip (ocf:heartbeat:IPaddr2): Started node01.srv.world
* website (ocf:heartbeat:apache): Started node01.srv.world
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
# if SELinux is enabled, run restorecon on active Node [root@node01 ~]# restorecon -R /var/www
# access to vip to verify working [root@node01 ~]# curl http://10.0.0.60/index.html High Availability Test Page |
| Sponsored Link |
|
|