Azure マネージド ディスクの共有Share an Azure managed disk

Azure 共有ディスクは、マネージド ディスクを複数の仮想マシン (VM) に同時に接続できるようにする Azure マネージド ディスクの新機能です。Azure shared disks is a new feature for Azure managed disks that allows you to attach a managed disk to multiple virtual machines (VMs) simultaneously. マネージド ディスクを複数の VM に接続すると、新規にデプロイするか、既存のクラスター化されたアプリケーションを Azure に移行することができます。Attaching a managed disk to multiple VMs allows you to either deploy new or migrate existing clustered applications to Azure.

しくみHow it works

クラスター内の VM は、SCSI 永続的な予約 (SCSI PR) を使用するクラスター化アプリケーションによって選択された予約に基づいて、接続されたディスクに対して読み取りまたは書き込みを行うことができます。VMs in the cluster can read or write to their attached disk based on the reservation chosen by the clustered application using SCSI Persistent Reservations (SCSI PR). SCSI PR は、オンプレミスの記憶域ネットワーク (SAN) 上で実行されているアプリケーションによって利用される業界標準です。SCSI PR is an industry standard leveraged by applications running on Storage Area Network (SAN) on-premises. マネージド ディスクで SCSI PR を有効にすると、これらのアプリケーションを Azure にそのまま移行することができます。Enabling SCSI PR on a managed disk allows you to migrate these applications to Azure as-is.

マネージド ディスクを共有することで、共有ブロック ストレージに複数の VM からアクセスできます。VM は論理ユニット番号 (LUN) として公開されます。Shared managed disks offer shared block storage that can be accessed from multiple VMs, these are exposed as logical unit numbers (LUNs). その後 LUN は、ターゲット (ディスク) からイニシエーター (VM) に提示されます。LUNs are then presented to an initiator (VM) from a target (disk). これらの LUN は、VM からは直接接続ストレージ (DAS) やローカル ドライブのように見えます。These LUNs look like direct-attached-storage (DAS) or a local drive to the VM.

共有されたマネージド ディスクでは、SMB または NFS を使用してアクセスできるフル マネージドのファイルシステムをネイティブに提供していません。Shared managed disks do not natively offer a fully managed file system that can be accessed using SMB/NFS. Windows Server フェールオーバー クラスター (WSFC) や Pacemaker のような、クラスター ノードの通信と書き込みロックを処理するクラスター マネージャーを使用する必要があります。You need to use a cluster manager, like Windows Server Failover Cluster (WSFC) or Pacemaker, that handles cluster node communication and write locking.

制限事項Limitations

一部の種類のディスクでのみ、共有ディスクを有効にできます。Enabling shared disks is only available to a subset of disk types. 現在のところ、Ultra ディスクと Premium SSD のみで共有ディスクを有効にできます。Currently only ultra disks and premium SSDs can enable shared disks. 共有ディスクが有効になっているマネージド ディスクはそれぞれ、次の制約を受けます。制限はディスクの種類別に整理されています。Each managed disk that have shared disks enabled are subject to the following limitations, organized by disk type:

Ultra ディスクUltra disks

Ultra ディスクには、共有ディスクとは関係なく、独自の制限リストがあります。Ultra disks have their own separate list of limitations, unrelated to shared disks. Ultra ディスクの制限については、「Azure Ultra ディスクの使用」を参照してください。For ultra disk limitations, refer to Using Azure ultra disks.

Ultra ディスクを共有するとき、次の追加制限があります。When sharing ultra disks, they have the following additional limitations:

共有 Ultra ディスクは、既定で、Ultra ディスクをサポートするすべてのリージョンで利用でき、それらを使用するためのアクセスに対してサインアップする必要はありません。Shared ultra disks are available in all regions that support ultra disks by default, and do not require you to sign up for access to use them.

Premium SSDPremium SSDs

  • Azure Resource Manager または SDK サポートに現在、制限されています。Currently limited to Azure Resource Manager or SDK support.
  • OS ディスクではなく、データ ディスクでのみ有効にすることができます。Can only be enabled on data disks, not OS disks.
  • ReadOnly ホスト キャッシュは、maxShares>1 の Premium SSD では使用できません。ReadOnly host caching is not available for premium SSDs with maxShares>1.
  • ディスク バーストは、maxShares>1 の Premium SSD では使用できません。Disk bursting is not available for premium SSDs with maxShares>1.
  • Azure 共有ディスクで可用性セットと仮想マシン スケール セットを使用している場合、仮想マシン障害ドメインによるストレージ障害ドメイン配置は共有データ ディスクには適用されません。When using Availability sets and virtual machine scale sets with Azure shared disks, storage fault domain alignment with virtual machine fault domain is not enforced for the shared data disk.
  • 近接配置グループ (PPG) を使用する場合は、ディスクを共有するすべての仮想マシンが同じ PPG に含まれている必要があります。When using proximity placement groups (PPG), all virtual machines sharing a disk must be part of the same PPG.
  • Windows Server フェールオーバー クラスターの一部のバージョンでは、ベーシック ディスクのみを使用できます。詳細については、「フェールオーバー クラスタリングのハードウェア要件と記憶域オプション」を参照してください。Only basic disks can be used with some versions of Windows Server Failover Cluster, for details see Failover clustering hardware requirements and storage options.
  • Azure Backup および Azure Site Recovery のサポートは、まだ使用できません。Azure Backup and Azure Site Recovery support is not yet available.

リージョン別の提供状況Regional availability

共有 Premium SSD は、マネージド ディスクが使用可能なすべてのリージョンで利用できます。Shared premium SSDs are available in all regions that managed disks are available.

オペレーティング システムの要件Operating system requirements

共有ディスクは、複数のオペレーティング システムでサポートされます。Shared disks support several operating systems. サポートされているオペレーティング システムについては、「Windows」または「Linux」セクションを参照してください。See the Windows or Linux sections for the supported operating systems.

ディスク サイズDisk sizes

現状では、Ultra ディスクと Premium SSD のみで共有ディスクを有効にできます。For now, only ultra disks and premium SSDs can enable shared disks. ディスクのサイズによって maxShares 制限が異なる場合があります。これは、maxShares 値を設定するときに超えることはできません。Different disk sizes may have a different maxShares limit, which you cannot exceed when setting the maxShares value. Premium SSD の場合、ディスク共有をサポートするディスク サイズは P15 以上です。For premium SSDs, the disk sizes that support sharing their disks are P15 and greater.

ディスクごとに、ディスクを同時に共有できるノードの最大数を表す maxShares 値を定義できます。For each disk, you can define a maxShares value that represents the maximum number of nodes that can simultaneously share the disk. たとえば、2 ノードのフェールオーバークラスターをセットアップする場合は、maxShares=2を設定します。For example, if you plan to set up a 2-node failover cluster, you would set maxShares=2. 最大値は上限です。The maximum value is an upper bound. ノード数が指定された maxShares 値よりも少ない場合は、ノードがクラスターに参加したり、クラスターから離脱したり (ディスクのマウントまたはマウント解除) できます。Nodes can join or leave the cluster (mount or unmount the disk) as long as the number of nodes is lower than the specified maxShares value.

注意

maxShares 値を設定または編集できるのは、ディスクがすべてのノードからデタッチされている場合のみです。The maxShares value can only be set or edited when the disk is detached from all nodes.

Premium SSD の範囲Premium SSD ranges

次の表は、maxShares の許容最大値をプレミアム ディスク サイズ別にまとめたものです。The following table illustrates the allowed maximum values for maxShares by premium disk sizes:

ディスク サイズDisk sizes maxShares の制限maxShares limit
P15、P20P15, P20 22
P30、P40、P50P30, P40, P50 55
P60、P70、P80P60, P70, P80 1010

ディスクの IOPS と帯域幅の制限は、maxShares 値の影響を受けません。The IOPS and bandwidth limits for a disk are not affected by the maxShares value. たとえば、P15 ディスクの最大 IOPS は、maxShares = 1 でも maxShares > 1 でも 1100 です。For example, the max IOPS of a P15 disk is 1100 whether maxShares = 1 or maxShares > 1.

Ultra ディスクの範囲Ultra disk ranges

最小 maxShares 値は 1、最大 maxShares 値は 5 です。The minimum maxShares value is 1, while the maximum maxShares value is 5. Ultra ディスクにサイズ制限はありません。Ultra ディスクではサイズを問わず、maxShares に最大値までのあらゆる値を使用できます。There are no size restrictions on ultra disks, any size ultra disk can use any value for maxShares, up to and including the maximum value.

サンプル ワークロードSample workloads

WindowsWindows

