記憶域スペース ダイレクトで FCI を作成する (Azure VM 上の SQL Server)Create an FCI with Storage Spaces Direct (SQL Server on Azure VMs)

適用対象: Azure VM 上の SQL Server

この記事では、記憶域スペース ダイレクトを使用して、Azure Virtual Machines (VM) 上の SQL Server でフェールオーバー クラスター インスタンス (FCI) を作成する方法について説明します。This article explains how to create a failover cluster instance (FCI) by using Storage Spaces Direct with SQL Server on Azure Virtual Machines (VMs). 記憶域スペース ダイレクトは、Windows クラスター内のノード (Azure VM) 間でストレージ (データ ディスク) を同期するソフトウェア ベースの仮想記憶域ネットワーク (VSAN) として機能します。Storage Spaces Direct acts as a software-based virtual storage area network (VSAN) that synchronizes the storage (data disks) between the nodes (Azure VMs) in a Windows cluster.

詳細については、Azure VM 上の SQL Server を使用した FCI およびクラスターのベスト プラクティスの概要に関する記事をご覧ください。To learn more, see an overview of FCI with SQL Server on Azure VMs and cluster best practices.

概要Overview

記憶域スペース ダイレクト (S2D) では、コンバージド型とハイパーコンバージド型の 2 種類のアーキテクチャがサポートされています。Storage Spaces Direct (S2D) supports two types of architectures: converged and hyperconverged. ハイパーコンバージド インフラストラクチャでは、SQL Server FCI ノードごとにストレージが存在するように、クラスター化されたアプリケーションをホストしている同じサーバーにストレージが配置されます。A hyperconverged infrastructure places the storage on the same servers that host the clustered application, so that storage is on each SQL Server FCI node.

次の図では、Azure VM 上の SQL Server でハイパーコンバージド記憶域スペース ダイレクトを使用する完全なソリューションを示します。The following diagram shows the complete solution, which uses hyperconverged Storage Spaces Direct with SQL Server on Azure VMs:

ハイパーコンバージド記憶域スペース ダイレクトを使用する完全なソリューションの図

上の図では、次のリソースが同じリソース グループ内に示されています。The preceding diagram shows the following resources in the same resource group:

  • Windows Server フェールオーバー クラスター内の 2 つの仮想マシン。Two 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 でテンプレートから作成できます。You can create this entire solution in Azure from a template. テンプレートの例は、GitHub のAzure クイック スタート テンプレートのページから使用できます。An example of a template is available on the GitHub Azure quickstart templates page. この例は、特定のワークロード向けに設計およびテストされたものではありません。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.

前提条件Prerequisites

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

Windows クラスター機能を追加するAdd the Windows cluster feature

  1. ローカル管理者のメンバーであり、Active Directory でオブジェクトを作成するアクセス許可を持つドメイン アカウントで、リモート デスクトップ プロトコル (RDP) を使用して最初の仮想マシンに接続します。Connect to the first virtual machine by using Remote Desktop Protocol (RDP) with 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, do the following 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.
    4. [機能の追加] を選択します。Select Add Features .
    5. [次へ] を選択し、 [完了] を選択して、機能をインストールします。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}
    

次の手順の詳細については、「手順 3: 記憶域スペース ダイレクトを構成する」セクション (Windows Server 2016 で記憶域スペース ダイレクトを使用するハイパーコンバージド ソリューションに関する記事) の手順を参照してください。For more information about the next steps, see the instructions in the "Step 3: Configure Storage Spaces Direct" section of Hyperconverged 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, do the following 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 .

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

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

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

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

  9. [確認] で、 [次へ] を選択します。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 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.

次の PowerShell スクリプトは、Windows Server 2012 から Windows Server 2016 用のフェールオーバー クラスターを作成します。The following PowerShell script creates a failover cluster for Windows Server 2012 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

クォーラムを構成するConfigure quorum

ビジネス ニーズに最も適したクォーラム ソリューションを構成します。Configure the quorum solution that best suits your business needs. ディスク監視クラウド監視、またはファイル共有監視を構成できます。You can configure a Disk Witness, a Cloud Witness, or a File Share Witness. 詳細については、SQL Server VM でのクォーラムに関する記事をご覧ください。For more information, see Quorum with SQL Server VMs.

ストレージを追加する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 instructions in Deploy Storage Spaces Direct.

  1. 記憶域スペース ダイレクトを有効にしますEnable Storage 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 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 you've run the preceding command, an 800-GB volume is mounted as a cluster resource. ボリュームは C:\ClusterStorage\Volume1\ にあります。The volume is at C:\ClusterStorage\Volume1\.

    このスクリーンショットでは、記憶域スペース ダイレクトが有効な CSV が示されています。This screenshot shows a CSV with Storage Spaces Direct:

    記憶域スペース ダイレクトが有効なクラスター共有ボリュームのスクリーンショット

