Azure マネージド ディスクに対して共有ディスクを有効にする

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

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

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

前提条件

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

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

または

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

制限事項

一般的な制限事項

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

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

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

Ultra Disks

Ultra Disks には、共有ディスクとは無関係に、独自の制限事項の一覧があります。 Ultra Disk の制限事項については、「 Azure Ultra Disks の使用」を参照してください。

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

プレミアムSSD v2

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

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

Premium SSD

Standard SSD

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

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

ディスク サイズ

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

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

注記

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

Premium SSD の範囲

次の表は、Premium SSD サイズ別の maxShares に許容される最大値を示しています。

ディスク サイズ 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 の範囲

次の表は、Standard SSD サイズ別の maxShares に許容される最大値を示しています。

ディスク サイズ 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 Disk の範囲

最小 maxShares 値は 1、最大 maxShares 値は 15 です。 Ultra Disks にはサイズの制限がなく、どのサイズの Ultra Disk でも、maxShares に任意の値を使用でき、最大値まで対応します。

Premium SSD v2 の範囲

最小 maxShares 値は 1、最大 maxShares 値は 15 です。 Premium SSD v2 にはサイズの制限はありません。Premium SSD v2 のサイズは、最大値までの maxSharesに任意の値を使用できます。

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

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

重要

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

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

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

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

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

  4. [ 基本 ] ウィンドウで、 リージョンを選択し、[ サイズの変更] を選択します。

    [Create a managed disk Basics]\(マネージド ディスクの作成の基本\) ウィンドウのスクリーンショット。リージョンが米国西部に設定され、可用性ゾーンが [なし] に設定され、[サイズの変更] が強調表示されています。

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

    ローカル冗長ストレージとゾーン冗長ストレージが強調表示されている Premium SSD を含むディスク SKU の一覧のスクリーンショット。

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

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

    [共有ディスクを有効にする] が [はい] に設定され、[最大共有] が 2 に設定されている共有ディスク設定のスクリーンショット。

  8. [Review + create](レビュー + 作成) を選択します。

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

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

重要

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

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

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

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

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

  4. [ 基本 ] ウィンドウで、 リージョンを選択し、[ サイズの変更] を選択します。

    [Create a managed disk Basics]\(マネージド ディスクの作成の基本\) ウィンドウのスクリーンショット。リージョンが米国西部に設定され、可用性ゾーンが [なし] に設定され、[サイズの変更] が強調表示されています。

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

    ローカル冗長ストレージとゾーン冗長ストレージが強調表示されている Standard SSD を含むディスク SKU の一覧のスクリーンショット。

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

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

    [共有ディスクを有効にする] が [はい] に設定され、[最大共有] が 2 に設定されている共有ディスク設定のスクリーンショット。

  8. [Review + create](レビュー + 作成) を選択します。

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

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

重要

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

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

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

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

  4. [ 基本 ] ウィンドウで、[ サイズの変更] を選択します。

  5. ディスク SKU の Ultra Disk を選択します。

    [ローカル冗長ストレージ] が選択されている [Ultra Disk] の [ディスク SKU] リストのスクリーンショット。

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

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

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

  9. [Review + create](レビュー + 作成) を選択します。

    [共有ディスクを有効にする] が [はい]、[最大共有] が 2、Ultra Disk のパフォーマンス値、論理セクター サイズが 4096 バイトに設定されている [詳細設定] ウィンドウのスクリーンショット。

既存のディスクの共有

既存のディスクを共有したり、マウントできる VM の数を更新したりするには、Azure PowerShellまたはAzure CLIを使用して maxShares パラメーターを設定します。 共有を無効にするには、 maxShares を 1 に設定します。

重要

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

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

Azure PowerShell

次のAzure PowerShellコマンドは、既存のディスクの共有構成を更新します。

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

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

Azure CLI

次のAzure 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 にマウントできます。

注記

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

Ultra Disk をデプロイする場合は、必要な要件と一致していることを確認します。 詳細については、「 Azure Ultra Disks の使用 」を参照してください。

次のAzure PowerShellコマンドは、VM を作成し、共有ディスクをデータ ディスクとして接続します。


$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 永続予約コマンド

共有ディスクをクラスター内の VM にマウントした後は、Small Computer System Interface (SCSI) 永続予約 (PR) コマンドを使用して、ディスクに対するクォーラムと読み取り/書き込みを確立できます。

Azure共有ディスクを使用する場合は、次の SCSI 永続予約コマンドを使用できます。

  • PR_REGISTER_KEY
  • PR_REGISTER_AND_IGNORE
  • PR_GET_CONFIGURATION
  • PR_RESERVE
  • PR_PREEMPT_RESERVATION
  • PR_CLEAR_RESERVATION
  • PR_RELEASE_RESERVATION

PR_RESERVEPR_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_RESERVEPR_REGISTER_AND_IGNOREPR_REGISTER_KEYPR_PREEMPT_RESERVATIONPR_CLEAR_RESERVATION、または PR_RELEASE_RESERVATIONを使用する場合は、永続的な予約キーを指定する必要があります。

次のステップ

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