溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SQL Server 2017 AlwaysOn on Linux 配置和維護(10)

發(fā)布時間:2020-07-07 22:04:02 來源:網(wǎng)絡(luò) 閱讀:9767 作者:UltraSQL 欄目:關(guān)系型數(shù)據(jù)庫
2.3.4 將AG添加為群集資源


為SQL Server安裝與Pacemaker集成的SQL Server資源代理

在所有節(jié)點上運行:

sudo yum install mssql-server-ha


創(chuàng)建Pacemaker用的SQL Server登錄名

在所有節(jié)點上運行:

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

或者,可以更精細的級別設(shè)置權(quán)限:

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


在所有節(jié)點,保存SQL Server登錄名的憑據(jù)。

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


在群集中創(chuàng)建AG資源

創(chuàng)建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

備注:創(chuàng)建資源后,之后定期地Pacemaker資源代理根據(jù)AG的配置自動設(shè)置AG的REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT的值。


在群集中創(chuàng)建虛擬IP資源

在一個節(jié)點上運行:

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

在Pacemaker中沒有虛擬服務(wù)器名。為了在連接串中使用一個字符串服務(wù)器名代替IP地址,在DNS中注冊虛擬IP地址和希望的虛擬服務(wù)器名。對于災(zāi)難恢復(fù)配置,在主站點和災(zāi)備站點的DNS中注冊虛擬IP地址和希望的虛擬服務(wù)器名。


添加Colocation約束

Colocation約束主要用于根據(jù)資源 A的節(jié)點位置來決定資源 B的位置,即在啟動資源 B的時候,會依賴資源 A的節(jié)點位置。例如將資源 A與資源 B進行 Colocation約束,假設(shè)資源A已經(jīng)運行在 node1上,則資源 B也會在node1上啟動,而如果node1故障,則資源B與 A會同時切換到node2而不是其中某個資源切換到 node3。


Pacemaker群集中的幾乎所有決定,比如選擇資源運行的位置,都是靠比較分數(shù)來制定。每個資源計算分數(shù)。群集資源管理器將選擇具有特定資源的最高分數(shù)的節(jié)點。 如果某個節(jié)點具有負的分值的資源,資源無法在該節(jié)點上運行。


在Pacemaker群集上,你可以對含有約束的群集的做決策。約束有一個分數(shù)。如果約束的分數(shù)低于INFINITY,Pacemaker將它看作建議。分數(shù)為INFINITY是必需的。

若要確保主副本和虛擬 ip 資源在同一主機上運行,請定義一個分數(shù)為 INFINITY 的主機托管約束。 若要添加colocation約束,請在一個節(jié)點上運行以下命令。

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


添加排序約束

Colocation約束具有隱式排序約束。在移動AG資源前,它將先移動虛擬IP資源。

若要防止 IP 地址暫時指向具有故障轉(zhuǎn)移前的次要副本的節(jié)點,請?zhí)砑优判蚣s束。

若要添加排序約束,請在一個節(jié)點上運行以下命令:

sudo pcs constraint order promote ag_cluster-master then start virtualip


查看群集狀態(tài)

sudo pcs status

SQL Server 2017 AlwaysOn on Linux 配置和維護(10)

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI