共用方式為


為 Linux 上的 SQL Server 部署 Pacemaker 叢集

適用於: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 上的 SQL Server

安裝高可用性插件

使用下列語法,為每個 Linux 發行版安裝高可用性 (HA) 附加元件所需的套件。

  1. 使用下列語法來註冊伺服器。 系統會提示您輸入有效的使用者名稱和密碼。

    sudo subscription-manager register
    
  2. 列出可用的集區以進行註冊。

    sudo subscription-manager list --available
    
  3. 執行以下指令,將 RHEL 高可用性與訂閱連結起來。

    sudo subscription-manager attach --pool=<PoolID>
    

    在這個例子中,PoolId 是前一步驟中高可用性訂閱的群組 ID。

  4. 啟用儲存庫以使用高可用性附加功能。

    sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
    
  5. 安裝 Pacemaker。

    sudo yum install pacemaker pcs fence-agents-all resource-agents
    

準備 Pacemaker 的節點 (僅限 RHEL 和 Ubuntu)

Pacemaker 會使用一個你在發行版上建立的使用者名稱 hacluster 。 在 RHEL 和 Ubuntu 上,HA 外掛安裝會產生這個使用者。

  1. 在每台將作為 Pacemaker 叢集節點的伺服器上,建立叢集所使用的使用者密碼。 範例中使用了名稱 hacluster,但你可以使用任何名稱。 Pacemaker 叢集中的所有節點必須使用相同的名稱與密碼。

    sudo passwd hacluster
    
  2. 在將成為 Pacemaker 叢集一部分的每個節點上,使用下列命令 (RHEL 和 Ubuntu) 啟用並啟動 pcsd 服務:

    sudo systemctl enable pcsd
    sudo systemctl start pcsd
    

    接著執行以下指令,確保 pcsd 已啟動。

    sudo systemctl status pcsd
    
  3. 在 Pacemaker 叢集中啟用每個可用節點的 Pacemaker 服務。

    sudo systemctl start pacemaker
    

    在 Ubuntu 上,您會看到錯誤:

    pacemaker Default-Start contains no runlevels, aborting.
    

    此錯誤是已知的問題。 儘管有錯誤,啟用心臟起搏器服務仍是成功的。 這個錯誤會在未來的更新中修正。

  4. 接下來,建立並啟動 Pacemaker 叢集。 在此步驟中,RHEL 和 Ubuntu 有一項差異。 在兩個發行版中,安裝 pcs 會設定 Pacemaker 叢集的預設設定檔,但在 RHEL 執行此指令會移除所有現有設定並建立新的叢集。

建立 Pacemaker 叢集

本節說明如何為每個 Linux 發行版建立與配置叢集。

  1. 授權節點:

    sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster
    

    在此範例中, NodeX 是節點的名稱。

  2. 建立叢集:

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