適用於:Linux 上的 SQL Server
本教學說明部署 Linux Pacemaker 叢集以支援 SQL Server Always On 可用性群組(AG)或故障轉移叢集實例(FCI)所需的任務。 與緊密結合的 Windows Server / SQL Server 堆疊不同,你可以在安裝 SQL Server 前後,在 Linux 上建立 Pacemaker 叢集並設定可用性群組(AG)。 叢集設定完成後,您需要為 AG 或 FCI 部署的 Pacemaker 部分配置整合與資源。
重要
叢集類型為 None 的 AG 不需要 Pacemaker 叢集,也無法由 Pacemaker 管理。
- 安裝高可用性附加元件並安裝 Pacemaker。
- 準備 Pacemaker 的節點 (僅限 RHEL 和 Ubuntu)。
- 建立 Pacemaker 叢集。
- 安裝 SQL Server HA 和 SQL Server Agent 套件。
注意
從 SQL Server 2025(17.x)開始,SUSE Linux Enterprise Server(SLES)不再支援。
必要條件
安裝高可用性插件
使用下列語法,為每個 Linux 發行版安裝高可用性 (HA) 附加元件所需的套件。
使用下列語法來註冊伺服器。 系統會提示您輸入有效的使用者名稱和密碼。
sudo subscription-manager register列出可用的集區以進行註冊。
sudo subscription-manager list --available執行以下指令,將 RHEL 高可用性與訂閱連結起來。
sudo subscription-manager attach --pool=<PoolID>在這個例子中,PoolId 是前一步驟中高可用性訂閱的群組 ID。
啟用儲存庫以使用高可用性附加功能。
sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms安裝 Pacemaker。
sudo yum install pacemaker pcs fence-agents-all resource-agents
準備 Pacemaker 的節點 (僅限 RHEL 和 Ubuntu)
Pacemaker 會使用一個你在發行版上建立的使用者名稱 hacluster 。 在 RHEL 和 Ubuntu 上,HA 外掛安裝會產生這個使用者。
在每台將作為 Pacemaker 叢集節點的伺服器上,建立叢集所使用的使用者密碼。 範例中使用了名稱
hacluster,但你可以使用任何名稱。 Pacemaker 叢集中的所有節點必須使用相同的名稱與密碼。sudo passwd hacluster在將成為 Pacemaker 叢集一部分的每個節點上,使用下列命令 (RHEL 和 Ubuntu) 啟用並啟動
pcsd服務:sudo systemctl enable pcsd sudo systemctl start pcsd接著執行以下指令,確保
pcsd已啟動。sudo systemctl status pcsd在 Pacemaker 叢集中啟用每個可用節點的 Pacemaker 服務。
sudo systemctl start pacemaker在 Ubuntu 上,您會看到錯誤:
pacemaker Default-Start contains no runlevels, aborting.此錯誤是已知的問題。 儘管有錯誤,啟用心臟起搏器服務仍是成功的。 這個錯誤會在未來的更新中修正。
接下來,建立並啟動 Pacemaker 叢集。 在此步驟中,RHEL 和 Ubuntu 有一項差異。 在兩個發行版中,安裝
pcs會設定 Pacemaker 叢集的預設設定檔,但在 RHEL 執行此指令會移除所有現有設定並建立新的叢集。
建立 Pacemaker 叢集
本節說明如何為每個 Linux 發行版建立與配置叢集。
授權節點:
sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster在此範例中, NodeX 是節點的名稱。
建立叢集:
sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable在這個例子中,
PMClusterName是你指派給 Pacemaker 叢集的名稱,而Nodelist是以空格分隔的節點名稱清單。
安裝 SQL Server HA 和 SQL Server Agent 套件
使用下列命令來安裝 SQL Server HA 封裝和 SQL Server Agent (如果尚未安裝)。 如果你在安裝 SQL Server 後才安裝 HA 套件,必須重新啟動 SQL Server 才能生效。 這些指示會假設已設定 Microsoft 封裝的存放庫,因為此時應該會安裝 SQL Server。
如果你不使用 SQL Server Agent 進行日誌傳送或任何其他用途,就不需要啟動或設定它。
在 Linux 上,SQL Server 的其他選用封裝,如 SQL Server 全文檢索 (mssql-server-fts) 和 SQL Server Integration Services (mssql-server-is),無論是 FCI 還是 AG,都不是高可用性的必要項目。
sudo yum install mssql-server-ha mssql-server-agent
sudo systemctl restart mssql-server
後續步驟
在本教學課程中,您已了解如何為 Linux 上的 SQL Server 部署 Pacemaker 叢集。 您已了解怎麼做。
- 安裝高可用性附加元件並安裝 Pacemaker。
- 準備 Pacemaker 的節點 (僅限 RHEL 和 Ubuntu)。
- 建立 Pacemaker 叢集。
- 安裝 SQL Server HA 和 SQL Server Agent 套件。
若要為 Linux 上的 SQL Server 建立和設定可用性群組,請參閱: