Azure Virtual Machines で SQL Server フェールオーバー クラスター インスタンスを構成します。Configure a SQL Server failover cluster instance on Azure virtual machines

この記事では、Azure Resource Manager モデルを使用して、Azure Virtual Machines で SQL Server フェールオーバー クラスター インスタンス (FCI) を作成する方法について説明します。This article explains how to create a SQL Server failover cluster instance (FCI) on Azure virtual machines in the Azure Resource Manager model. このソリューションでは、ストレージ (データ ディスク) を Windows クラスター内のノード (Azure VM) 間で同期させるためのソフトウェア ベースの仮想 SAN として、Windows Server 2016 Datacenter Edition 記憶域スペース ダイレクトを使用します。This solution uses Windows Server 2016 Datacenter edition Storage Spaces Direct as a software-based virtual SAN that synchronizes the storage (data disks) between the nodes (Azure VMs) in a Windows cluster. 記憶域スペース ダイレクトは Windows Server 2016 で新しく追加されました。Storage Spaces Direct was new in Windows Server 2016.

次の図は、Azure Virtual Machines での完全なソリューションを示しています。The following diagram shows the complete solution on Azure virtual machines:

完全なソリューション

この図は次のことを示しています。This diagram shows:

  • Windows Server フェールオーバー クラスター内の 2 つの Azure 仮想マシン。Two Azure virtual machines in a Windows Server Failover Cluster. 仮想マシンがフェールオーバー クラスター内にある場合、仮想マシンはクラスター ノードまたはノードとも呼ばれます。When a virtual machine is in a failover cluster, it's also called a cluster node or node.
  • 各仮想マシンには、2 つ以上のデータ ディスクがあります。Each virtual machine has two or more data disks.
  • 記憶域スペース ダイレクトは、データ ディスク上のデータを同期し、同期されたストレージを記憶域プールとして提供します。Storage Spaces Direct synchronizes the data on the data disks and presents the synchronized storage as a storage pool.
  • 記憶域プールは、クラスターの共有ボリューム (CSV) をフェールオーバー クラスターに提供します。The storage pool presents a Cluster Shared Volume (CSV) to the failover cluster.
  • SQL Server FCI のクラスター ロールは、CSV をデータ ドライブ用に使用します。The SQL Server FCI cluster role uses the CSV for the data drives.
  • SQL Server FCI の IP アドレスを保持するための Azure ロード バランサー。An Azure load balancer to hold the IP address for the SQL Server FCI.
  • Azure 可用性セットにより、すべてのリソースが保持されます。An Azure availability set holds all the resources.

注意

この図では、すべての Azure リソースが同じリソース グループに含まれています。All Azure resources in the diagram are in the same resource group.

記憶域スペース ダイレクトの詳細については、Windows Server 2016 Datacenter Edition 記憶域スペース ダイレクトに関する記事を参照してください。For details about Storage Spaces Direct, see Windows Server 2016 Datacenter edition Storage Spaces Direct.

記憶域スペース ダイレクトでは、コンバージド型とハイパー コンバージド型の 2 種類のアーキテクチャがサポートされています。Storage Spaces Direct supports two types of architectures: converged and hyper-converged. このドキュメントでのアーキテクチャは、ハイパー コンバージド型です。The architecture in this document is hyper-converged. ハイパー コンバージド インフラストラクチャでは、クラスター化されたアプリケーションをホストしている同じサーバーにストレージが配置されます。A hyper-converged infrastructure places the storage on the same servers that host the clustered application. このアーキテクチャでは、ストレージは各 SQL Server FCI ノード上にあります。In this architecture, the storage is on each SQL Server FCI node.

ライセンスと価格Licensing and pricing

Azure Virtual Machines では、従量課金制 (PAYG) またはライセンス持ち込み (BYOL) VM イメージを使用して SQL Server の使用許可を与えることができます。On Azure virtual machines, you can license SQL Server using pay-as-you-go (PAYG) or bring-your-own-license (BYOL) VM images. 選択するイメージの種類が課金方法に影響を与えます。The type of image you choose affects how you're charged.

従量課金制ライセンスでは、Azure Virtual Machines 上の SQL Server のフェールオーバー クラスター インスタンス (FCI) により、FCI のすべてのノード (パッシブ ノードを含む) に対する課金が発生します。With pay-as-you-go licensing, a failover cluster instance (FCI) of SQL Server on Azure virtual machines incurs charges for all nodes of the FCI, including the passive nodes. 詳細については、「SQL Server Enterprise Virtual Machines の料金」を参照してください。For more information, see SQL Server Enterprise Virtual Machines Pricing.

ソフトウェア アシュアランスの Enterprise Agreement を締結している場合、アクティブ ノードごとに 1 つの無料のパッシブ FCI ノードを使用することができます。If you have Enterprise Agreement with Software Assurance, you can use one free passive FCI node for each active node. Azure でこの利点を利用するには、BYOL VM イメージを使用した後、FCI のアクティブ ノードとパッシブ ノードの両方で同じライセンスを使用します。To take advantage of this benefit in Azure, use BYOL VM images, and use the same license on both the active and passive nodes of the FCI. 詳細については、Enterprise Agreement に関するページを参照してください。For more information, see Enterprise Agreement.

SQL Server on Azure Virtual Machines の従量課金制ライセンスと BYOL ライセンスを比較するには、「SQL VM の概要」に関するページを参照してください。To compare pay-as-you-go and BYOL licensing for SQL Server on Azure virtual machines, see Get started with SQL VMs.

SQL Server のライセンスに関する完全な情報については、価格に関するページを参照してください。For complete information about licensing SQL Server, see Pricing.

Azure テンプレートの例Example Azure template

