チュートリアル: DH2i DxEnterprise を使用して 3 ノード Always On 可用性グループを設定する
適用対象: Azure VM 上の SQL Server
このチュートリアルでは、Linux ベースの Azure 仮想マシン (VM) 上で実行される DH2i DxEnterprise を使用して、SQL Server Always On 可用性グループを構成する方法について説明します。
DxEnterprise の詳細については、DH2i DxEnterprise に関するページを参照してください。
Note
Microsoft では、データ移動、可用性グループ、および SQL Server コンポーネントをサポートしています。 クラスターとクォーラムの管理については、DH2i DxEnterprise クラスターのドキュメントに関するサポートについて、DH2i にお問い合わせください。
このチュートリアルでは、DxAdmin Client UI を使用して DxEnterprise クラスターを設定します。 必要に応じて、DxCLI コマンド ライン インターフェイスを使用してクラスターを設定することもできます。 この例では、4 つの VM を使用しています。 これらの VM のうち 3 つは Ubuntu 18.04 を実行し、3 ノード クラスターに参加します。 4 つ目の VM では、クラスターの管理と構成を行うための DxAdmin ツールがインストールされた Windows 10 を実行します。
このチュートリアルは、以下の手順から構成されています。
- 可用性グループに含めるすべての仮想マシンに SQL Server をインストールします。
- すべての仮想マシンに DxEnterprise をインストールし、DxEnterprise クラスターを構成します。
- フェールオーバーのサポートと高可用性を提供する仮想ホストを作成し、可用性グループを追加して、その可用性グループにデータベースを追加します。
- 可用性グループ リスナーの内部 Azure Load Balancer を作成します (省略可)。
- 手動フェールオーバーまたは自動フェールオーバーを実行します。
前提条件
- Azure に 4 つの仮想マシンを作成します。 Azure portal に Linux 仮想マシンを作成するクイックスタートの記事に従って Linux ベースの仮想マシンを作成します。 同様に、Windows ベースの仮想マシンを作成する場合は、記事「クイックスタート: Azure portal で Windows 仮想マシンを作成する」を参照してください。
- クラスターに参加する Linux ベースの VM すべてに .NET 3.1 をインストールします。 選択した Linux オペレーティング システムの手順については、Linux ディストリビューションへの .NET のインストールに関するページを参照してください。
- 可用性グループ管理機能に対応した有効な DxEnterprise ライセンスが必要になります。 無料試用版の詳細については、DxEnterprise 無料試用版に関するページを参照してください。
可用性グループの Azure VM 上に SQL Server をインストールする
このチュートリアルでは、可用性グループを実行する 3 ノードの Linux ベース クラスターを作成します。 選択した Linux プラットフォームに応じて、Linux への SQL Server のインストールに関するドキュメントに従ってください。 このチュートリアルでは、SQL Server ツールもインストールするようお勧めします。
Note
選択した Linux OS が、DH2i DxEnterprise、「最小システム要件」と Microsoft SQL Server の両方でサポートされる一般的なディストリビューションであることを確認してください。
このチュートリアルでは、DH2i DxEnterprise と Microsoft SQL Server の両方でサポートされている Ubuntu 18.04 を使用します。
このチュートリアルでは、Windows VM に SQL Server はインストールしません。このノードはクラスターには参加せず、DxAdmin を使用してクラスターを管理する目的でのみ使用されるためです。
この手順が完了した時点で、可用性グループに参加している Linux ベースの 3 つの VM すべてに SQL Server と SQL Server ツール (任意) がインストールされているはずです。
VM に DxEnterprise をインストールしてクラスターを構成する
この手順では、DH2i DxEnterprise for Linux を 3 つの Linux VM にインストールします。 次の表では、各サーバーがクラスターで果たすロールについて説明します。
[Number of VMs](VM の数) | DH2i DxEnterprise ロール | Microsoft SQL Server 可用性グループのレプリカ ロール |
---|---|---|
1 | クラスター ノード - Linux ベース | プライマリ |
1 | クラスター ノード - Linux ベース | セカンダリ - 同期コミット |
1 | クラスター ノード - Linux ベース | セカンダリ - 同期コミット |
1 | DxAdmin クライアント | NA |
Linux ベースの 3 つのノードに DxEnterprise をインストールする方法については、選択した Linux オペレーティング システムに応じて、DH2i DxEnterprise のドキュメントに従ってください。 次のいずれかの方法を使用して DxEnterprise をインストールします。
- Ubuntu
- RHEL
Windows VM に DxAdmin クライアント ツールだけをインストールする場合は、DxAdmin Client UI クイック スタート ガイドに従ってください。
この手順を終えた時点で、Linux VM 上には DxEnterprise クラスターが作成され、Windows クライアント マシンには DxAdmin クライアントがインストールされているはずです。
Note
いずれか 1 つのノードを "構成のみモード" として追加して自動フェールオーバーを有効にした 3 ノード クラスターを作成することもできます。 詳細については、「サポートされる可用性モード」を参照してください。
フェールオーバーのサポートと高可用性のための仮想ホストを作成する
この手順では、仮想ホストと可用性グループを作成した後、データベースを追加します。いずれの作業も DxAdmin UI を使用して行います。
Note
この手順の途中で、可用性グループを有効にするために SQL Server インスタンスが再起動されます。
DxAdmin を実行する Windows クライアント マシンに接続し、前の手順で作成したクラスターに接続します。 「DxAdmin での MSSQL 可用性グループ」に記載の手順に従って Always On を有効にし、仮想ホストと可用性グループを作成します。
ヒント
データベースを追加する前に、SQL Server のプライマリ インスタンスにデータベースが作成されてバックアップされていることを確認してください。
リスナー用の内部 Azure Load Balancer を作成する (省略可)
この手順 (省略可) では、可用性グループ リスナーの IP アドレスを保持する Azure ロード バランサーを作成して構成できます。 Load Balancer の詳細については、Azure Load Balancer に関するページを参照してください。 DxAdmin を使用して Load Balancer と可用性グループ リスナーを構成する場合は、Azure Load Balancer クイック スタート ガイドを参照してください。
この手順を終えた時点で、可用性グループ リスナーが作成されて、内部ロード バランサーにマップされているはずです。
手動フェールオーバーまたは自動フェールオーバーをテストする
自動フェールオーバーのテストを行うために、Azure portal から仮想マシンをオフにして、プライマリ レプリカを停止します。 このテストにより、プライマリ ノードが突然利用できなくなった状態が再現されます。 予期される動作は次のとおりです。
- クラスター マネージャーにより、可用性グループ内のいずれかのセカンダリ レプリカがプライマリに昇格します。
- 失敗したプライマリ レプリカは、バックアップされた後に自動的にクラスターに参加します。 これは、クラスター マネージャーによってセカンダリ レプリカに昇格します。
以下の手順に従って手動フェールオーバーを実行することもできます。
- DxAdmin を使用してクラスターに接続します。
- 可用性グループの仮想ホストを展開します。
- ターゲット ノードまたはセカンダリ レプリカを右クリックし、[Start Hosting on Member] (メンバーでのホスティングを開始する) を選択してフェールオーバーを開始します。
DxEnterprise 内での操作について詳しくは、DxEnterprise 管理者ガイドおよび DxEnterprise DxCLI ガイドを参照してください。