Azure 共有ディスクは、Windows Server 2008 以降でサポートされています。Azure shared disks are supported on Windows Server 2008 and newer. ほとんどの Windows ベースのクラスタリングは、クラスタ ノード通信のためのすべてのコアインフラストラクチャを処理し、アプリケーションで並列アクセス パターンを利用できるように WSFC 上にビルドされています。Most Windows-based clustering builds on WSFC, which handles all core infrastructure for cluster node communication, allowing your applications to take advantage of parallel access patterns. WSFC では、ご使用の Windows Server のバージョンに応じて、CSV と非 CSV ベースのオプションの両方が有効になります。WSFC enables both CSV and non-CSV-based options depending on your version of Windows Server. 詳細については、「フェールオーバー クラスターを作成する」を参照してください。For details, refer to Create a failover cluster.

WSFC で実行される一般的なアプリケーションには、次のようなものがあります。Some popular applications running on WSFC include:

LinuxLinux

Azure 共有ディスクは、以下でサポートされています。Azure shared disks are supported on:

Linux クラスターでは、Pacemaker などのクラスター マネージャーを利用できます。Linux clusters can leverage cluster managers such as Pacemaker. Pacemaker は Corosync 上に構築され、高可用性環境にデプロイされたアプリケーションのクラスター通信を可能にします。Pacemaker builds on Corosync, enabling cluster communications for applications deployed in highly available environments. 一般的なクラスター化されたファイルシステムには、ocfs2gfs2 があります。Some common clustered filesystems include ocfs2 and gfs2. SCSI 永続的予約 (SCSI PR) または STONITH Block Device (SBD) ベースのクラスター モデルを使用して、ディスクへのアクセスを調節することができます。You can use SCSI Persistent Reservation (SCSI PR) and/or STONITH Block Device (SBD) based clustering models for arbitrating access to the disk. SCSI PR を使用する場合は、fence_scsisg_persist などのユーティリティを使用して、予約と登録を操作できます。When using SCSI PR, you can manipulate reservations and registrations using utilities such as fence_scsi and sg_persist.

永続的な予約フローPersistent reservation flow

次の図は、SCSI PR を利用してノード間のフェールオーバーを有効にする、2 ノードのクラスター化されたデータベース アプリケーションのサンプルを示しています。The following diagram illustrates a sample 2-node clustered database application that leverages SCSI PR to enable failover from one node to the other.

2 ノード クラスター。

フローは次のとおりです。The flow is as follows:

  1. Azure VM1 と VM2 の両方で実行されているクラスター化アプリケーションは、ディスクに対して読み取りまたは書き込みするその意図を登録します。The clustered application running on both Azure VM1 and VM2 registers its intent to read or write to the disk.
  2. その後、VM1 上のアプリケーション インスタンスが、そのディスクに書き込むための排他的な予約を受け取ります。The application instance on VM1 then takes exclusive reservation to write to the disk.
  3. この予約はご使用の Azure ディスクに適用され、データベースがディスクに排他的に書き込めるようになります。This reservation is enforced on your Azure disk and the database can now exclusively write to the disk. VM2 上のアプリケーション インスタンスからの書き込みは成功しません。Any writes from the application instance on VM2 will not succeed.
  4. VM1 上のアプリケーション インスタンスがダウンすると、VM2 上のインスタンスがデータベースのフェールオーバーを開始し、ディスクを引き継げるようになります。If the application instance on VM1 goes down, the instance on VM2 can now initiate a database failover and take-over of the disk.
  5. この予約は現在 Azure ディスクに適用されているため、このディスクでは VM1 からの書き込みを受け付けなくなります。This reservation is now enforced on the Azure disk and the disk will no longer accept writes from VM1. VM2 からの書き込みのみを受け付けます。It will only accept writes from VM2.
  6. クラスター化アプリケーションは、データベースのフェールオーバーを完了し、VM2 からの要求を処理できます。The clustered application can complete the database failover and serve requests from VM2.

次の図は、機械学習モデルのトレーニングなど、並列プロセスを実行するためにディスクからデータを読み取る複数のノードで構成される、別の一般的なクラスター化されたワークロードを示しています。The following diagram illustrates another common clustered workload consisting of multiple nodes reading data from the disk for running parallel processes, such as training of machine learning models.

4 ノード VM クラスター。各ノードでは書き込みの意図が登録され、アプリケーションでは書き込み結果を適切に処理するため、排他的な予約を受け取る

フローは次のとおりです。The flow is as follows:

  1. すべての VM で実行されているクラスター化アプリケーションは、ディスクに対して読み取りまたは書き込みするための意図を登録します。The clustered application running on all VMs registers the intent to read or write to the disk.
  2. VM1 上のアプリケーション インスタンスは、他の VM からのディスクへの読み取りを開いている間、ディスクへの書き込みの排他的な予約を受け取ります。The application instance on VM1 takes an exclusive reservation to write to the disk while opening up reads to the disk from other VMs.
  3. この予約は、Azure ディスクに適用されます。This reservation is enforced on your Azure disk.
  4. これで、クラスター内のすべてのノードがディスクから読み取るれようになります。All nodes in the cluster can now read from the disk. クラスター内のすべてのノードに代わって、1 つのノードだけが結果をディスクに書き戻します。Only one node writes back results to the disk, on behalf of all nodes in the cluster.

