Azure マネージド ディスクの共有

適用対象: ✔️ Linux VM ✔️ Windows VM ✔️ フレキシブル スケール セット ✔️ ユニフォーム スケール セット

Azure 共有ディスクは、マネージド ディスクを複数の仮想マシン (VM) に同時に接続できるようにする Azure マネージド ディスクの機能です。 マネージド ディスクを複数の VM に接続すると、新規にデプロイするか、既存のクラスター化されたアプリケーションを Azure に移行することができます。

しくみ

クラスター内の VM は、SCSI 永続的な予約 (SCSI PR) を使用するクラスター化アプリケーションによって選択された予約に基づいて、接続されたディスクに対して読み取りまたは書き込みを行うことができます。 SCSI PR は、オンプレミスの記憶域ネットワーク (SAN) 上で実行されているアプリケーションによって利用される業界標準です。 マネージド ディスクで SCSI PR を有効にすると、これらのアプリケーションを Azure にそのまま移行することができます。

マネージド ディスクを共有することで、共有ブロック ストレージに複数の VM からアクセスできます。VM は論理ユニット番号 (LUN) として公開されます。 その後 LUN は、ターゲット (ディスク) からイニシエーター (VM) に提示されます。 これらの LUN は、VM からは直接接続ストレージ (DAS) やローカル ドライブのように見えます。

共有されたマネージド ディスクでは、SMB または NFS を使用してアクセスできるフル マネージドのファイルシステムをネイティブに提供していません。 Windows Server フェールオーバー クラスター (WSFC) や Pacemaker のような、クラスター ノードの通信と書き込みロックを処理するクラスター マネージャーを使用する必要があります。

制限事項

一部の種類のディスクでのみ、共有ディスクを有効にできます。 現在のところ、Ultra ディスク、Premium SSD、Standard SSD のみで共有ディスクを有効にできます。 共有ディスクが有効になっているマネージド ディスクはそれぞれ、次の制約を受けます。制限はディスクの種類別に整理されています。

Ultra ディスク

Ultra ディスクには、共有ディスクとは関係なく、独自の制限リストがあります。 Ultra ディスクの制限については、「Azure Ultra ディスクの使用」を参照してください。

Ultra ディスクを共有するとき、次の追加制限があります。

共有 Ultra ディスクは、既定で、Ultra ディスクをサポートするすべてのリージョンで利用でき、それらを使用するためのアクセスに対してサインアップする必要はありません。

Premium SSD

  • OS ディスクではなく、データ ディスクでのみ有効にすることができます。
  • ReadOnly ホスト キャッシュは、maxShares>1 の Premium SSD では使用できません。
  • ディスク バーストは、maxShares>1 の Premium SSD では使用できません。
  • Azure 共有ディスクで可用性セットと仮想マシン スケール セットを使用している場合、仮想マシン障害ドメインによるストレージ障害ドメイン配置は共有データ ディスクには適用されません。
  • 近接配置グループ (PPG) を使用する場合は、ディスクを共有するすべての仮想マシンが同じ PPG に含まれている必要があります。
  • Windows Server フェールオーバー クラスターの一部のバージョンでは、ベーシック ディスクのみを使用できます。詳細については、「フェールオーバー クラスタリングのハードウェア要件と記憶域オプション」を参照してください。
  • Azure Site Recovery のサポートは、まだ使用できません。
  • Azure Backup は Azure ディスク バックアップ を通じて利用できます。
  • サーバー側暗号化のみがサポートされており、Azure Disk Encryption は現在サポートされていません。

Premium SSD リージョンの可用性

すべての Premium SSD サイズの共有ディスクは、マネージド ディスクが使用可能なすべてのリージョンで利用できます。

Standard SSD

Standard SSD リージョンの可用性

すべての Standard SSD サイズの共有ディスクは、マネージド ディスクが使用可能なすべてのリージョンで利用できます。

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

共有ディスクは、複数のオペレーティング システムでサポートされます。 サポートされているオペレーティング システムについては、「Windows」または「Linux」セクションを参照してください。

ディスク サイズ

現在のところ、Ultra ディスク、Premium SSD、Standard SSD のみで共有ディスクを有効にできます。 ディスクのサイズによって maxShares 制限が異なる場合があります。これは、maxShares 値を設定するときに超えることはできません。 Premium SSD の場合、ディスク共有をサポートするディスク サイズは P15 以上です。

ディスクごとに、ディスクを同時に共有できるノードの最大数を表す maxShares 値を定義できます。 たとえば、2 ノードのフェールオーバークラスターをセットアップする場合は、maxShares=2を設定します。 最大値は上限です。 ノード数が指定された maxShares 値よりも少ない場合は、ノードがクラスターに参加したり、クラスターから離脱したり (ディスクのマウントまたはマウント解除) できます。

注意

maxShares 値を設定または編集できるのは、ディスクがすべてのノードからデタッチされている場合のみです。

Premium SSD の範囲

次の表は、maxShares の許容最大値を Premium SSD サイズ別にまとめたものです。

ディスク サイズ maxShares の制限
P1、P2、P3、P4、P6、P10、P15、P20 3
P30、P40、P50 5
P60、P70、P80 10

ディスクの IOPS と帯域幅の制限は、maxShares 値の影響を受けません。 たとえば、P15 ディスクの最大 IOPS は、maxShares = 1 でも maxShares > 1 でも 1100 です。

Standard SSD の範囲

次の表は、maxShares の許容最大値を Standard SSD サイズ別にまとめたものです。

ディスク サイズ maxShares の制限
E1、E2、E3、E4、E6、E10、E15、E20 3
E30、E40、E50 5
E60、E70、E80 10

ディスクの IOPS と帯域幅の制限は、maxShares 値の影響を受けません。 たとえば、E15 ディスクの最大 IOPS は、maxShares = 1 でも maxShares > 1 でも 500 です。

Ultra ディスクの範囲

最小 maxShares 値は 1、最大 maxShares 値は 5 です。 Ultra ディスクにサイズ制限はありません。Ultra ディスクではサイズを問わず、maxShares に最大値までのあらゆる値を使用できます。

サンプル ワークロード

Windows

Azure 共有ディスクは、Windows Server 2008 以降でサポートされています。 ほとんどの Windows ベースのクラスタリングは、クラスタ ノード通信のためのすべてのコアインフラストラクチャを処理し、アプリケーションで並列アクセス パターンを利用できるように WSFC 上にビルドされています。 WSFC では、ご使用の Windows Server のバージョンに応じて、CSV と非 CSV ベースのオプションの両方が有効になります。 詳細については、「フェールオーバー クラスターを作成する」を参照してください。

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

Linux

Azure 共有ディスクは、以下でサポートされています。

Linux クラスターでは、Pacemaker などのクラスター マネージャーを利用できます。 Pacemaker は Corosync 上に構築され、高可用性環境にデプロイされたアプリケーションのクラスター通信を可能にします。 一般的なクラスター化されたファイルシステムには、ocfs2gfs2 があります。 SCSI 永続的予約 (SCSI PR) または STONITH Block Device (SBD) ベースのクラスター モデルを使用して、ディスクへのアクセスを調節することができます。 SCSI PR を使用する場合は、fence_scsisg_persist などのユーティリティを使用して、予約と登録を操作できます。

永続的な予約フロー

次の図は、SCSI PR を利用してノード間のフェールオーバーを有効にする、2 ノードのクラスター化されたデータベース アプリケーションのサンプルを示しています。

2 ノード クラスター。 クラスターで実行されているアプリケーションがディスクへのアクセスを処理している

フローは次のとおりです。

  1. Azure VM1 と VM2 の両方で実行されているクラスター化アプリケーションは、ディスクに対して読み取りまたは書き込みするその意図を登録します。
  2. その後、VM1 上のアプリケーション インスタンスが、そのディスクに書き込むための排他的な予約を受け取ります。
  3. この予約はご使用の Azure ディスクに適用され、データベースがディスクに排他的に書き込めるようになります。 VM2 上のアプリケーション インスタンスからの書き込みは成功しません。
  4. VM1 上のアプリケーション インスタンスがダウンすると、VM2 上のインスタンスがデータベースのフェールオーバーを開始し、ディスクを引き継げるようになります。
  5. この予約は現在 Azure ディスクに適用されているため、このディスクでは VM1 からの書き込みを受け付けなくなります。 VM2 からの書き込みのみを受け付けます。
  6. クラスター化アプリケーションは、データベースのフェールオーバーを完了し、VM2 からの要求を処理できます。

次の図は、機械学習モデルのトレーニングなど、並列プロセスを実行するためにディスクからデータを読み取る複数のノードで構成される、別の一般的なクラスター化されたワークロードを示しています。

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

フローは次のとおりです。

  1. すべての VM で実行されているクラスター化アプリケーションは、ディスクに対して読み取りまたは書き込みするための意図を登録します。
  2. VM1 上のアプリケーション インスタンスは、他の VM からのディスクへの読み取りを開いている間、ディスクへの書き込みの排他的な予約を受け取ります。
  3. この予約は、Azure ディスクに適用されます。
  4. これで、クラスター内のすべてのノードがディスクから読み取るれようになります。 クラスター内のすべてのノードに代わって、1 つのノードだけが結果をディスクに書き戻します。

Ultra ディスク予約フロー

Ultra ディスクから追加のスロットルが与えられ、スロットルが合計で 2 つになります。 このため、Ultra ディスク予約フローは前セクションの説明のとおりに動作できます。あるいは、パフォーマンスをさらに細かく調整したり、分配したりできます。

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

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

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

Premium SSD では、ディスクの IOPS とスループットが固定になります。たとえば、P30 の IOPS は 5000 です。 ディスクが 2 つの VM 間で共有される場合でも、5 つの VM 間で共有される場合でも、この値は変わりません。 ディスク上限に 1 つの VM で到達することもあれば、ディスク上限が 2 つ以上の VM 間で分割されることもあります。

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

Ultra ディスクには、変更可能な属性を公開して変更を許可するという方法でパフォーマンス設定をユーザーに許可する独特の機能があります。 既定では変更可能な属性は 2 つだけですが、共有 Ultra ディスクには 2 つの属性が追加されています。

属性 説明
DiskIOPSReadWrite 書き込みアクセス権のある共有ディスクをマウントするすべての VM で許可される IOPS の合計数。
DiskMBpsReadWrite 書き込みアクセス権のある共有ディスクをマウントするすべての VM で許可される合計スループット (毎秒 MB)。
DiskIOPSReadOnly* ReadOnly として共有ディスクをマウントするすべての VM で許可される IOPS の合計数。
DiskMBpsReadOnly* ReadOnly として共有ディスクをマウントするすべての VM で許可される合計スループット (毎秒 MB)。

* 共有 Ultra ディスクのみに適用

パフォーマンス属性はユーザーによる変更が可能であり、設定できます。そのしくみは次のように決められています。

  • DiskIOPSReadWrite/DiskIOPSReadOnly:
    • IOPS の上限は GiB あたり 300 IOPS であり、ディスクあたり最大 160 K IOPS となる
    • 最小 100 IOPS
    • DiskIOPSReadWrite + DiskIOPSReadOnly は少なくとも GiB あたり 2 IOPS
  • DiskMBpsRead Write/DiskMBpsReadOnly:
    • ディスク 1 つのスループット上限はプロビジョニングされた IOPS ごとに毎秒 256 KiB であり、ディスクあたり最大 2,000 MBps となる
    • ディスクあたりで保証される最小スループットはプロビジョニングされた IOPS ごとに毎秒 4 KiB であり、全体的ベースラインは最小 1 MBps となる

