SQL Server 2017 AlwaysOn on Linux 配置和维护(10)
admin
2023-02-08 13:40:02
0次
2.3.4 将AG添加为群集资源


为SQL Server安装与Pacemaker集成的SQL Server资源代理

在所有节点上运行:

sudo yum install mssql-server-ha


创建Pacemaker用的SQL Server登录名

在所有节点上运行:

USE [master]
GO
CREATE LOGIN [pacemakerLogin] with PASSWORD= N'ComplexP@$$w0rd!'
ALTER SERVER ROLE [sysadmin] ADD MEMBER [pacemakerLogin]

或者,可以更精细的级别设置权限:

GRANT ALTER, CONTROL, VIEW DEFINITION ON AVAILABILITY GROUP::ag1 TO pacemakerLogin
GRANT VIEW SERVER STATE TO pacemakerLogin


在所有节点,保存SQL Server登录名的凭据。

echo 'pacemakerLogin' >> ~/pacemaker-passwd
echo 'ComplexP@$$w0rd!' >> ~/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 # Only readable by root


在群集中创建AG资源

创建ocf:mssql:ag master/slave类型的具有可用性组ag1的AG资源ag_cluster:

sudo pcs resource create ag_cluster ocf:mssql:ag ag_name=ag1 meta failure-timeout=30s master notify=true

备注:创建资源后,之后定期地Pacemaker资源代理根据AG的配置自动设置AG的REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT的值。


在群集中创建虚拟IP资源

在一个节点上运行:

sudo pcs resource create virtualip ocf:heartbeat:IPaddr2 ip=<10.128.16.240>

在Pacemaker中没有虚拟服务器名。为了在连接串中使用一个字符串服务器名代替IP地址,在DNS中注册虚拟IP地址和希望的虚拟服务器名。对于灾难恢复配置,在主站点和灾备站点的DNS中注册虚拟IP地址和希望的虚拟服务器名。


添加Colocation约束

Colocation约束主要用于根据资源 A的节点位置来决定资源 B的位置,即在启动资源 B的时候,会依赖资源 A的节点位置。例如将资源 A与资源 B进行 Colocation约束,假设资源A已经运行在 node1上,则资源 B也会在node1上启动,而如果node1故障,则资源B与 A会同时切换到node2而不是其中某个资源切换到 node3。


Pacemaker群集中的几乎所有决定,比如选择资源运行的位置,都是靠比较分数来制定。每个资源计算分数。群集资源管理器将选择具有特定资源的最高分数的节点。 如果某个节点具有负的分值的资源,资源无法在该节点上运行。


在Pacemaker群集上,你可以对含有约束的群集的做决策。约束有一个分数。如果约束的分数低于INFINITY,Pacemaker将它看作建议。分数为INFINITY是必需的。

若要确保主副本和虚拟 ip 资源在同一主机上运行,请定义一个分数为 INFINITY 的主机托管约束。 若要添加colocation约束,请在一个节点上运行以下命令。

sudo pcs constraint colocation add virtualip ag_cluster-master INFINITY with-rsc-role=Master


添加排序约束

Colocation约束具有隐式排序约束。在移动AG资源前,它将先移动虚拟IP资源。

若要防止 IP 地址暂时指向具有故障转移前的次要副本的节点,请添加排序约束。

若要添加排序约束,请在一个节点上运行以下命令:

sudo pcs constraint order promote ag_cluster-master then start virtualip


查看群集状态

sudo pcs status

SQL Server 2017 AlwaysOn on Linux 配置和维护(10)

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...