Azure 共有ディスクAzure shared disks

Azure 共有ディスク (プレビュー) は、Azure マネージド ディスクを複数の仮想マシン (VM) に同時に接続できるようにする Azure マネージド ディスクの新機能です。Azure shared disks (preview) is a new feature for Azure managed disks that enables attaching an Azure 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 your attached disk based on the reservation chosen by the clustered application using SCSI Persistent Reservations (SCSI PR). SCSI PR は、オンプレミスの記憶域ネットワーク (SAN) 上で実行されているアプリケーションによって利用される、よく知られている業界標準です。SCSI PR is a well-known 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 からアクセスできる共有ブロック ストレージが提供されます。これは、論理ユニット番号 (LUN) として公開されます。Managed disks with shared disks enabled offer shared block storage that can be accessed by multiple VMs, this is 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 を使用してアクセスできる完全に管理されたファイル システムをネイティブで提供していません。Managed disks with shared disks enabled do not natively offer a fully-managed file system that can be accessed using SMB/NFS. Windows Server フェールオーバー クラスター (WSFC) や Pacemaker のような、クラスター ノードの通信と書き込みロックを処理するクラスター マネージャーを使用する必要があります。You will need to use a cluster manager, like Windows Server Failover Cluster (WSFC) or Pacemaker, that handles cluster node communication as well as write locking.

制限事項Limitations

プレビュー段階では、共有ディスクが有効になっているマネージド ディスクには、次の制限があります。While in preview, managed disks that have shared disks enabled are subject to the following limitations:

  • 現在、Premium SSD でのみ利用可能です。Currently only available with premium SSDs.
  • 現在、米国中西部リージョンのみでサポートされています。Currently only supported in the West Central US region.
  • ディスクを共有するすべての仮想マシンは、同じ近接通信配置グループにデプロイする必要があります。All virtual machines sharing a disk must be deployed in the same proximity placement groups.
  • OS ディスクではなく、データ ディスクでのみ有効にすることができます。Can only be enabled on data disks, not OS disks.
  • 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.
  • ReadOnly ホスト キャッシュは、maxShares>1 の Premium SSD では使用できません。ReadOnly host caching is not available for premium SSDs with maxShares>1.
  • 可用性セットと仮想マシン スケール セットは、FaultDomainCount が 1 に設定されている場合にのみ使用できます。Availability sets and virtual machine scale sets can only be used with FaultDomainCount set to 1.
  • Azure Backup および Azure Site Recovery のサポートは、まだ使用できません。Azure Backup and Azure Site Recovery support is not yet available.

共有ディスクの使用に関心がある場合は、プレビューにサインアップします。If you're interested in trying shared disks then sign up for our preview.

ディスク サイズDisk sizes

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

ディスクごとに、ディスクを同時に共有できるノードの最大数を表す 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.

次の表は、ディスクサイズによって maxShares に許容される最大値を示しています。The following table illustrates the allowed maximum values for maxShares by disk size:

ディスク サイズ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 are 1100 whether maxShares = 1 or maxShares > 1.

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

WindowsWindows

WSFC (クラスター ノード通信のすべてのコア インフラストラクチャを処理する) 上に構築されているほとんどの Windows ベースのクラスタリングでは、ことで、アプリケーションが並列アクセス パターンを活用できるようにしています。Most Windows-based clustering build 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:

  • SQL Server フェールオーバー クラスター インスタンス (FCI)SQL Server Failover Cluster Instances (FCI)
  • スケールアウト ファイル サーバー (SoFS)Scale-out File Server (SoFS)
  • 汎用のファイル サーバー (IW ワークロード)File Server for General Use (IW workload)
  • リモート デスクトップ サーバー ユーザー プロファイル ディスク (RDS UPD)Remote Desktop Server User Profile Disk (RDS UPD)
  • SAP ASCS/SCSSAP ASCS/SCS

LinuxLinux

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. fence_scsisg_persist などのユーティリティを使用して、予約と登録を操作できます。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.

次のステップNext steps

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