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

適用対象:SQL Server - Linux

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

重要

クラスター タイプが [なし] の AG では、Pacemaker クラスターは必要 "なく"、Pacemaker によって管理することもできません。

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

前提条件

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 は前の手順の高可用性サブスクリプションのプール 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 エージェントを使用する予定がない場合は、インストールする必要がないため、パッケージ mssql-server-agent はスキップできます。
  • 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 の可用性グループを作成および構成するには、以下を参照してください。