Share via


為 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 套件。

必要條件

安裝 SQL Server 2017

安裝高可用性附加元件

使用下列語法,針對每個 Linux 散發安裝組成高可用性 (HA) 附加元件的套件。

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

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

    sudo subscription-manager list --available
    
  3. 執行下列命令,以將 RHEL 高可用性與訂用帳戶產生關聯

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

    其中 PoolId 是上一個步驟中高可用性訂用帳戶的集區識別碼。

  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.
    

    此錯誤是已知的問題。 儘管發生錯誤,啟用 Pacemaker 服務也會成功,而此錯誤 (bug) 將在未來的某個時間點修正。

  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 進行記錄傳送或任何其他用途,則不需要安裝代理程式,因此可以略過封裝 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 建立和設定可用性群組,請參閱: