Change The World

沉默是一种力量,嘶吼就不是力量了?

0%

通过PACEMAKER创建高可用集群

集群主要用于在主服务由于异常状况不能继续正常工作,此时会有一个备用的服务器继续提供服务,进而不会导致服务停止,本文主要展示双节点集群的建立,集群效果如下图

cluster

安装前准备

配置hosts[所有节点]

1
2
3
#添加如下内容,确保集群中的主机可以通过主机名相互通信
192.168.0.10 node1
192.168.0.11 node2

注:[所有节点]代表所有节点执行,[单节点]代表集群中一个节点执行即可,下同

安装

安装Red Hat High Availability Add-On软件套件以及隔离代理程序[所有节点]

1
# yum install pcs fence-agents-all

防火墙配置[所有节点]

1
2
# firewall-cmd --permanent --add-service=high-availability
# firewall-cmd --add-service=high-availability

用户配置[所有节点]

1
2
3
4
5
# passwd hacluster
Changing password for user hacluster.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

注:hacluster用户为自动创建用户,只需修改密码即可,确保所有节点密码一致

启动pcsd[所有节点]

1
2
# systemctl start pcsd.service
# systemctl enable pcsd.service

节点认证[单节点]

1
2
3
4
5
[root@z1 ~]# pcs cluster auth node1 node2
Username: hacluster
Password:
node1: Authorized
node2: Authorized

创建集群

创建[单节点]

1
2
3
4
5
[root@z1 ~]# pcs cluster setup --start --name my_cluster node1 node2
node1: Succeeded
node2: Starting Cluster...
node1: Succeeded
node2: Starting Cluster...

注:–start 启动所有节点的集群服务

设置集群自启动

1
# pcs cluster enable --all

手动启动

1
# pcs cluster start --all

注: --all启动所有的节点,否则启动单节点

查看集群状态

1
[root@node1 ~]# pcs cluster status

隔离代理配置

以下使用iscsi设备充当stonith设备
创建隔离代理

1
# pcs stonith create scsi-shooter fence_scsi devices=/dev/disk/by-id/wwn-0x6001405189b893893594dffb3a2cb3e9 pcmk_monitor_action=metadata pcmk_reboot_action=off pcmk_host_list="node1 node2" meta provides=unfencing

注:scsi-shooter 为资源名称,fence_scsi 为fence设备类型,详情列表: pcs stonith list
provides=unfencing 主要用在基于存储的 FENCE 设备,如果仅仅希望stonith资源是开启的,则可以添加配置项 pcmk_monitor_action=metadata,此操作不会检测stonith设备是否存在直接返回成功。

查看隔离配置

1
2
# pcs stonith show scsi-shooter
scsi-shooter (stonith:fence_scsi): Started node1

参考

HIGH AVAILABILITY 外掛程式管理

不如请我吃根冰棒吧