上一篇6大步驟已完成1.安裝及設定 Linux 2.安裝及設定 SQL Server 3.設定主機檔案 4.設定共用存放裝置,並移動資料庫檔案
本篇繼續往 5.安裝和設定每個叢集節點上 Pacemaker 6.設定容錯移轉叢集執行個體前進
5.安裝和設定每個叢集節點上 Pacemaker
在主要及次要端建立供Pacemaker登入的帳號及密碼
sudo touch /var/opt/mssql/secrets/passwd
sudo echo '<loginName>' >> /var/opt/mssql/secrets/passwd
sudo echo '<loginPassword>' >> /var/opt/mssql/secrets/passwd
sudo chown root:root /var/opt/mssql/secrets/passwd
sudo chmod 600 /var/opt/mssql/secrets/passwd
開啟防火牆
sudo firewall-cmd --permanent --add-service=high-availability
sudo firewall-cmd --reload
安裝Pacemaker套件
sudo yum install pacemaker pcs fence-agents-all resource-agents
此時會發現有3個套件無法安裝,請參閱另一篇Red Hat Enterprise Linux 7.3 安装Pacemaker
安裝 Pacemaker 和 Corosync 套件時會建立一個使用者hacluster,此時要設定密碼,且在這兩個節點上使用的密碼要相同
sudo passwd hacluster
啟動pcsc及pacemaker
sudo systemctl enable pcsd
sudo systemctl start pcsd
sudo systemctl enable pacemaker
安裝FCI資源代理套件
sudo yum install mssql-server-ha
6.設定容錯移轉叢集執行個體
建立cluster
sudo pcs cluster auth **<nodeName1 nodeName2 …>** -u hacluster
sudo pcs cluster setup --name **<clusterName>** **<nodeName1 nodeName2 …>**
sudo pcs cluster start --all
我的範例如下
sudo pcs cluster auth sql2017-1 sql2017-2 -u hacluster
sudo pcs cluster setup --name sql2017cluster sql2017-1 sql2017-2
sudo pcs cluster start --all
此時檢查叢集狀態尚未有任何resource
建立資源
pcs cluster cib cfg
pcs -f cfg resource create mssqlha ocf:mssql:fci
pcs resource op defaults timeout=60s
pcs -f cfg resource create virtualip ocf:heartbeat:IPaddr2 ip=10.0.0.10
pcs -f cfg resource create fs Filesystem device="10.0.0.6:/mnt/nfs" directory="/var/opt/mssql/data" fstype="nfs4"
pcs -f cfg constraint colocation add virtualip mssqlha
pcs -f cfg constraint colocation add fs mssqlha
pcs cluster cib-push cfg
檢查服務是否正常
pcs status
若檢查resource時發現有stop狀況,有可能是在VM環境中,還要執行以下指令
pcs property set stonith-enabled=false
pcs property set start-failure-is-fatal=false