Trước khi setup webserver, ta cần định dạng và mount các phân vùng iscsi vừa tạo trên tất cả các nodes.
Tạo Partition trên node
fdisk /dev/sdb
Tiếp theo
pvcreate /dev/sdb1 vgcreate data_vg /dev/sdb1 lvcreate -l 100%FREE -n data_lv data_vg
Format với ext4 filesystem
mkfs.ext4 /dev/mapper/data_vg-data_lv
Cài đặt Apache trên tất cả các node
yum install httpd -y
Cấu hình httpd.conf trên các node
vi /etc/httpd/conf/httpd.conf
Tạo thưc mục gốc của Apache bằng cách mount vào phân vùng vừa tạo
mount /dev/mapper/data_vg-data_lv /var/www/html
Set Selinux Policies cho thưc mục gốc
restorecon -R /var/www
Sau đó lại un-mount vì lát nữa cluster sẽ tự động mount nó
umount /dev/mapper/data_vg-data_lv
Mở port Firewalll
firewall-cmd --permanent --add-service=http firewall-cmd --reload
Cài gói trên tất cả các node
yum install pcs pacemaker -y
Mở Firewall
firewall-cmd --permanent --add-service=high-availability firewall-cmd --add-service=high-availability firewall-cmd --reload
Start Cluster Service
systemctl start pcsd systemctl enable pcsd
Setup administrator account. Ta phải set password trên tất cả các node
passwd hacluster
Sau khi setup password, cluster đã có thể kết nối đến tất cả các node. Chạy lệnh sau trên node 1
pcs cluster auth node1 node2 node3
Tạo cluster trên node1.
pcs cluster setup --name apache_ha node1 node2 node3
Enable và Verify Cluster Service
pcs cluster start --all pcs cluster enable --all
Tiếp tục verifying bằng lệnh sau:
pcs cluster status
Fencing là khái niệm để cách ly node khi một node nào đó bị lỗi. Cơ chế này nhằm để bảo vệ dữ liệu và ngăn chặn phá hỏng cluster. Nếu không có Fencing, dữ liệu có thể bị lỗi khi một node có vấn đề.
Trong pacemaker, fencing được gọi là STONISH. Ta sẽ add STONISH này vào các node:
Cài đặt gói Fencing Agent Package
yum install fence-agents-scsi.x86_64 -y
Ta sẽ add và sử dụng phân vùng /dev/sdc disk và tạo LVM fence_lv
Tạo các logical volume
pvcreate /dev/sdc1 vgcreate fence_vg /dev/sdc1 lvcreate -l 100%FREE -n fence_lv fence_vg
Tạo Fencing Device
pcs stonith create Fence_Dev fence_scsi pcmk_host_list=”node1 node2 node3″ pcmk_monitor_action=”metadata” pcmk_reboot_action=”off”devices=”/dev/mapper/fence_vg-fence_lv” meta provides=”unfencing” --group WebServer
Cấu hình Virtual IP như sau:
pcs resource create Cluster_Vip IPaddr2 ip=10.0.0.100 cidr_netmask=24 --group WebServer
Tạo Apache File System Resource trong Cluster sử dụng lệnh pcs
pcs resource create Apache_FS Filesystem device=”/dev/mapper/data_vg-data_lv” directory=”/var/www/html” fstype=”ext4″ --group WebServer
Add Apache web server cluster với lệnh sau:
pcs resource create Apache_Res apache configfile=”/etc/httpd/conf/httpd.conf” statusurl=”http://127.0.0.1/server-status” --group WebServer