次の例で取り上げるシナリオからは、共有 Ultra ディスクを具体的にどのように調整できるかわかります。

クラスター共有ボリュームを使用する 2 つのノード クラスター

次は、クラスター化された共有ボリュームを使用する 2 ノード WSFC の例です。 この構成では、両方の VM でディスクに同時に書き込みアクセスできます。その結果、2 つの VM 間で ReadWrite スロットルが分割され、ReadOnly スロットルは使用されません。

CSV 2 ノード Ultra の例

クラスター共有ボリュームのない 2 つのノード クラスター

次は、クラスター化された共有ボリュームを使用しない 2 ノード WSFC の例です。 この構成では、1 つだけの VM がディスクに書き込みアクセスできます。 結果として、プライマリ VM に独占的に ReadWrite スロットルが使用され、ReadOnly スロットルはセカンダリでのみ使用されます。

CSV 2 ノードで CSV Ultra ディスクなしの例

4 ノード Linux クラスター

次は、シングル ライターが 1 つ、スケールアウト リーダーが 3 つ与えられた 4 ノード Linux クラスターの例です。 この構成では、1 つだけの VM がディスクに書き込みアクセスできます。 結果として、プライマリ VM に独占的に ReadWrite スロットルが使用され、ReadOnly スロットルはセカンダリ VM によって分割されます。

4 ノード Ultra の調整例

Ultra の価格

Ultra 共有ディスクは、プロビジョニング済みの容量、プロビジョニング済みの IOPS の合計 (diskIOPSReadWrite + diskIOPSReadOnly) とプロビジョニング済みのスループット MBps の合計 (diskMBpsReadWrite + diskMBpsReadOnly) に基づいて課金されます。 追加の VM マウントごとに追加料金は発生しません。 たとえば、次の構成の Ultra 共有ディスク (diskSizeGB:1024、DiskIOPSReadWrite:10000、DiskMBpsReadWrite:600、DiskIOPSReadOnly:100、DiskMBpsReadOnly:1) は、2 台の VM にマウントされているか、5台の VM にマウントされているかに関係なく、1024 GiB、10100 IOPS、および 601 MBps で課金されます。

よく寄せられる質問

Q: アンマネージド ディスクまたはページ BLOB では、共有ディスク機能はサポートされていますか?

A: いいえ。 この機能がサポートされているのは Ultra Disks と Premium SSD マネージド ディスクのみです。

Q: 共有ディスクはどのリージョンでサポートされていますか?

A: リージョンごとの情報については、概念に関する記事を参照してください。

Q: 共有ディスクを OS ディスクとして使用できますか?

A: いいえ。 共有ディスクはデータ ディスクでのみサポートされています。

Q: どのディスク サイズで共有ディスクがサポートされますか?

A: サポートされているサイズについては、概念に関する記事を参照してください。

Q: 既存のディスクがある場合、そこで共有ディスクを有効にできますか?

A: API バージョン 2019-07-01 以降で作成されたあらゆるマネージド ディスクで共有ディスクを有効にできます。 このためには、接続されているすべての VM からディスクをマウント解除する必要があります。 次に、ディスクの maxShares プロパティを編集します。

Q: ディスクを共有モードで使用する必要がなくなったら、どのようにして無効にできますか?

A: 接続されているすべての VM からディスクをマウント解除します。 次に、ディスクの maxShare プロパティを 1 に変更します。

Q: 共有ディスクをサイズ変更できますか?

A: はい。

Q: 共有ディスクが有効になっているディスクで書き込みアクセラレータも有効にできますか?

A: いいえ。 共有ディスクが有効になっているディスクで書き込みアクセラレータも有効にすることはできません。

Q: 共有ディスクが有効になっているディスクでホスト キャッシュを有効にできますか?

A: 唯一サポートされるホスト キャッシュのオプションは None です。

次のステップ

ご使用のマネージド ディスクに対して共有ディスクの有効化と使用に関心がある場合は、「共有ディスクを有効にする」の記事に進んでください。