共有ディスクを有効にする

適用対象: ✔️ Linux VM ✔️ Windows VM ✔️ フレキシブル スケール セット ✔️ 均一スケール セット

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

共有ディスクが有効になっているマネージド ディスクの概念的な情報については、Azure 共有ディスクに関する記事を参照してください。

前提条件

この記事のスクリプトとコマンドには、次のいずれかが必要です。

  • Azure PowerShell モジュールのバージョン 6.0.0 以降。

または

  • 最新バージョンの Azure CLI。

制限事項

一般的な制限事項

共有ディスクには、ディスクの種類に関係なく、すべての共有ディスクに適用される一般的な制限があります。 また、特定の種類の共有ディスクにのみ適用される追加の制限もあります。 一般的な制限事項の一覧を次に示します。

  • 現時点では、Ultra Disks、Premium SSD v2、Premium SSD、Standard SSD のみを共有ディスクとして使用できます
  • 共有ディスクは個々の Virtual Machine Scale Sets にアタッチできますが、仮想マシン スケール セット モデルで定義したり、自動的にデプロイしたりすることはできません
  • 共有ディスクを展開するには、ディスクがアタッチされているすべての VM の割り当てを解除するか、これらのすべての VM からディスクをデタッチする必要があります
  • 書き込みアクセラレータは、共有ディスクではサポートされていません
  • ホスト キャッシュは、共有ディスクではサポートされていません

共有ディスクが有効になっているマネージド ディスクはそれぞれ、次の制限も受けることになります。これらはディスクの種類別に整理されています。

Ultra ディスク

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

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

Premium SSD v2

Premium SSD v2 マネージド ディスクには、共有ディスクとは関係なく、独自の制限リストがあります。 これらの制限については、「Premium SSD v2 の制限事項」を参照してください。

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

Premium SSD

Standard SSD

サポートされるオペレーティング システム

共有ディスクは、複数のオペレーティング システムでサポートされます。 サポートされているオペレーティング システムについては、概念に関する記事の WindowsLinux のセクションを参照してください。

ディスク サイズ

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

ディスクごとに、ディスクを同時に共有できるノードの最大数を表す 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 値は 15 です。 Ultra ディスクにサイズ制限はありません。Ultra ディスクではサイズを問わず、maxShares に最大値までのあらゆる値を使用できます。

Premium SSD v2 の範囲

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

共有ディスクのデプロイ

Premium SSD を共有ディスクとしてデプロイする

共有ディスク機能が有効になっているマネージド ディスクをデプロイするには、新しいプロパティ maxShares を使用し、1 より大きい値を定義します。 これにより、複数の VM 間でディスクを共有できるようになります。

重要

ホスト キャッシュは、共有ディスクではサポートされていません。

maxShares の値は、ディスクがすべての VM からマウント解除されている場合にのみ設定または変更できます。 に使用できる値については、ディスクのサイズ を参照してください。

  1. Azure portal にサインインします。

  2. [ディスク] を探して選択します。

  3. [+ 作成] を選択して新しいマネージド ディスクを作成します。

  4. 詳細を入力し、適切なリージョンを選択して、 [サイズの変更] を選択します。

    [マネージド ディスクの作成] ウィンドウのスクリーンショット。[サイズの変更] が強調表示されています。

  5. 必要な Premium SSD のサイズと SKU を選択し、 [OK] を選択します。

    ディスク SKU のスクリーンショット。Premium LRS および ZRS SSD SKU が強調表示されています。

  6. [詳細設定] ウィンドウまでデプロイを進めます。

  7. [共有ディスクを有効にする][はい] を選択し、 [最大共有数] で必要な数を選択します。

    [詳細設定] ウィンドウのスクリーンショット。[共有ディスクを有効にする] が強調表示され、[はい] に設定されています。

  8. [確認および作成] を選択します。

Standard SSD を共有ディスクとしてデプロイする

共有ディスク機能が有効になっているマネージド ディスクをデプロイするには、新しいプロパティ maxShares を使用し、1 より大きい値を定義します。 これにより、複数の VM 間でディスクを共有できるようになります。

重要

ホスト キャッシュは、共有ディスクではサポートされていません。

maxShares の値は、ディスクがすべての VM からマウント解除されている場合にのみ設定または変更できます。 に使用できる値については、ディスクのサイズ を参照してください。

  1. Azure portal にサインインします。

  2. [ディスク] を探して選択します。

  3. [+ 作成] を選択して新しいマネージド ディスクを作成します。

  4. 詳細を入力し、適切なリージョンを選択して、 [サイズの変更] を選択します。

    [マネージド ディスクの作成] ウィンドウのスクリーンショット。[サイズの変更] が強調表示されています。

  5. 必要な Standard SSD のサイズと SKU を選択し、 [OK] を選択します。

    ディスク SKU のスクリーンショット。Standard SSD LRS および ZRS SKU が強調表示されています。

  6. [詳細設定] ウィンドウまでデプロイを進めます。

  7. [共有ディスクを有効にする][はい] を選択し、 [最大共有数] で必要な数を選択します。

    [詳細設定] ウィンドウのスクリーンショット。[共有ディスクを有効にする] が強調表示され、[はい] に設定されています。

  8. [確認および作成] を選択します。

Ultra ディスクを共有ディスクとしてデプロイする

共有ディスク機能が有効になっているマネージド ディスクをデプロイするには、maxShares パラメーターを 1 より大きい値に変更します。 これにより、複数の VM 間でディスクを共有できるようになります。

重要

maxShares の値は、ディスクがすべての VM からマウント解除されている場合にのみ設定または変更できます。 に使用できる値については、ディスクのサイズ を参照してください。

  1. Azure portal にサインインします。

  2. [ディスク] を探して選択します。

  3. [+ 作成] を選択して新しいマネージド ディスクを作成します。

  4. 詳細を入力して、 [サイズの変更] を選択します。

  5. [ディスク SKU] で、[Ultra Disk] を選択します。

    ディスク SKU のスクリーンショット。[Ultra Disk] が強調表示されています。

  6. 必要なディスク サイズを選択し、 [OK] を選択します。

  7. [詳細設定] ウィンドウまでデプロイを進めます。

  8. [共有ディスクを有効にする][はい] を選択し、 [最大共有数] で必要な数を選択します。

  9. [確認および作成] を選択します。

    [詳細設定] ウィンドウのスクリーンショット。[共有ディスクを有効にする] が強調表示されています。

既存のディスクの共有

既存のディスクを共有したり、マウントできる VM の数を更新したりするには、maxShares パラメーターを Azure PowerShell モジュールまたは Azure CLI のいずれかに設定します。 共有を無効にする場合は、maxShares を 1 に設定してもかまいません。

重要

ホスト キャッシュは、共有ディスクではサポートされていません。

maxShares の値は、ディスクがすべての VM からマウント解除されている場合にのみ設定または変更できます。 に使用できる値については、ディスクのサイズ を参照してください。 ディスクをデタッチする前に、再アタッチ時のために LUN ID を記録します。

PowerShell

$datadiskconfig = Get-AzDisk -DiskName "mySharedDisk"
$datadiskconfig.maxShares = 3

Update-AzDisk -ResourceGroupName 'myResourceGroup' -DiskName 'mySharedDisk' -Disk $datadiskconfig

CLI

#Modifying a disk to enable or modify sharing configuration

az disk update --name mySharedDisk --max-shares 5 --resource-group myResourceGroup

VM での Azure 共有ディスクの使用

maxShares>1 を使用して共有ディスクをデプロイしたら、そのディスクを1つ以上の VM にマウントできます。

Note

ホスト キャッシュは、共有ディスクではサポートされていません。

Ultra ディスクをデプロイする場合は、必要な要件を満たしていることを確認してください。 詳細については、「Azure Ultra ディスクの使用」を参照してください。


$resourceGroup = "myResourceGroup"
$location = "WestCentralUS"

$vm = New-AzVm -ResourceGroupName $resourceGroup -Name "myVM" -Location $location -VirtualNetworkName "myVnet" -SubnetName "mySubnet" -SecurityGroupName "myNetworkSecurityGroup" -PublicIpAddressName "myPublicIpAddress"

$dataDisk = Get-AzDisk -ResourceGroupName $resourceGroup -DiskName "mySharedDisk"

$vm = Add-AzVMDataDisk -VM $vm -Name "mySharedDisk" -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0

update-AzVm -VM $vm -ResourceGroupName $resourceGroup

サポートされている SCSI PR コマンド

クラスター内の VM に共有ディスクをマウントしたら、SCSI PR を使用して、クォーラムを確立し、ディスクに読み取り/書き込みを行うことができます。 Azure 共有ディスクを使用する場合は、次の PR コマンドを使用できます。

ディスクを操作するには、次のようにして、「永続的な予約アクション」リストから開始します。

PR_REGISTER_KEY 

PR_REGISTER_AND_IGNORE 

PR_GET_CONFIGURATION 

PR_RESERVE 

PR_PREEMPT_RESERVATION 

PR_CLEAR_RESERVATION 

PR_RELEASE_RESERVATION 

PR_RESERVE、PR_PREEMPT_RESERVATION、または PR_RELEASE_RESERVATION を使用する場合は、次のいずれかの永続的な予約の種類を指定します。

PR_NONE 

PR_WRITE_EXCLUSIVE 

PR_EXCLUSIVE_ACCESS 

PR_WRITE_EXCLUSIVE_REGISTRANTS_ONLY 

PR_EXCLUSIVE_ACCESS_REGISTRANTS_ONLY 

PR_WRITE_EXCLUSIVE_ALL_REGISTRANTS 

PR_EXCLUSIVE_ACCESS_ALL_REGISTRANTS 

PR_RESERVE、PR_REGISTER_AND_IGNORE、PR_REGISTER_KEY、PR_PREEMPT_RESERVATION、PR_CLEAR_RESERVATION、または PR_RELEASE-RESERVATION を使用する場合は、永続的な予約キーを指定する必要もあります。

次のステップ

Azure Resource Manager テンプレートを使用してディスクをデプロイすることを希望する場合は、次のサンプル テンプレートを使用できます。

その他の質問がある場合は、FAQ の共有ディスクに関するセクションを参照してください。