このソリューション全体を、Azure でテンプレートから作成できます。You can create this entire solution in Azure from a template. テンプレートの例は、GitHub のAzure クイック スタート テンプレートから使用できます。An example of a template is available in the GitHub Azure Quickstart Templates. この例は、特定のワークロード向けに設計およびテストされたものではありません。This example isn't designed or tested for any specific workload. このテンプレートを実行すれば、ドメインに接続された記憶域スペース ダイレクト ストレージで SQL Server FCI を作成できます。You can run the template to create a SQL Server FCI with Storage Spaces Direct storage connected to your domain. このテンプレートは、評価のうえ、目的に応じた変更が可能です。You can evaluate the template and modify it for your purposes.

開始する前にBefore you begin

作業を開始する前に、いくつかのことを把握し、準備しておく必要があります。There are a few things you need to know and have in place before you start.

必要な知識What to know

次のテクノロジについて、運用上の理解が必要です。You should have an operational understanding of these technologies:

留意すべき 1 つの点として、Azure IaaS VM ゲスト フェールオーバー クラスターでは、サーバー (クラスター ノード) ごとに 1 つの NIC、および 1 つのサブネットを使用することをお勧めします。One thing to be aware of is that on an Azure IaaS VM guest failover cluster, we recommend a single NIC per server (cluster node) and a single subnet. Azure ネットワークは物理的な冗長性を備えているので、Azure IaaS VM ゲスト クラスターで NIC とサブネットを追加する必要はありません。Azure networking has physical redundancy, which makes additional NICs and subnets unnecessary on an Azure IaaS VM guest cluster. クラスター検証レポートには、ノードは 1 つのネットワーク上でのみ到達可能であることを警告するメッセージが表示されます。The cluster validation report will warn you that the nodes are reachable only on a single network. Azure IaaS VM ゲスト フェールオーバー クラスターでは、この警告を無視できます。You can ignore this warning on Azure IaaS VM guest failover clusters.

さらに、次のテクノロジの概要について理解しておくことが必要です。You should also have a general understanding of these technologies:

重要

現時点では、Azure 仮想マシン上の SQL Server フェールオーバー クラスター インスタンスは、SQL Server IaaS Agent 拡張機能軽量管理モードでのみサポートされています。At this time, SQL Server failover cluster instances on Azure virtual machines are only supported with the lightweight management mode of the SQL Server IaaS Agent Extension. 完全拡張機能モードから軽量に変更するには、対応する VM の SQL 仮想マシン リソースを削除し、それらを軽量モードの SQL VM リソース プロバイダーに登録します。To change from full extension mode to lightweight, delete the SQL Virtual Machine resource for the corresponding VMs and then register them with the SQL VM resource provider in lightweight mode. Azure portal を使用して SQL 仮想マシン リソースを削除するときに、正しい仮想マシンの横のチェックボックスをオフにしますWhen deleting the SQL Virtual Machine resource using the Azure portal, clear the checkbox next to the correct Virtual Machine. 完全拡張機能では、自動バックアップ、パッチ適用、高度なポータル管理などの機能がサポートされます。The full extension supports features such as automated backup, patching, and advanced portal management. エージェントを軽量管理モードで再インストールすると、これらの機能は SQL VM で動作しなくなります。These features will not work for SQL VMs after the agent is reinstalled in lightweight management mode.

必要なものWhat to have

この記事の手順を完了するには、次のものが必要です。Before you complete the steps in this article, you should already have:

  • Microsoft Azure サブスクリプションが必要です。A Microsoft Azure subscription.
  • Azure Virtual Machines 上の Windows ドメイン。A Windows domain on Azure virtual machines.
  • Azure の仮想マシンと Active Directory の両方にオブジェクトを作成するためのアクセス許可を持つアカウント。An account that has permissions to create objects on both Azure virtual machines and in Active Directory.
  • 次のコンポーネント用の十分な IP アドレス空間を持つ Azure 仮想ネットワークとサブネット。An Azure virtual network and subnet with enough IP address space for these components:
    • 両方の仮想マシン。Both virtual machines.
    • フェールオーバー クラスターの IP アドレス。The failover cluster IP address.
    • 各 FCI の IP アドレス。An IP address for each FCI.
  • Azure ネットワーク上で構成された、ドメイン コントローラーを指す DNS。DNS configured on the Azure network, pointing to the domain controllers.

これらの前提条件が整ったら、フェールオーバー クラスターの構築を開始できます。With these prerequisites in place, you can start building your failover cluster. 最初の手順で、仮想マシンを作成します。The first step is to create the virtual machines.

