為 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 建立和設定可用性群組,請參閱: