為 Linux 上的 SQL Server 部署 Pacemaker 叢集
適用於:SQL Server - Linux
本教學課程記載為 SQL Server Always On 可用性群組 (AG) 或容錯移轉叢集執行個體 (FCI) 部署 Linux Pacemaker 叢集所需的工作。 與緊密結合的 Windows Server/SQL Server 堆疊不同,Linux 上的 Pacemaker 叢集建立以及可用性群組 (AG) 設定可以在安裝 SQL Server 之前或之後完成。 在設定叢集之後,將完成 AG 或 FCI 部署的 Pacemaker 部分的資源整合和設定。
重要
叢集類型為 None 的 AG「不需要」Pacemaker 叢集,也不能由 Pacemaker 管理。
- 安裝高可用性附加元件並安裝 Pacemaker。
- 準備 Pacemaker 的節點 (僅限 RHEL 和 Ubuntu)。
- 建立 Pacemaker 叢集。
- 安裝 SQL Server HA 和 SQL Server Agent 套件。
必要條件
安裝高可用性附加元件
使用下列語法,針對每個 Linux 散發安裝組成高可用性 (HA) 附加元件的套件。
使用下列語法來註冊伺服器。 系統會提示您輸入有效的使用者名稱和密碼。
sudo subscription-manager register
列出可用的集區以進行註冊。
sudo subscription-manager list --available
執行下列命令,以將 RHEL 高可用性與訂用帳戶產生關聯
sudo subscription-manager attach --pool=<PoolID>
其中 PoolId 是上一個步驟中高可用性訂用帳戶的集區識別碼。
讓存放庫能夠使用高可用性附加元件。
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 服務也會成功,而此錯誤 (bug) 將在未來的某個時間點修正。
接下來,建立並啟動 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 進行記錄傳送或任何其他用途,則不需要安裝代理程式,因此可以略過封裝 mssql-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 建立和設定可用性群組,請參閱:
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應