Ultra ディスク予約フローUltra disks reservation flow

Ultra ディスクから追加のスロットルが与えられ、スロットルが合計で 2 つになります。Ultra disks offer an additional throttle, for a total of two throttles. このため、Ultra ディスク予約フローは前セクションの説明のとおりに動作できます。あるいは、パフォーマンスをさらに細かく調整したり、分配したりできます。Due to this, ultra disks reservation flow can work as described in the earlier section, or it can throttle and distribute performance more granularly.

予約所有者、登録済み、その他に対する`ReadOnly` または `Read/Write` のアクセス権を示す表の画像。

パフォーマンス スロットルPerformance throttles

Premium SSD パフォーマンス スロットルPremium SSD performance throttles

Premium SSD では、ディスクの IOPS とスループットが固定になります。たとえば、P30 の IOPS は 5000 です。With premium SSD, the disk IOPS and throughput is fixed, for example, IOPS of a P30 is 5000. ディスクが 2 つの VM 間で共有される場合でも、5 つの VM 間で共有される場合でも、この値は変わりません。This value remains whether the disk is shared across 2 VMs or 5 VMs. ディスク上限に 1 つの VM で到達することもあれば、ディスク上限が 2 つ以上の VM 間で分割されることもあります。The disk limits can be reached from a single VM or divided across two or more VMs.

Ultra ディスク パフォーマンス スロットルUltra disk performance throttles

Ultra ディスクには、変更可能な属性を公開して変更を許可するという方法でパフォーマンス設定をユーザーに許可する独特の機能があります。Ultra disks have the unique capability of allowing you to set your performance by exposing modifiable attributes and allowing you to modify them. 既定では変更可能な属性は 2 つだけですが、共有 Ultra ディスクには 2 つの属性が追加されています。By default, there are only two modifiable attributes but, shared ultra disks have two additional attributes.

属性Attribute 説明Description
DiskIOPSReadWriteDiskIOPSReadWrite 書き込みアクセス権のある共有ディスクをマウントするすべての VM で許可される IOPS の合計数。The total number of IOPS allowed across all VMs mounting the share disk with write access.
DiskMBpsReadWriteDiskMBpsReadWrite 書き込みアクセス権のある共有ディスクをマウントするすべての VM で許可される合計スループット (毎秒 MB)。The total throughput (MB/s) allowed across all VMs mounting the shared disk with write access.
DiskIOPSReadOnly*DiskIOPSReadOnly* ReadOnly として共有ディスクをマウントするすべての VM で許可される IOPS の合計数。The total number of IOPS allowed across all VMs mounting the shared disk as ReadOnly.
DiskMBpsReadOnly*DiskMBpsReadOnly* ReadOnly として共有ディスクをマウントするすべての VM で許可される合計スループット (毎秒 MB)。The total throughput (MB/s) allowed across all VMs mounting the shared disk as ReadOnly.

* 共有 Ultra ディスクのみに適用* Applies to shared ultra disks only

パフォーマンス属性はユーザーによる変更が可能であり、設定できます。そのしくみは次のように決められています。The following formulas explain how the performance attributes can be set, since they are user modifiable:

  • DiskIOPSReadWrite/DiskIOPSReadOnly:DiskIOPSReadWrite/DiskIOPSReadOnly:
    • IOPS の上限は GiB あたり 300 IOPS であり、ディスクあたり最大 160K IOPS となるIOPS limits of 300 IOPS/GiB, up to a maximum of 160K IOPS per disk
    • 最小 100 IOPSMinimum of 100 IOPS
    • DiskIOPSReadWrite + DiskIOPSReadOnly は少なくとも GiB あたり 2 IOPSDiskIOPSReadWrite + DiskIOPSReadOnly is at least 2 IOPS/GiB
  • DiskMBpsRead Write/DiskMBpsReadOnly:DiskMBpsRead Write/DiskMBpsReadOnly:
    • ディスク 1 つのスループット上限はプロビジョニングされた IOPS ごとに毎秒 256 KiB であり、ディスクあたり最大 2,000 MBps となるThe throughput limit of a single disk is 256 KiB/s for each provisioned IOPS, up to a maximum of 2000 MBps per disk
    • ディスクあたりで保証される最小スループットはプロビジョニングされた IOPS ごとに毎秒 4 KiB であり、全体的ベースラインは最小 1 MBps となるThe minimum guaranteed throughput per disk is 4KiB/s for each provisioned IOPS, with an overall baseline minimum of 1 MBps