手順 1:仮想マシンの作成Step 1: Create the virtual machines

  1. サブスクリプションで Azure portal にサインインします。Sign in to the Azure portal with your subscription.

  2. Azure 可用性セットを作成しますCreate an Azure availability set.

    可用性セットを利用すると、障害ドメインと更新ドメインの仮想マシンがグループ化されます。The availability set groups virtual machines across fault domains and update domains. これにより、アプリケーションがネットワーク スイッチ、サーバーのラックの電源装置など、単一障害点の影響を受けないようにすることができます。It ensures your application isn't affected by single points of failure, like the network switch or the power unit of a rack of servers.

    仮想マシンのリソース グループを作成していない場合、これは Azure 可用性セットの作成時に行います。If you haven't created the resource group for your virtual machines, do it when you create an Azure availability set. 可用性セットの作成に Azure Portal を使用する場合は、次の手順を実行します。If you're using the Azure portal to create the availability set, take these steps:

    1. Azure portal で、 [リソースの作成] を選択して Azure Marketplace を開きます。In the Azure portal, select Create a resource to open the Azure Marketplace. "可用性セット" を検索します。Search for Availability set.
    2. [可用性セット] を選択します。Select Availability Set.
    3. 作成 を選択します。Select Create.
    4. [可用性セットの作成] で、次の値を指定します。Under Create availability set, provide these values:
      • Name:可用性セットの名前。Name: A name for the availability set.
      • サブスクリプション:Azure サブスクリプション。Subscription: Your Azure subscription.
      • [リソース グループ] :既存のグループを使用する場合は、 [既存のものを選択] をクリックし、リストからグループを選択します。Resource group: If you want to use an existing group, click Select existing and then select the group from the list. または、 [新規作成] を選択し、グループの名前を入力します。Otherwise, select Create new and enter a name for the group.
      • [場所] :仮想マシンを作成する予定の場所を設定します。Location: Set the location where you plan to create your virtual machines.
      • [障害ドメイン] : 既定値 (3) を使用します。Fault domains: Use the default (3).
      • [更新ドメイン] : 既定値 (5) を使用します。Update domains: Use the default (5).
    5. [作成] を選択して可用性セットを作成します。Select Create to create the availability set.
  3. 可用性セット内に仮想マシンを作成します。Create the virtual machines in the availability set.

    Azure 可用性セット内に 2 つの SQL Server 仮想マシンをプロビジョニングします。Provision two SQL Server virtual machines in the Azure availability set. 手順については、「Azure Portal での SQL Server 仮想マシンのプロビジョニング」を参照してください。For instructions, see Provision a SQL Server virtual machine in the Azure portal.

    両方の仮想マシンを配置します。Place both virtual machines:

    • 可用性セットと同じ Azure リソース グループ内。In the same Azure resource group as your availability set.

    • ドメイン コントローラーと同じネットワーク内。On the same network as your domain controller.

    • 両方の仮想マシン、およびこのクラスター上で最終的に使用するすべての FCI 用に十分な IP アドレス空間を持つサブネット内。On a subnet that has enough IP address space for both virtual machines and all FCIs that you might eventually use on the cluster.

    • Azure 可用性セット内。In the Azure availability set.

      重要

      仮想マシンを作成した後に可用性セットを設定または変更することはできません。You can't set or change the availability set after you've created a virtual machine.

    Azure Marketplace からイメージを選択します。Choose an image from Azure Marketplace. Windows Server と SQL Server、または Windows Server だけを含む Azure Marketplace イメージを使用できます。You can use an Azure Marketplace image that includes Windows Server and SQL Server, or use one that just includes Windows Server. 詳細については、「Azure Virtual Machines における SQL Server の概要」に関する記事を参照してください。For details, see Overview of SQL Server on Azure virtual machines.

    Azure ギャラリーの SQL Server の公式イメージには、インストール済みの SQL Server インスタンス、SQL Server のインストール ソフトウェア、必要なキーが含まれます。The official SQL Server images in the Azure Gallery include an installed SQL Server instance, the SQL Server installation software, and the required key.

    SQL Server ライセンスのご希望の課金方法に基づき、適切なイメージを選択します。Choose the right image, based on how you want to pay for the SQL Server license:

    • 従量課金制ライセンスPay-per-usage licensing. これらのイメージの 1 秒あたりのコストには、SQL Server ライセンスが含まれます。The per-second cost of these images includes the SQL Server licensing:

      • SQL Server 2016 Enterprise on Windows Server 2016 DatacenterSQL Server 2016 Enterprise on Windows Server 2016 Datacenter
      • SQL Server 2016 Standard on Windows Server 2016 DatacenterSQL Server 2016 Standard on Windows Server 2016 Datacenter
      • SQL Server 2016 Developer on Windows Server 2016 DatacenterSQL Server 2016 Developer on Windows Server 2016 Datacenter
    • ライセンス持ち込み (BYOL)Bring-your-own-license (BYOL)

      • (BYOL) SQL Server 2016 Enterprise on Windows Server 2016 Datacenter(BYOL) SQL Server 2016 Enterprise on Windows Server 2016 Datacenter
      • (BYOL) SQL Server 2016 Standard on Windows Server 2016 Datacenter(BYOL) SQL Server 2016 Standard on Windows Server 2016 Datacenter

    重要

    仮想マシンを作成した後、事前にインストールされていたスタンドアロンの SQL Server インスタンスを削除します。After you create the virtual machine, remove the pre-installed standalone SQL Server instance. フェールオーバー クラスターと記憶域スペース ダイレクトを設定したら、プレインストールされた SQL Server メディアを使用して SQL Server FCI を作成します。You'll use the pre-installed SQL Server media to create the SQL Server FCI after you set up the failover cluster and Storage Spaces Direct.

    または、オペレーティング システムだけを含む Azure Marketplace イメージを使用することができます。Alternatively, you can use Azure Marketplace images that contain just the operating system. フェールオーバー クラスターと記憶域スペース ダイレクトの設定後、Windows Server 2016 Datacenter イメージを選択し、SQL Server FCI をインストールします。Choose a Windows Server 2016 Datacenter image and install the SQL Server FCI after you set up the failover cluster and Storage Spaces Direct. このイメージには、SQL Server インストール メディアは含まれません。This image doesn't contain SQL Server installation media. 各サーバーに対して実行できる場所に、SQL Server インストール メディアを配置します。Place the SQL Server installation media in a location where you can run it for each server.

  4. Azure で仮想マシンが作成されたら、RDP で各仮想マシンに接続します。After Azure creates your virtual machines, connect to each one by using RDP.

    RDP を使用して最初に仮想マシンに接続する際、この PC をネットワーク上で検出可能にするかどうかを確認するメッセージが表示されます。When you first connect to a virtual machine by using RDP, a prompt asks you if you want to allow the PC to be discoverable on the network. [はい] を選択します。Select Yes.

  5. SQL Server ベースの仮想マシン イメージの 1 つを使用している場合は、SQL Server インスタンスを削除します。If you're using one of the SQL Server-based virtual machine images, remove the SQL Server instance.

    1. [プログラムと機能][Microsoft SQL Server 2016 (64 ビット)] を右クリックし、 [アンインストールと変更] を選択します。In Programs and Features, right-click Microsoft SQL Server 2016 (64-bit) and select Uninstall/Change.

    2. [削除] を選択します。Select Remove.

    3. 既定のインスタンスを選択します。Select the default instance.

    4. [データベース エンジン サービス] のすべての機能を削除します。Remove all features under Database Engine Services. [共有機能] は削除しないでください。Don't remove Shared Features. 次のスクリーンショットのように表示されます。You'll see something like the following screenshot:

      機能を選択する

    5. [次へ][削除] の順に選択します。Select Next, and then select Remove.

  6. ファイアウォール ポートを開きます。Open the firewall ports.

    各仮想マシンで、Windows ファイアウォールの次のポートを開きます。On each virtual machine, open these ports on the Windows Firewall:

    目的Purpose TCP ポートTCP port メモNotes
    SQL ServerSQL Server 14331433 SQL Server の既定のインスタンスの通常のポートです。Normal port for default instances of SQL Server. ギャラリーからイメージを使用した場合、このポートが自動的に開きます。If you used an image from the gallery, this port is automatically opened.
    正常性プローブHealth probe 5999959999 開いている任意の TCP ポートです。Any open TCP port. 後の手順で、このポートを使用するようにロード バランサーの正常性プローブとクラスターを構成します。In a later step, configure the load balancer health probe and the cluster to use this port.
  7. 仮想マシンにストレージを追加します。Add storage to the virtual machine. 詳細については、ストレージの追加に関するページを参照してください。For detailed information, see add storage.

    両方の仮想マシンに、少なくとも 2 つのデータ ディスクが必要です。Both virtual machines need at least two data disks.

    NTFS でフォーマットされたディスクではなく、フォーマットされていないディスクを接続します。Attach raw disks, not NTFS-formatted disks.

    注意

    NTFS でフォーマットされたディスクを接続する場合、ディスクの適格性チェックをしない記憶域スペース ダイレクトしか有効にできません。If you attach NTFS-formatted disks, you can enable Storage Spaces Direct only without a disk eligibility check.

    最小で 2 つの Premium SSD を各 VM に接続します。Attach a minimum of two premium SSDs to each VM. 少なくとも P30 (1 TB) のディスクをお勧めします。We recommend at least P30 (1-TB) disks.

    [ホスト キャッシュ] を [読み取り専用] に設定します。Set host caching to Read-only.

    運用環境で使用するストレージ容量はワークロードによって異なります。The storage capacity you use in production environments depends on your workload. この記事で説明されている値は、デモおよびテスト用です。The values described in this article are for demonstration and testing.

  8. 既存のドメインに仮想マシンを追加しますAdd the virtual machines to your pre-existing domain.

仮想マシンを作成して構成したら、フェールオーバー クラスターを設定できます。After you create and configure the virtual machines, you can set up the failover cluster.

手順 2:記憶域スペース ダイレクトが有効な Windows Server フェールオーバー クラスターを構成するStep 2: Configure the Windows Server Failover Cluster with Storage Spaces Direct

次に、記憶域スペース ダイレクトが有効なフェールオーバー クラスターを構成します。The next step is to configure the failover cluster with Storage Spaces Direct. この手順では、以下のサブ手順を実行します。In this step, you'll complete these substeps:

  1. Windows Server フェールオーバー クラスタリング機能を追加する。Add the Windows Server Failover Clustering feature.
  2. クラスターを検証する。Validate the cluster.
  3. フェールオーバー クラスターを作成する。Create the failover cluster.
  4. クラウド監視を作成する。Create the cloud witness.
  5. ストレージを追加する。Add storage.

Windows Server フェールオーバー クラスタリングを追加するAdd Windows Server Failover Clustering

  1. ローカル管理者のメンバーであり、かつ Active Directory でオブジェクトを作成するアクセス許可を持つドメイン アカウントを使用して、RDP で最初の仮想マシンに接続する。Connect to the first virtual machine with RDP by using a domain account that's a member of the local administrators and that has permission to create objects in Active Directory. このアカウントを使用して、構成を進めます。Use this account for the rest of the configuration.

  2. 各仮想マシンにフェールオーバー クラスタリングを追加しますAdd Failover Clustering to each virtual machine.

    UI からフェールオーバー クラスタリングをインストールするには、両方の仮想マシンで次の手順を実行します。To install Failover Clustering from the UI, take these steps on both virtual machines:

    1. [サーバー マネージャー] で、 [管理][役割と機能の追加] の順に選択します。In Server Manager, select Manage, and then select Add Roles and Features.
    2. [役割と機能の追加ウィザード] で、 [機能の選択] ページが表示されるまで [次へ] を選択します。In the Add Roles and Features Wizard, select Next until you get to Select Features.
    3. [機能の選択][フェールオーバー クラスタリング] を選択します。In Select Features, select Failover Clustering. 必要なすべての機能と管理ツールを含めます。Include all required features and the management tools. [機能の追加] を選択します。Select Add Features.
    4. [次へ] を選択し、 [完了] を選択して、機能をインストールします。Select Next, and then select Finish to install the features.

    PowerShell を使用してフェールオーバー クラスタリングをインストールするには、いずれかの仮想マシン上の管理者 PowerShell セッションから次のスクリプトを実行します。To install Failover Clustering by using PowerShell, run the following script from an administrator PowerShell session on one of the virtual machines:

    $nodes = ("<node1>","<node2>")
    Invoke-Command  $nodes {Install-WindowsFeature Failover-Clustering -IncludeAllSubFeature -IncludeManagementTools}
    

次の手順の詳しい参考資料については、「Windows Server 2016 で記憶域スペース ダイレクトを使用するハイパーコンバージド ソリューション」の手順 3. の説明を参照してください。For further reference about the next steps, see the instructions under Step 3 of Hyper-converged solution using Storage Spaces Direct in Windows Server 2016.

クラスターを検証するValidate the cluster

UI または PowerShell を使用して、クラスターを検証します。Validate the cluster in the UI or by using PowerShell.

