次の方法で共有


SQL Server on Linux 用の Pacemaker クラスターをデプロイする

適用対象:SQL Server on Linux

このチュートリアルでは、SQL Server Always On 可用性グループ (AG) またはフェールオーバー クラスター インスタンス (FCI) の Linux Pacemaker クラスターをデプロイするために必要なタスクについて説明します。 密結合された Windows Server/SQL Server スタックとは異なり、Pacemaker クラスターを作成し、SQL Server をインストールする前またはインストール後に Linux 上に可用性グループ (AG) を構成できます。 クラスターの構成後、AG または FCI デプロイの Pacemaker 部分の統合とリソースを構成します。

重要

クラスターの種類が None の AG では、Pacemaker クラスターは必要ありません。Pacemaker で管理することはできません。

  • 高可用性アドオンをインストールし、Pacemaker をインストールします。
  • Pacemaker のノードを準備します (RHEL および Ubuntu のみ)。
  • Pacemaker クラスターを作成します。
  • SQL Server HA および SQL Server エージェント パッケージをインストールします。

SQL Server 2025 (17.x) 以降、SUSE Linux Enterprise Server (SLES) はサポートされていません。

前提条件

SQL Server on Linux をインストールする

高可用性アドオンをインストールする

次の構文を使用して、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 クラスターの一部となる各ノードで、次のコマンドを使用して pcsd サービスを有効にして開始します (RHEL および Ubuntu)。

    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 サービスの有効化は成功しています。 このバグは、今後の更新で修正される予定です。

  4. 次に、Pacemaker クラスターを作成して開始します。 この手順では、RHEL と Ubuntu とで違いが 1 つあります。 両方のディストリビューションで、 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 エージェント パッケージをインストールする

まだインストールしていない場合は、次のコマンドを使用して、SQL Server HA パッケージおよび SQL Server エージェントをインストールします。 SQL Server のインストール後に HA パッケージをインストールする場合は、変更を有効にするために SQL Server を再起動する必要があります。 この時点で SQL Server がインストールされているはずであるため、これらの手順では、Microsoft パッケージのリポジトリが既にセットアップされていることを前提としています。

  • ログ配布やその他の用途に SQL Server エージェントを使用しない場合は、開始または構成する必要はありません。

  • SQL Server on Linux のその他のパッケージ、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

次のステップ

このチュートリアルでは、SQL Server on Linux 用に Pacemaker クラスターをデプロイする方法について説明しました。 以下の方法を学習しました。

  • 高可用性アドオンをインストールし、Pacemaker をインストールします。
  • Pacemaker のノードを準備します (RHEL および Ubuntu のみ)。
  • Pacemaker クラスターを作成します。
  • SQL Server HA および SQL Server エージェント パッケージをインストールします。

SQL Server on Linux の可用性グループを作成および構成するには、以下を参照してください。