集群主要用于在主服务由于异常状况不能继续正常工作,此时会有一个备用的服务器继续提供服务,进而不会导致服务停止,本文主要展示双节点集群的建立,集群效果如下图
安装前准备
配置hosts[所有节点]
1 | #添加如下内容,确保集群中的主机可以通过主机名相互通信 |
注:[所有节点]代表所有节点执行,[单节点]代表集群中一个节点执行即可,下同
安装
安装Red Hat High Availability Add-On
软件套件以及隔离代理程序[所有节点]
1 | # yum install pcs fence-agents-all |
防火墙配置[所有节点]
1 | # firewall-cmd --permanent --add-service=high-availability |
用户配置[所有节点]
1 | # passwd hacluster |
注:hacluster用户为自动创建用户,只需修改密码即可,确保所有节点密码一致
启动pcsd[所有节点]
1 | # systemctl start pcsd.service |
节点认证[单节点]
1 | [root@z1 ~]# pcs cluster auth node1 node2 |
创建集群
创建[单节点]
1 | [root@z1 ~]# pcs cluster setup --start --name my_cluster node1 node2 |
注:–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 | # pcs stonith show scsi-shooter |