適用対象:Linux 上の SQL Server
このチュートリアルでは、SQL Server Always On 可用性グループ (AG) またはフェールオーバー クラスター インスタンス (FCI) に Linux Pacemaker クラスターをデプロイするために必要なタスクについて説明します。 密結合された Windows Server/SQL Server スタックとは異なり、Pacemaker クラスターを作成し、SQL Server をインストールする前またはインストール後に Linux 上に可用性グループ (AG) を構成できます。 クラスターの構成後、AG または FCI デプロイの Pacemaker 部分の統合とリソースを構成します。
Important
クラスターの種類が None の AG では、Pacemaker クラスターは必要ありません。Pacemaker で管理することはできません。
- 高可用性アドオンをインストールし、Pacemaker をインストールします。
- Pacemaker のノードを準備します (RHEL および Ubuntu のみ)。
- Pacemaker クラスターを作成します。
- SQL Server HAパッケージをインストールしてください。
Note
SQL Server 2025 (17.x) 以降、SUSE Linux Enterprise Server (SLES) はサポートされていません。
前提条件
高可用性アドオンをインストールする
次の構文を使用して、Linux の各ディストリビューションの高可用性 (HA) アドオンを構成するパッケージをインストールします。
クラスタ内の各ノードは、RHELおよび高可用性アドオンの適切なサブスクリプションを持っている必要があります。 要件を確認するには 、「Red Hat Enterprise Linuxにおける高可用性クラスタパッケージのインストール方法」をご覧ください。 サブスクリプションとリポジトリを構成するには、次の手順を実行します。
システムを登録します。
sudo subscription-manager registerユーザー名とパスワードを入力します。
登録に使用できるプールを一覧表示します。
sudo subscription-manager list --availableNote
RHEL 10 の場合は、次のコマンドを使用します。
sudo subscription-manager repos --list使用可能なプールの一覧から、高可用性サブスクリプションのプール ID を書き留めます。
次のスクリプトを更新します。
<pool id>を、前の手順の高可用性のプール ID に置き換えます。 スクリプトを実行してサブスクリプションをアタッチします。sudo subscription-manager attach --pool=<pool id>リポジトリを有効にします。
RHEL 8
sudo subscription-manager repos --enable=rhel-8-for-x86_64-highavailability-rpmsRHEL 9
sudo subscription-manager repos --enable=rhel-9-for-x86_64-highavailability-rpmsRHEL 10
sudo subscription-manager repos --enable=rhel-10-for-x86_64-highavailability-rpms
Pacemaker をインストールします。
sudo yum install pacemaker pcs fence-agents-all resource-agents
Pacemaker のノードを準備する (RHEL および Ubuntu のみ)
ペースメーカーは haclusterという名前のユーザーを使用しています。 RHEL と Ubuntu では、HA アドオン のインストールによってこのユーザーが作成されます。
Pacemaker クラスター内のノードとして機能する各サーバーで、クラスターが使用するユーザーのパスワードを作成します。 例では名前
haclusterを使用しますが、任意の名前を使用できます。 Pacemaker クラスター内のすべてのノードは、同じ名前とパスワードを使用する必要があります。sudo passwd haclusterPacemaker クラスターの一部となる各ノードで、次のコマンド (RHEL と Ubuntu) を使用して
pcsdサービスを有効にして起動します。sudo systemctl enable pcsd sudo systemctl start pcsd次に、次のコマンドを実行して、
pcsdが開始されていることを確認します。sudo systemctl status pcsdPacemaker クラスター内の可能な各ノードで Pacemaker サービスを有効にします。
sudo systemctl enable pacemakerUbuntu では、次のエラーが表示されます。
pacemaker Default-Start contains no runlevels, aborting.このエラーは既知の問題です。 エラーにもかかわらず、Pacemaker サービスの有効化は成功しています。
次に、Pacemaker クラスターを作成して開始します。 この手順では、RHEL と Ubuntu とで違いが 1 つあります。 両方のディストリビューションで、
pcsインストールすると Pacemaker クラスターの既定の構成ファイルが RHEL に構成されます。このコマンドを実行すると、既存の構成が削除され、新しいクラスターが作成されます。
Pacemaker クラスターを作成する
このセクションでは、Linux ディストリビューションごとにクラスターを作成および構成する方法について説明します。
ノードを承認します。 これらの例では、
<NodeX>は各ノードの名前です。 メッセージが表示されたら、haclusterのユーザー名とパスワードを手動で入力します。sudo pcs host auth <Node1> <Node2> <Node3>クラスターを作成します。 この例では、
PMClusterNameは Pacemaker クラスターに割り当てる名前です。sudo pcs cluster setup <PMClusterName> <Node1> <Node2> <Node3>すべてのノードでクラスターを起動します。
sudo pcs cluster start --allコンピューターの起動時にクラスターを起動できるようにします。
sudo pcs cluster enable --allクラスターの状態を確認します。
sudo pcs status
SQL Server HA をインストールする
もしまだインストールしていなければ、以下のコマンドを使ってSQL ServerのHAパッケージをインストールしてください。 SQL Server のインストール後に HA パッケージをインストールする場合は、変更を有効にするために SQL Server を再起動する必要があります。 この時点でSQL Serverをインストールする必要があるため、これらの手順では、Microsoft パッケージのリポジトリが既に設定されていることを前提としています。
- FCI または AG の高可用性には、SQL Server on Linux、SQL Server Full-Text Search (mssql-server-fts) とSQL Server Integration Services (mssql-server-is) の他の省略可能なパッケージは必要ありません。
sudo yum install mssql-server-ha
sudo systemctl restart mssql-server
次のステップ
このチュートリアルでは、SQL Server on Linux用に Pacemaker クラスターをデプロイする方法について説明しました。 以下の方法を学習しました。
- 高可用性アドオンをインストールし、Pacemaker をインストールします。
- Pacemaker のノードを準備します (RHEL および Ubuntu のみ)。
- Pacemaker クラスターを作成します。
- SQL Server HAパッケージをインストールしてください。
SQL Server on Linuxの可用性グループを作成して構成するには、次を参照してください。