クラスターのフェールオーバーをテストするTest cluster failover

クラスターのフェールオーバーをテストします。Test the failover of your cluster. [フェールオーバー クラスター マネージャー] で、クラスターを右クリックし、 [その他の操作] > [コア クラスター リソースの移動] > [ノードの選択] の順に選択した後、クラスターの他のノードを選択します。In Failover Cluster Manager , right-click your cluster, select More Actions > Move Core Cluster Resource > Select node , and then select the other node of the cluster. コア クラスター リソースをクラスターのすべてのノードに移動してから、プライマリ ノードに戻します。Move the core cluster resource to every node of the cluster, and then move it back to the primary node. クラスターを各ノードに正常に移動できる場合は、SQL Server をインストールする準備ができています。If you can successfully move the cluster to each node, you're ready to install SQL Server.

コア リソースを他のノードに移動して、クラスター フェールオーバーをテストする

SQL Server FCI を作成するCreate 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. ボリュームは、CSV としてクラスターに表示されます。The volume is presented to the cluster as a CSV. データ ディレクトリとして CSV のマウント ポイントを使用します。Use the CSV mount point for the data directories.

    データ ディレクトリ

  6. ウィザードの手順を完了すると、セットアップにより、SQL Server FCI が最初のノードにインストールされます。After you complete the instructions in the wizard, Setup installs 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. 詳細については、「 Download SQL Server Management Studio (SSMS)」 (SQL Server Management Studio (SSMS) のダウンロード) を参照してください。For more information, see Download SQL Server Management Studio (SSMS).

SQL VM RP への登録Register with the SQL VM RP

ポータルから SQL Server VM を管理するには、それを軽量管理モードで SQL VM リソース プロバイダー (RP) に登録します。現時点では、FCI と Azure VM 上の SQL Server でサポートされている唯一のモードです。To manage your SQL Server VM from the portal, register it with the SQL VM resource provider (RP) in lightweight management mode, currently the only mode that's supported with FCI and SQL Server on Azure VMs.

PowerShell を使用して軽量モードで SQL Server VM を登録します。Register a SQL Server VM in lightweight mode with PowerShell:

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>
         
# Register SQL VM with 'Lightweight' SQL IaaS agent
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType PAYG -SqlManagementType LightWeight  

接続の構成Configure connectivity

現在のプライマリ ノードに適切にトラフィックをルーティングするには、お使いの環境に適した接続オプションを構成します。To route traffic appropriately to the current primary node, configure the connectivity option that's suitable for your environment. Azure Load Balancer を作成できます。あるいは、SQL Server 2019 CU2 (以降) と Windows Server 2016 (以降) を使用している場合、代わりに分散ネットワーク名機能を使用できます。You can create an Azure load balancer or, if you're using SQL Server 2019 CU2 (or later) and Windows Server 2016 (or later), you can use the distributed network name feature instead.

制限事項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 CSVs and a standard load balancer.
  • NTFS でフォーマットされたディスクとして接続されているディスクは、ストレージがクラスターに追加されるときに、ディスク適格性オプションがオフにされている場合にのみ、記憶域スペース ダイレクトで使用できます。Disks that have been attached as NTFS-formatted disks can be used with Storage Spaces Direct only if the disk eligibility option is unchecked, or cleared, when storage is being added to the cluster.
  • 軽量管理モードでの SQL VM リソース プロバイダーへの登録のみがサポートされています。Only registering with the SQL VM resource provider in lightweight management mode is supported.

次のステップNext steps

仮想ネットワーク名と Azure ロード バランサーまたは分散ネットワーク名 (DNN) を使用した FCI への接続をまだ構成していない場合は、構成してください。If you haven't already done so, configure connectivity to your FCI with a virtual network name and an Azure load balancer or distributed network name (DNN).

記憶域スペース ダイレクトがお客様に適した FCI ストレージ ソリューションでない場合は、代わりに Azure 共有ディスクまたは Premium ファイル共有を使用して FCI を作成することを検討してください。If Storage Spaces Direct isn't the appropriate FCI storage solution for you, consider creating your FCI by using Azure shared disks or Premium File Shares instead.

詳細については、Azure VM 上の SQL Server を使用した FCI およびクラスター構成のベスト プラクティスの概要に関する記事をご覧ください。To learn more, see an overview of FCI with SQL Server on Azure VMs and cluster configuration best practices.

詳細については、次を参照してください。For more information, see: