Azure Elastic SAN (プレビュー) を使用して FCI を作成する - Azure VM 上の SQL Server
適用対象: Azure VM 上の SQL Server
この記事では、Azure Elastic SAN ボリュームを使用して、Azure Virtual Machines (VM) 上の SQL Server でフェールオーバー クラスター インスタンス (FCI) を作成する方法について説明します。
詳細については、Azure VM 上の SQL Server を使用した FCI およびクラスターのベスト プラクティスの概要に関する記事をご覧ください。
Note
Azure Elastic SAN を使用したフェールオーバー クラスター インスタンスの構成は、現在、Azure VM 上の SQL Server でのプレビュー段階です。
前提条件
この記事に記載されている手順を完了するには、次のものが必要です。
- Azure サブスクリプション。 最初は無料の Azure アカウントを使ってください。
- 同じ可用性ゾーン内の、2 つ以上の配布準備済みの Azure Windows virtual machines。 FCI の VM 部分全体が同じ可用性ゾーンに存在する必要があるため、VM の可用性は 99.9% にとどまります。
- Azure の仮想マシンと Active Directory の両方にオブジェクトを作成するためのアクセス許可を持つアカウント。
ヒント
展開を簡略化し、フェールオーバー クラスター インスタンスに対して Azure Load Balancer または分散ネットワーク名 (DNN) を不要にするには、同じ Azure Virtual Network 内の複数のサブネットに SQL Server Virtual Machines (VM) を作成します。
Azure Elastic SAN を作成する
手順に従って、Azure Elastic SAN を作成します。
Elastic SAN は次のようになります。
- Azure VM 上の SQL Server と同じリソース グループ内。
- ゾーン冗長を構成。
- プライマリ SQL Server VM と同じ可用性ゾーン内。
Elastic SAN ボリュームを VM に接続する
手順に従って、両方の SQL Server VM に Elastic SAN ボリュームを接続します。
Disk Management を使用して Elastic SAN ボリュームをフォーマットし、オンラインにします。
Windows フェールオーバー クラスターの作成
Windows Server フェールオーバー クラスターを作成する手順は、単一サブネット環境とマルチサブネット環境で異なります。 クラスターを作成するには、複数のサブネットの場合または 1 つのサブネットの場合のチュートリアルの手順に従います。 このチュートリアルでは可用性グループを作成しますが、クラスターを作成する手順はフェールオーバー クラスター インスタンスの場合と同じです。
クォーラムを構成する
ディスク監視は最も回復性がある Quorum オプションであるため、Quorum ソリューションとしてディスク監視を構成することをお勧めします。 現在、クラウド監視は Azure Elastic SAN ではサポートされていません。
クラスターに多数の投票がある場合は、ビジネス ニーズに最適なクォーラム ソリューションを構成します。 詳細については、SQL Server VM でのクォーラムに関する記事をご覧ください。
クラスターを検証する
フェールオーバー クラスター マネージャーの UI または PowerShell を使用して、仮想マシンの 1 つでクラスターを検証します。
クラスターを検証する前に、次の手順に従って Elastic SAN ボリュームをオフラインにします。
[サーバー マネージャー] で、 [ツール] を選択し、 [フェールオーバー クラスター マネージャー] を選択します。
クラスターで、[ストレージ] の [ディスク] を選択します。
Elastic SAN ディスクを右クリックし、[オフラインにする] を選択します。
[クラスター共有ボリュームをオフラインにしる] ダイアログ ボックスで [はい] を選択し、ディスクをオフラインにすることを確認します。
UI を使用してクラスターを検証するには、次の手順に従います。
- [フェールオーバー クラスター マネージャー]でクラスターを右クリックし、[クラスターの検証] を選択して [構成ウィザードの検証] を開きます。
- [構成ウィザードの検証] で、[次へ] を選択します。
- [サーバーまたはクラスターの選択] で、両方の仮想マシンの名前を入力します。
- [テスト オプション] ページで、[すべてのテストを実行する (推奨)]、[次へ] の順に選択します。
- [確認] ページで、[次へ] を選択します。 構成の検証ウィザードにより、検証テストが実行されます。
PowerShell を使用してクラスターを検証するには、いずれかの仮想マシンの管理者 PowerShell セッションから次のスクリプトを実行します。
Test-Cluster –Node ("<node1>","<node2>") –Include "Cluster Configuration", "Inventory", "Network", "Storage", "System Configuration"
クラスターが検証されたら、フェールオーバー クラスター マネージャーのクラスターの [ディスク] ページを使用して、Elastic SAN ボリュームをオンラインに戻します。
クラスターのフェールオーバーをテストする
クラスターのフェールオーバーをテストします。 [フェールオーバー クラスター マネージャー] で、クラスターを右クリックし、 [その他の操作]>[コア クラスター リソースの移動]>[ノードの選択] の順に選択した後、クラスターの他のノードを選択します。 コア クラスター リソースをクラスターのすべてのノードに移動してから、プライマリ ノードに戻します。 SQL Server をインストールする前に、クラスターを各ノードに正常に移動できることを確認してください。
SQL Server FCI を作成する
フェールオーバー クラスターと、ストレージを含むすべてのクラスター コンポーネントを構成したら、SQL Server FCI を作成できます。
SQL FCI に最初のノードを作成する
SQL Server FCI で最初のノードを作成するには、次の手順に従います。
リモート デスクトップ プロトコル (RDP) または Bastion を使用して、最初の仮想マシンに接続します。
[フェールオーバー クラスター マネージャー] で、すべてのコア クラスター リソースが最初の仮想マシン上にあることを確認します。 必要に応じて、ディスクをその仮想マシンに移動します。
インストール メディアを探します。 仮想マシンでいずれかの Azure Marketplace イメージが使用されている場合、メディアは
C:\SQLServer_<version number>_Full
にあります。[Setup](セットアップ) を選択します。
[SQL Server インストール センター] で、 [インストール] を選択します。
[SQL Server フェールオーバー クラスターの新規インストール] を選択します。 ウィザードの指示に従って、SQL Server FCI をインストールします。
[クラスター ディスクの選択] ページで、Azure Elastic SAN ボリュームを選択します。
[クラスター ネットワークの構成] ページで指定する IP は、SQL Server VM を 1 つのサブネットにデプロイしたのか、それとも複数のサブネットにデプロイしたのかによって異なります。
- 単一サブネット環境の場合、Azure Load Balancer に追加する IP アドレスを指定します。
- 複数サブネット環境の場合、フェールオーバー クラスター インスタンスのネットワーク名の IP アドレスとして以前に指定した、最初の SQL Server VM のサブネット内のセカンダリ IP アドレスを指定します。
[データベース エンジンの構成] ページで、データベース ディレクトリが Azure Elastic SAN ボリュームに存在することを確認します。
ウィザードの手順を完了すると、セットアップにより、SQL Server FCI が最初のノードにインストールされます。
SQL FCI にノードを追加する
SQL Server FCI にノードを追加するには、次の手順に従います。
最初のノードで FCI のインストールが成功したら、RDP または Bastion を使用して 2 番目のノードに接続します。
[SQL Server インストール センター] を開き、 [インストール] を選択します。
[SQL Server フェールオーバー クラスターにノードを追加] を選択します。 ウィザードの指示に従って SQL Server をインストールし、このノードを FCI に追加します。
複数サブネットの場合、 [クラスター ネットワークの構成] で、フェールオーバー クラスター インスタンスのネットワーク名の IP アドレスとして以前に指定した、2 番目の SQL Server VM のサブネット内のセカンダリ IP アドレスを入力します。
[クラスター ネットワークの構成] で [次へ] を選択した後、セットアップでは、サンプル画像のように SQL Server のセットアップによって複数のサブネットが検出されたことを示すダイアログ ボックスが表示されます。 [はい] を選択して確定します。
ウィザードの手順を完了すると、セットアップによって 2 番目の SQL Server FCI ノードが追加されます。
SQL Server フェールオーバー クラスター インスタンスに参加させる他のすべての SQL Server VM で、以上の手順を繰り返します。
Note
Azure Marketplace ギャラリー イメージには、SQL Server Management Studio がインストールされています。 マーケットプレース イメージを使用しなかった場合は、SQL Server Management Studio (SSMS) をダウンロードしてください。
SQL IaaS Agent 拡張機能に登録する
SQL Server VM をポータルから管理するには、SQL IaaS Agent 拡張機能にそれを登録します。
Note
現時点では、SQL IaaS Agent 拡張機能に登録されている Azure Virtual Machines 上の SQL Server フェールオーバー クラスター インスタンスでは、エージェントを必要とする機能 (自動バックアップ、修正プログラムの適用、Microsoft Entra 認証、高度なポータル管理など) ではなく、基本的な登録で使用できる制限された数の機能のみがサポートされています。 詳細については、「ベネフィット一覧表」を参照してください。
PowerShell を使用して SQL Server VM を登録します (-LicenseType は PAYG
または AHUB
にできます)。
# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>
# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
-LicenseType <license_type>
接続の構成
複数のサブネットに SQL Server VM をデプロイした場合は、この手順をスキップしてください。 1 つのサブネットに SQL Server VM をデプロイした場合は、トラフィックを FCI にルーティングするための追加コンポーネントを構成する必要があります。 フェールオーバー クラスター インスタンスに対して、仮想ネットワーク名 (VNN) と Azure Load Balancer、または分散ネットワーク名を構成できます。 この 2 つの違いを確認してから、フェールオーバー クラスター インスタンスに対して分散ネットワーク名または仮想ネットワーク名と Azure Load Balancer をデプロイします。
制限事項
- Microsoft 分散トランザクション コーディネーター (MSDTC) は、Azure Elastic SAN ボリュームにデプロイされた Azure VM フェールオーバー クラスター インスタンス上の SQL Server ではサポートされていません。 詳しくは、「FCI 制限事項」を確認してください。
- Microsoft 分散トランザクション コーディネーター (MSDTC) は、専用のクラスターの共有ボリューム (CSV) にデプロイされ Standard Load Balancer を使用している場合、Windows Server 2019 以降、Azure Virtual Machines でサポートされています。 Windows Server 2016 およびそれ以前では MSDTC はサポートされていません。
制限付き拡張機能のサポート
現時点では、SQL IaaS Agent 拡張機能に登録されている Azure Virtual Machines 上の SQL Server フェールオーバー クラスター インスタンスでは エージェントを必要とする機能 (自動バックアップ、修正プログラムの適用、Microsoft Entra 認証、高度なポータル管理など) ではなく、基本的な登録で使用できる機能の数は限られています。 詳細については、「ベネフィット一覧表」を参照してください。
SQL Server VM が SQL IaaS Agent 拡張機能に既に登録されていて、エージェントを必要とする機能を有効にしている場合は、対応する VM の SQL 仮想マシン リソースを削除することによって、SQL Server VM から拡張機能を削除した後、SQL IaaS Agent 拡張機能にもう一度登録する必要があります。 Azure portal を使用して SQL 仮想マシン リソースを削除するときは、仮想マシンを削除してしまうことのないよう、正しい仮想マシンの横のチェック ボックスをオフにします。
次のステップ
Azure 共有ディスクがお客様に適した FCI 記憶域ソリューションでない場合は、代わりに Premium ファイル共有または記憶域スペース ダイレクトを使用して FCI を作成することを検討してください。
詳細については、以下をご覧ください。