UI を使用してクラスターを検証するには、いずれかの仮想マシンから次の手順を実行します。To validate the cluster by using the UI, take the following steps on one of the virtual machines:

  1. [サーバー マネージャー] で、 [ツール] を選択し、 [フェールオーバー クラスター マネージャー] を選択します。Under Server Manager, select Tools, and then select Failover Cluster Manager.

  2. [フェールオーバー クラスター マネージャー] で、 [操作] を選択し、 [構成の検証] を選択します。Under Failover Cluster Manager, select Action, and then select Validate Configuration.

  3. [次へ] を選択します。Select Next.

  4. [サーバーまたはクラスターの選択] で、両方の仮想マシンの名前を入力します。Under Select Servers or a Cluster, enter the names of both virtual machines.

  5. [テスト オプション] で、 [選択するテストのみを実行する] を選択します。Under Testing options, select Run only tests I select. [次へ] を選択します。Select Next.

  6. 次に示すように、 [テストの選択] で、 [ストレージ] を除くすべてのテストを選択します。Under Test Selection, select all tests except for Storage, as shown here:

    クラスター検証テストを選択する

  7. [次へ] を選択します。Select Next.

  8. [確認] で、 [次へ] を選択します。Under Confirmation, select Next.

構成の検証ウィザードにより、検証テストが実行されます。The Validate a Configuration Wizard runs the validation tests.

PowerShell を使用してクラスターを検証するには、いずれかの仮想マシンの管理者 PowerShell セッションから次のスクリプトを実行します。To validate the cluster by using PowerShell, run the following script from an administrator PowerShell session on one of the virtual machines:

Test-Cluster –Node ("<node1>","<node2>") –Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"

クラスターの検証後、フェールオーバー クラスターを作成します。After you validate the cluster, create the failover cluster.

フェールオーバー クラスターを作成するCreate the failover cluster

フェールオーバー クラスターを作成するには、以下が必要です。To create the failover cluster, you need:

  • クラスター ノードになる仮想マシンの名前。The names of the virtual machines that will become the cluster nodes.
  • フェールオーバー クラスターの名前。A name for the failover cluster
  • フェールオーバー クラスターの IP アドレス。An IP address for the failover cluster. クラスター ノードと同じ Azure 仮想ネットワークおよびサブネットでは使用されていない IP アドレスを使用することができます。You can use an IP address that's not used on the same Azure virtual network and subnet as the cluster nodes.

Windows server 2008 から Windows Server 2016Windows Server 2008 through Windows Server 2016

次の PowerShell スクリプトは、Windows Server 2008 から Windows Server 2016 用のフェールオーバー クラスターを作成します。The following PowerShell script creates a failover cluster for Windows Server 2008 through Windows Server 2016. ノード名 (仮想マシン名) と、Azure VNET の使用可能な IP アドレスでスクリプトを更新してください。Update the script with the names of the nodes (the virtual machine names) and an available IP address from the Azure virtual network.

New-Cluster -Name <FailoverCluster-Name> -Node ("<node1>","<node2>") –StaticAddress <n.n.n.n> -NoStorage

Windows Server 2019Windows Server 2019

次の PowerShell スクリプトは、Windows Server 2019 用のフェールオーバー クラスターを作成します。The following PowerShell script creates a failover cluster for Windows Server 2019. 詳細については、「フェールオーバー クラスター:クラスター ネットワーク オブジェクト」に関するセクションを確認してください。For more information, see Failover cluster: Cluster Network Object. ノード名 (仮想マシン名) と、Azure VNET の使用可能な IP アドレスでスクリプトを更新してください。Update the script with the names of the nodes (the virtual machine names) and an available IP address from the Azure virtual network.

New-Cluster -Name <FailoverCluster-Name> -Node ("<node1>","<node2>") –StaticAddress <n.n.n.n> -NoStorage -ManagementPointNetworkType Singleton 

クラウド監視を作成するCreate a cloud witness

クラウド監視とは、Azure Storage Blob に格納されている、新しい種類のクラスター クォーラム監視です。Cloud Witness is a new type of cluster quorum witness that's stored in an Azure storage blob. これにより、監視共有をホストする別個の VM が不要になります。This removes the need for a separate VM that hosts a witness share.

  1. フェールオーバー クラスターのクラウド監視を作成します。Create a cloud witness for the failover cluster.

  2. BLOB コンテナーを作成します。Create a blob container.

  3. アクセス キーと、コンテナーの URL を保存します。Save the access keys and the container URL.

  4. フェールオーバー クラスターのクォーラム監視を構成します。Configure the failover cluster quorum witness. ユーザー インターフェイスでクォーラム監視を構成する方法」に関するページを参照してください。See Configure the quorum witness in the user interface.

ストレージを追加するAdd storage

記憶域スペース ダイレクト用のディスクは空にする必要があります。The disks for Storage Spaces Direct need to be empty. パーティションまたはその他のデータを含めることはできません。They can't contain partitions or other data. ディスクを消去するには、このガイドの手順に従います。To clean the disks, follow the steps in this guide.

  1. 記憶域スペース ダイレクトを有効化しますEnable Store Spaces Direct.

    次の PowerShell スクリプトを実行すると、記憶域スペース ダイレクトが有効化されます。The following PowerShell script enables Storage Spaces Direct:

    Enable-ClusterS2D
    

    [フェールオーバー クラスター マネージャー] に、記憶域プールが表示されるようになります。In Failover Cluster Manager, you can now see the storage pool.

  2. ボリュームを作成しますCreate a volume.

    記憶域スペース ダイレクトは、記憶域プールをユーザーが有効化した場合に、記憶域プールを自動的に作成します。Storage Spaces Direct automatically creates a storage pool when you enable it. これでボリュームを作成する準備が整いました。You're now ready to create a volume. PowerShell コマンドレット New-Volume は、ボリュームの作成プロセスを自動化します。The PowerShell cmdlet New-Volume automates the volume creation process. このプロセスには、書式設定、クラスターへのボリュームの追加、およびクラスターの共有ボリューム (CSV) の作成が含まれます。This process includes formatting, adding the volume to the cluster, and creating a Cluster Shared Volume (CSV). 次の例では、800 ギガバイト (GB) の CSV を作成します。This example creates an 800-gigabyte (GB) CSV:

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName VDisk01 -FileSystem CSVFS_REFS -Size 800GB
    

    このコマンドが完了すると、800 GB のボリュームがクラスター リソースとしてマウントされます。After this command completes, an 800-GB volume is mounted as a cluster resource. ボリュームは C:\ClusterStorage\Volume1\ にあります。The volume is at C:\ClusterStorage\Volume1\.

    このスクリーンショットは、記憶域スペース ダイレクトが有効なクラスターの共有ボリュームを示しています。This screenshot shows a Cluster Shared Volume with Storage Spaces Direct:

    クラスターの共有ボリューム

手順 3:クラスター フェールオーバーのテスト フェールオーバーを実行するStep 3: Test failover cluster failover

フェールオーバー クラスター マネージャーで、ストレージ リソースを他のクラスター ノードに移動できることを確認します。In Failover Cluster Manager, verify that you can move the storage resource to the other cluster node. フェールオーバー クラスター マネージャーを使用してフェールオーバー クラスターに接続し、ノード間でストレージを移動できれば、FCI を構成することができます。If you can connect to the failover cluster by using Failover Cluster Manager and move the storage from one node to the other, you're ready to configure the FCI.

手順 4:SQL Server FCI を作成するStep 4: Create the SQL Server FCI

フェールオーバー クラスターと、ストレージを含むすべてのクラスター コンポーネントを構成したら、SQL Server FCI を作成できます。After you've configured the failover cluster and all cluster components, including storage, you can create the SQL Server FCI.

  1. RDP を使用して最初の仮想マシンに接続します。Connect to the first virtual machine by using RDP.

  2. フェールオーバー クラスター マネージャーで、すべてのコア クラスター リソースが最初の仮想マシン上にあることを確認します。In Failover Cluster Manager, make sure all Core Cluster Resources are on the first virtual machine. 必要に応じて、すべてのリソースをこの仮想マシンに移動します。If necessary, move all resources to that virtual machine.

  3. インストール メディアを探します。Locate the installation media. 仮想マシンでいずれかの Azure Marketplace イメージが使用されている場合、メディアは C:\SQLServer_<version number>_Full にあります。If the virtual machine uses one of the Azure Marketplace images, the media is located at C:\SQLServer_<version number>_Full. [Setup](セットアップ) を選択します。Select Setup.

  4. [SQL Server インストール センター] で、 [インストール] を選択します。In SQL Server Installation Center, select Installation.

  5. [SQL Server フェールオーバー クラスターの新規インストール] を選択します。Select New SQL Server failover cluster installation. ウィザードの指示に従って、SQL Server FCI をインストールします。Follow the instructions in the wizard to install the SQL Server FCI.

    FCI のデータ ディレクトリは、クラスター化されたストレージ上にある必要があります。The FCI data directories need to be on clustered storage. 記憶域スペース ダイレクトでは、これは共有ディスクではなく、各サーバー上のボリュームのマウント ポイントです。With Storage Spaces Direct, it's not a shared disk, but a mount point to a volume on each server. 記憶域スペース ダイレクトは、両方のノード間でボリュームを同期します。Storage Spaces Direct synchronizes the volume between both nodes. ボリュームは、クラスターの共有ボリュームとしてクラスターに表示されます。The volume is presented to the cluster as a Cluster Shared Volume. データ ディレクトリとして CSV のマウント ポイントを使用します。Use the CSV mount point for the data directories.

    データ ディレクトリ

  6. ウィザードの手順を完了すると、セットアップにより、SQL Server FCI が最初のノードにインストールされます。After you complete the instructions in the wizard, Setup will install a SQL Server FCI on the first node.

  7. セットアップで FCI が最初のノードにインストールされたら、RDP を使用して 2 番目のノードに接続します。After Setup installs the FCI on the first node, connect to the second node by using RDP.

  8. [SQL Server インストール センター] を開きます。Open the SQL Server Installation Center. [インストール] を選択します。Select Installation.

  9. [SQL Server フェールオーバー クラスターにノードを追加] を選択します。Select Add node to a SQL Server failover cluster. ウィザードの指示に従って SQL Server をインストールし、このサーバーを FCI に追加します。Follow the instructions in the wizard to install SQL Server and add the server to the FCI.

    注意

    SQL Server を含む Azure Marketplace ギャラリー イメージを使用した場合、SQL Server のツールはイメージに含まれています。If you used an Azure Marketplace gallery image that contains SQL Server, SQL Server tools were included with the image. これらのいずれかのイメージを使用しなかった場合、SQL Server のツールは別途インストールしてください。If you didn't use one of those images, install the SQL Server tools separately. SQL Server Management Studio (SSMS) のダウンロード」を参照してください。See Download SQL Server Management Studio (SSMS).

手順 5:Azure ロード バランサーを作成するStep 5: Create the Azure load balancer

Azure 仮想マシンでは、クラスターは、一度に 1 つのクラスター ノードに存在する必要がある IP アドレスを保持するためにロード バランサーを使用します。On Azure virtual machines, clusters use a load balancer to hold an IP address that needs to be on one cluster node at a time. このソリューションでは、ロード バランサーは SQL Server FCI の IP アドレスを保持します。In this solution, the load balancer holds the IP address for the SQL Server FCI.

詳細については、「Azure のロード バランサーの作成と構成」に関する記事を参照してください。For more information, see Create and configure an Azure load balancer.

Azure Portal でロード バランサーを作成するCreate the load balancer in the Azure portal