Examples

次の例で取り上げるシナリオからは、共有 Ultra ディスクを具体的にどのように調整できるかわかります。The following examples depict a few scenarios that show how the throttling can work with shared ultra disks, specifically.

クラスター共有ボリュームを使用する 2 つのノード クラスターTwo nodes cluster using cluster shared volumes

次は、クラスター化された共有ボリュームを使用する 2 ノード WSFC の例です。The following is an example of a 2-node WSFC using clustered shared volumes. この構成では、両方の VM でディスクに同時に書き込みアクセスできます。その結果、2 つの VM 間で ReadWrite スロットルが分割され、ReadOnly スロットルは使用されません。With this configuration, both VMs have simultaneous write-access to the disk, which results in the ReadWrite throttle being split across the two VMs and the ReadOnly throttle not being used.

予約所有者、登録済み、その他に対する`ReadOnly` または `Read/Write` のアクセス権を示す表の画像。

クラスター共有ボリュームのない 2 つのノード クラスターTwo node cluster without cluster share volumes

次は、クラスター化された共有ボリュームを使用しない 2 ノード WSFC の例です。The following is an example of a 2-node WSFC that isn't using clustered shared volumes. この構成では、1 つだけの VM がディスクに書き込みアクセスできます。With this configuration, only one VM has write-access to the disk. 結果として、プライマリ VM に独占的に ReadWrite スロットルが使用され、ReadOnly スロットルはセカンダリでのみ使用されます。This results in the ReadWrite throttle being used exclusively for the primary VM and the ReadOnly throttle only being used by the secondary.

予約所有者、登録済み、その他に対する`ReadOnly` または `Read/Write` のアクセス権を示す表の画像。

4 ノード Linux クラスターFour node Linux cluster

次は、シングル ライターが 1 つ、スケールアウト リーダーが 3 つ与えられた 4 ノード Linux クラスターの例です。The following is an example of a 4-node Linux cluster with a single writer and three scale-out readers. この構成では、1 つだけの VM がディスクに書き込みアクセスできます。With this configuration, only one VM has write-access to the disk. 結果として、プライマリ VM に独占的に ReadWrite スロットルが使用され、ReadOnly スロットルはセカンダリ VM によって分割されます。This results in the ReadWrite throttle being used exclusively for the primary VM and the ReadOnly throttle being split by the secondary VMs.

予約所有者、登録済み、その他に対する`ReadOnly` または `Read/Write` のアクセス権を示す表の画像。

Ultra の価格Ultra pricing

Ultra 共有ディスクは、プロビジョニング済みの容量、プロビジョニング済みの IOPS の合計 (diskIOPSReadWrite + diskIOPSReadOnly) とプロビジョニング済みのスループット MBps の合計 (diskMBpsReadWrite + diskMBpsReadOnly) に基づいて課金されます。Ultra shared disks are priced based on provisioned capacity, total provisioned IOPS (diskIOPSReadWrite + diskIOPSReadOnly) and total provisioned Throughput MBps (diskMBpsReadWrite + diskMBpsReadOnly). 追加の VM マウントごとに追加料金は発生しません。There is no extra charge for each additional VM mount. たとえば、次の構成の Ultra 共有ディスク (diskSizeGB:1024、DiskIOPSReadWrite:10000、DiskMBpsReadWrite:600、DiskIOPSReadOnly:100、DiskMBpsReadOnly:1) は、2 台の VM にマウントされているか、5台の VM にマウントされているかに関係なく、1024 GiB、10100 IOPS、および 601 MBps で課金されます。For example, an ultra shared disk with the following configuration (diskSizeGB: 1024, DiskIOPSReadWrite: 10000, DiskMBpsReadWrite: 600, DiskIOPSReadOnly: 100, DiskMBpsReadOnly: 1) is charged with 1024 GiB, 10100 IOPS, and 601 MBps regardless of whether it is mounted to two VMs or five VMs.

次のステップNext steps

ご使用のマネージド ディスクに対して共有ディスクの有効化と使用に関心がある場合は、「共有ディスクを有効にする」の記事に進んでください。If you're interested in enabling and using shared disks for your managed disks, proceed to our article Enable shared disk