隔离的目的是确保在配置资源过程中引起服务中断时,不会发生数据损坏,为了测试环境相对简单,需要禁用隔离,在实际环境中需要与管理员和设备供应商讨论是否需要启用。
Bash(all):
sudo pcs property set stonith-enabled=false
6 在所有节点安装资源包Bash(all):
yum install mssql-server-ha –y
sudo systemctl restart mssql-server
7 设置群集属性群集重新检查间隔(可不配置)cluster-recheck-interval 指示检查群集资源参数、 约束或其他群集选项中的更改的轮询间隔。 如果副本出现故障,群集将尝试重新启动的时间间隔,由绑定的副本failure-timeout值和cluster-recheck-interval值。 例如,如果failure-timeout设置为 60 秒和cluster-recheck-interval设置为 120 秒,在重新启动尝试的时间间隔大于 60 秒,但不超过 120 秒。 我们建议将故障超时设置为 60 秒和群集重新检查的间隔超过 60 秒的值。 不建议将群集重新检查间隔设置为较小的值。
若要将属性值更新为2 minutes运行:
sudo pcs property set cluster-recheck-interval=2min(包括 RHEL 7.3 和 7.4) 的所有使用最新可用 Pacemaker 包 1.1.18-11.el7 分布引入开始失败-是的致命群集设置的行为更改其值为 false。 此更改会影响故障转移工作流。 如果主副本发生服务中断,群集应故障转移到其中一个可用的辅助副本。 相反,用户会注意到该群集会一直尝试启动失败的主副本。 如果该主永远不会处于联机状态 (由于的永久中断),群集永远不会故障转移到另一个可用的辅助副本。 由于此更改,以前推荐的配置来设置开始失败-是的致命将不再有效,需要恢复回其默认值设置true。 此外,需要更新,以包含 AG 资源failover-timeout属性。
若要将属性值更新为true运行:
sudo pcs property set start-failure-is-fatal=true若要更新ag_cluster资源属性failure-timeout到60s运行:
pcs resource update AG1 meta failure-timeout=60s 8.1 在所有节点上创建基于Pacemaker的使用账户Sql(all):
USE [master]
GO
CREATE LOGIN [pacemakerLogin] with PASSWORD= N\'1111.aaa\';
ALTER SERVER ROLE [sysadmin] ADD MEMBER [pacemakerLogin]
9 所有节点保存登陆信息Bash(all):
sudo echo \'pacemakerLogin\' >> ~/pacemaker-passwd
sudo echo \'1111.aaa\' >> ~/pacemaker-passwd
sudo mv ~/pacemaker-passwd /var/opt/mssql/secrets/passwd
sudo chown root:root /var/opt/mssql/secrets/passwd
sudo chmod 400 /var/opt/mssql/secrets/passwd [ge1]
10 搭建主节点配置AG,创建虚拟IP搭建好集群之后,就可以创建虚拟Ip,这里选用192.168.1.220为VIP
Bash(主)
sudo pcs resource create ag_cluster ocf:mssql:ag ag_name=AG1 meta failure-timeout=60s master notify=true
sudo pcs resource create virtualip ocf:heartbeat:IPaddr2 ip=192.168.1.220
执行完之后查看是否绑定成功
ip addr show
11 设置主节点(或副本)执行集群依赖关系和启动顺序 11.1目的在于当集群拥有两个以上的节点,且发生故障转移时,应选择哪一节点作为新的主节点。11.1.1用户问题pcs resource move到可用性组主副本从节点 1 到节点 2。
11.1.2节点 1 上虚拟 IP 资源停止。
11.1.3节点 2 上虚拟 IP 资源启动。
此时,IP 地址暂时指向节点 2,同时节点 2 仍为故障转移前的次要副本。
11.1.4节点 1 上的可用性组主要副本降级为次要副本。
11.1.5节点 2 上的可用性组次要副本升级为主要副本。
Bash(主)
sudo pcs constraint colocation add virtualip ag_cluster-master INFINITY with-rsc-role=Master
sudo pcs constraint order promote ag_cluster-master then start virtualip
11.2 查看集群状态
sudo pcs status
12 访问VIP这次使用vip访问sqlserver服务器,一般情况下,1433端口可以不加(sa,密码123456.com)
如下图我们顺利完成了搭建,在无故障的情况下,当前DB(注意我们使用vip连接,也就是可能你不知道具体的主节点在哪里)如图;
Sql(VIP):