ロード バランサーを作成するには、次の手順を実行します。To create the load balancer:

  1. Azure Portal で、仮想マシンが含まれているリソース グループに移動します。In the Azure portal, go to the resource group that contains the virtual machines.

  2. [追加] を選択します。Select Add. Azure Marketplace で "ロード バランサー" を検索します。Search the Azure Marketplace for Load Balancer. [ロード バランサー] を選択します。Select Load Balancer.

  3. 作成 を選択します。Select Create.

  4. 次の項目を入力して、ロード バランサーを構成します。Configure the load balancer with:

    • サブスクリプション:Azure サブスクリプション。Subscription: Your Azure subscription.
    • [リソース グループ] :仮想マシンが含まれているリソース グループ。Resource group: The resource group that contains your virtual machines.
    • Name:ロード バランサーを識別する名前。Name: A name that identifies the load balancer.
    • [リージョン] :仮想マシンが含まれている Azure の場所。Region: The Azure location that contains your virtual machines.
    • [種類] :パブリックまたはプライベート。Type: Either public or private. プライベート ロード バランサーには、同じ仮想ネットワーク内からアクセスできます。A private load balancer can be accessed from within the virtual network. プライベート ロード バランサーは、ほとんどの Azure アプリケーションで使用できます。Most Azure applications can use a private load balancer. アプリケーションがインターネット経由で直接 SQL Server にアクセスする必要がある場合は、パブリック ロード バランサーを使用します。If your application needs access to SQL Server directly over the internet, use a public load balancer.
    • SKU:Standard。SKU: Standard.
    • 仮想ネットワーク:仮想マシンと同じネットワーク。Virtual network: The same network as the virtual machines.
    • [IP アドレスの割り当て] :静的。IP address assignment: Static.
    • [プライベート IP アドレス] :SQL Server FCI クラスターのネットワーク リソースに割り当てた IP アドレス。Private IP address: The IP address that you assigned to the SQL Server FCI cluster network resource.

次のスクリーンショットは [ロード バランサーの作成] の UI を示しています。The following screenshot shows the Create load balancer UI:

ロードバランサーを設定する

ロード バランサーのバックエンド プールを構成するConfigure the load balancer backend pool

  1. 仮想マシンが含まれている Azure リソース グループに戻り、新しいロード バランサーを探します。Return to the Azure resource group that contains the virtual machines and locate the new load balancer. リソース グループの表示を更新することが必要な場合もあります。You might need to refresh the view on the resource group. ロード バランサーを選択します。Select the load balancer.

  2. [バックエンド プール] を選択し、 [追加] を選択します。Select Backend pools, and then select Add.

  3. VM を含む可用性セットにバックエンド プールを関連付けます。Associate the backend pool with the availability set that contains the VMs.

  4. [ターゲット ネットワーク IP 構成] で、 [仮想マシン] を選択し、クラスター ノードとして参加する仮想マシンを選びます。Under Target network IP configurations, select VIRTUAL MACHINE and choose the virtual machines that will participate as cluster nodes. 必ず、FCI をホストするすべての仮想マシンを含めます。Be sure to include all virtual machines that will host the FCI.

  5. [OK] を選択して、バックエンド プールを作成します。Select OK to create the backend pool.

ロード バランサーの正常性プローブを構成するConfigure a load balancer health probe

  1. [ロード バランサー] ブレードで [正常性プローブ] を選択します。On the load balancer blade, select Health probes.

  2. [追加] を選択します。Select Add.

  3. [正常性プローブの追加] ブレードで、正常性プローブのパラメーターを設定します。On the Add health probe blade, set the health probe parameters.

    • Name:正常性プローブの名前。Name: A name for the health probe.
    • プロトコル:TCPProtocol: TCP.
    • ポート:こちらの手順で正常性プローブ用にファイアウォールで作成したポートに設定します。Port: Set to the port you created in the firewall for the health probe in this step. この記事の例では、TCP ポート 59999 を使用します。In this article, the example uses TCP port 59999.
    • 間隔: 5 秒Interval: 5 Seconds.
    • [異常のしきい値] : 連続エラー数 2。Unhealthy threshold: 2 consecutive failures.
  4. [OK] を選択します。Select OK.

負荷分散規則を設定するSet load balancing rules

  1. [ロード バランサー] ブレードで、 [負荷分散規則] を選択します。On the load balancer blade, select Load balancing rules.

  2. [追加] を選択します。Select Add.

  3. 次のように負荷分散規則のパラメーターを設定します。Set the load balancing rule parameters:

    • Name:負荷分散規則の名前。Name: A name for the load balancing rules.
    • [フロントエンド IP アドレス] : SQL Server FCI クラスターのネットワーク リソースの IP アドレス。Frontend IP address: The IP address for the SQL Server FCI cluster network resource.
    • ポート:SQL Server FCI の TCP ポート。Port: The SQL Server FCI TCP port. 既定のインスタンス ポートは 1433 です。The default instance port is 1433.
    • [バックエンド ポート] : [フローティング IP (ダイレクト サーバー リターン)] を有効にしたときの [ポート] の値と同じポートを使用します。Backend port: Uses the same port as the Port value when you enable Floating IP (direct server return).
    • [バックエンド プール] : 先ほど構成したバックエンド プール名。Backend pool: The backend pool name that you configured earlier.
    • [正常性プローブ] : 先ほど構成した正常性プローブ。Health probe: The health probe that you configured earlier.
    • [セッション永続化] : [なし] :Session persistence: None.
    • [アイドル タイムアウト (分)] : 4.Idle timeout (minutes): 4.
    • [フローティング IP](ダイレクト サーバー リターン) : 有効。Floating IP (direct server return): Enabled.
  4. [OK] を選択します。Select OK.

手順 6:プローブのクラスターを構成するStep 6: Configure the cluster for the probe

PowerShell でクラスターのプローブ ポート パラメーターを設定します。Set the cluster probe port parameter in PowerShell.

クラスターのプローブ ポート パラメーターを設定するには、使用環境の値を使用して、次のスクリプトで変数を更新します。To set the cluster probe port parameter, update the variables in the following script with values from your environment. スクリプトから山かっこ (< および >) を削除します。Remove the angle brackets (< and >) from the script.

$ClusterNetworkName = "<Cluster Network Name>"
$IPResourceName = "<SQL Server FCI IP Address Resource Name>" 
$ILBIP = "<n.n.n.n>" 
[int]$ProbePort = <nnnnn>

Import-Module FailoverClusters

Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}

次の一覧では、更新する必要がある値について説明します。The following list describes the values that you need to update:

  • <Cluster Network Name>:ネットワークの Windows Server フェールオーバー クラスターの名前。<Cluster Network Name>: The Windows Server Failover Cluster name for the network. [フェールオーバー クラスター マネージャー] > [ネットワーク] で、ネットワークを右クリックして [プロパティ] を選択します。In Failover Cluster Manager > Networks, right-click the network and select Properties. 正しい値は [全般] タブの [名前] にあります。The correct value is under Name on the General tab.

  • <SQL Server FCI IP Address Resource Name>:SQL Server FCI IP アドレス リソースの名前。<SQL Server FCI IP Address Resource Name>: The SQL Server FCI IP address resource name. [フェールオーバー クラスター マネージャー] > [Roles](ロール) で、SQL Server FCI ロールの [サーバー名] の下にある IP アドレス リソースを右クリックして [プロパティ] を選択します。In Failover Cluster Manager > Roles, under the SQL Server FCI role, under Server Name, right-click the IP address resource and select Properties. 正しい値は [全般] タブの [名前] にあります。The correct value is under Name on the General tab.

  • <ILBIP>:ILB の IP アドレス。<ILBIP>: The ILB IP address. このアドレスは、ILB のフロント エンド アドレスとして Azure Portal で構成されます。This address is configured in the Azure portal as the ILB front-end address. これは、SQL Server FCI の IP アドレスでもあります。This is also the SQL Server FCI IP address. [フェールオーバー クラスター マネージャー]<SQL Server FCI IP Address Resource Name> がある同じプロパティ ページで見つけることができます。You can find it in Failover Cluster Manager on the same properties page where you located the <SQL Server FCI IP Address Resource Name>.

  • <nnnnn>:ロード バランサーの正常性プローブで構成したプローブ ポート。<nnnnn>: The probe port you configured in the load balancer health probe. 未使用の TCP ポートが有効です。Any unused TCP port is valid.

重要

クラスター パラメーターのサブネット マスクは、TCP IP ブロードキャスト アドレス (255.255.255.255) である必要があります。The subnet mask for the cluster parameter must be the TCP IP broadcast address: 255.255.255.255.

クラスターのプローブを設定したら、PowerShell ですべてのクラスター パラメーターを確認できます。After you set the cluster probe, you can see all the cluster parameters in PowerShell. このスクリプトを実行します。Run this script:

Get-ClusterResource $IPResourceName | Get-ClusterParameter 

手順 7:FCI フェールオーバーをテストするStep 7: Test FCI failover

FCI のフェールオーバーをテストして、クラスターの機能を検証します。Test failover of the FCI to validate cluster functionality. 次の手順を実行します。Take the following steps:

  1. SQL Server FCI クラスターのノードの 1 つに RDP を使用して接続します。Connect to one of the SQL Server FCI cluster nodes by using RDP.

  2. フェールオーバー クラスター マネージャーを開きます。Open Failover Cluster Manager. [役割] を選びます。Select Roles. SQL Server FCI ロールを所有しているノードを確認します。Notice which node owns the SQL Server FCI role.

  3. SQL Server FCI ロールを右クリックします。Right-click the SQL Server FCI role.

  4. [移動] を選択し、 [最適なノード] を選択します。Select Move, and then select Best Possible Node.

フェールオーバー クラスター マネージャーで、ロールとそのリソースがオフラインになったことが示されます。Failover Cluster Manager shows the role, and its resources go offline. リソースは移動し、もう一方のノードでオンラインになります。The resources then move and come online on the other node.

接続をテストするTest connectivity

接続をテストするには、同じ仮想ネットワーク内の別の仮想マシンにサインインします。To test connectivity, sign in to another virtual machine in the same virtual network. SQL Server Management Studio を開き、SQL Server FCI 名に接続します。Open SQL Server Management Studio and connect to the SQL Server FCI name.

注意

必要に応じて、SQL Server Management Studio をダウンロードできます。If you need to, you can download SQL Server Management Studio.

制限事項Limitations

Azure Virtual Machines では、クラスター共有ボリューム (CSV) および Standard Load Balancer 上のストレージを備えた Windows Server 2019 で、 Microsoft 分散トランザクション コーディネーター (MSDTC) をサポートします。Azure virtual machines support Microsoft Distributed Transaction Coordinator (MSDTC) on Windows Server 2019 with storage on Clustered Shared Volumes (CSV) and a standard load balancer.

Azure Virtual Machines では、次の理由から、MSDTC は Windows Server 2016 以前ではサポートされていません。On Azure virtual machines, MSDTC isn't supported on Windows Server 2016 or earlier because:

  • クラスター化された MSDTC リソースは、共有ストレージを使用するように構成することはできません。The clustered MSDTC resource can't be configured to use shared storage. Windows Server 2016 では、MSDTC リソースを作成した場合、ストレージが使用可能であっても、使用可能な共有ストレージは 1 つも表示されません。On Windows Server 2016, if you create an MSDTC resource, it won't show any shared storage available for use, even if storage is available. この問題は、Windows Server 2019 で修正済みです。This issue has been fixed in Windows Server 2019.
  • Basic Load Balance は、RPC ポートを処理しません。The basic load balancer doesn't handle RPC ports.

参照See also

リモート デスクトップ (Azure) を使用して記憶域スペース ダイレクトを設定するSet up Storage Spaces Direct with remote desktop (Azure)

記憶域スペース ダイレクトを使用するハイパーコンバージド ソリューションHyper-converged solution with Storage Spaces Direct

記憶域スペース ダイレクトの概要Storage Spaces Direct Overview

記憶域スペース ダイレクトの SQL Server サポートSQL Server support for Storage Spaces Direct