共有ディスクを有効にする
適用対象: ✔️ 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 ディスクを共有するとき、次の追加制限があります。
- Windows Server フェールオーバー クラスターの一部のバージョンでは、ベーシック ディスクのみを使用できます。詳細については、「フェールオーバー クラスタリングのハードウェア要件と記憶域オプション」を参照してください。
- 可用性ゾーン間で共有することはできません。
Premium SSD v2
Premium SSD v2 マネージド ディスクには、共有ディスクとは関係なく、独自の制限リストがあります。 これらの制限については、「Premium SSD v2 の制限事項」を参照してください。
Premium SSD v2 ディスクを共有するとき、次の追加制限があります。
- Windows Server フェールオーバー クラスターの一部のバージョンでは、ベーシック ディスクのみを使用できます。詳細については、「フェールオーバー クラスタリングのハードウェア要件と記憶域オプション」を参照してください。
- 可用性ゾーン間で共有することはできません。
Premium SSD
- OS ディスクではなく、データ ディスクでのみ有効にすることができます。
- ホスト キャッシュは、
maxShares>1
の Premium SSD ディスクでは使用できません。 - ディスク バーストは、
maxShares>1
の Premium SSD ディスクでは使用できません。 - Azure 共有ディスクで可用性セットまたは Virtual Machine Scale Sets を使用している場合、仮想マシン障害ドメインによるストレージ障害ドメイン配置は共有データ ディスクには適用されません。
- 近接配置グループ (PPG) を使用する場合は、ディスクを共有するすべての仮想マシンが同じ PPG に含まれている必要があります。
- Windows Server フェールオーバー クラスターの一部のバージョンでは、ベーシック ディスクのみを使用できます。詳細については、「フェールオーバー クラスタリングのハードウェア要件と記憶域オプション」を参照してください。
- Azure Site Recovery のサポートは、まだ使用できません。
- Azure Backup は Azure ディスク バックアップ を通じて利用できます。
- サーバー側暗号化のみがサポートされており、Azure Disk Encryption は現在サポートされていません。
- マネージド ディスクにゾーン冗長ストレージを使用している場合、可用性ゾーン間でのみ共有できます。
Standard SSD
- OS ディスクではなく、データ ディスクでのみ有効にすることができます。
- ホスト キャッシュは、
maxShares>1
の Standard SSD では使用できません。 - Azure 共有ディスクで可用性セットと Virtual Machine Scale Sets を使用している場合、仮想マシン障害ドメインによるストレージ障害ドメイン配置は共有データ ディスクには適用されません。
- 近接配置グループ (PPG) を使用する場合は、ディスクを共有するすべての仮想マシンが同じ PPG に含まれている必要があります。
- Windows Server フェールオーバー クラスターの一部のバージョンでは、ベーシック ディスクのみを使用できます。詳細については、「フェールオーバー クラスタリングのハードウェア要件と記憶域オプション」を参照してください。
- Azure Site Recovery のサポートは、まだ使用できません。
- Azure Backup は Azure ディスク バックアップ を通じて利用できます。
- サーバー側暗号化のみがサポートされており、Azure Disk Encryption は現在サポートされていません。
- マネージド ディスクにゾーン冗長ストレージを使用している場合、可用性ゾーン間でのみ共有できます。
サポートされるオペレーティング システム
共有ディスクは、複数のオペレーティング システムでサポートされます。 サポートされているオペレーティング システムについては、概念に関する記事の Windows と Linux のセクションを参照してください。
ディスク サイズ
現在のところ、Ultra ディスク、Premium SSD v2、Premium SSD、Standard SSD のみで共有ディスクを有効にできます。 ディスクのサイズによって maxShares
制限が異なる場合があります。これは、maxShares
値を設定するときに超えることはできません。
ディスクごとに、ディスクを同時に共有できるノードの最大数を表す maxShares
値を定義できます。 たとえば、2 ノードのフェールオーバークラスターをセットアップする場合は、maxShares=2
を設定します。 最大値は上限です。 ノード数が指定された maxShares
値よりも少ない場合は、ノードがクラスターに参加したり、クラスターから離脱したり (ディスクのマウントまたはマウント解除) できます。
Note
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 からマウント解除されている場合にのみ設定または変更できます。 maxShares
に使用できる値については、ディスクのサイズ を参照してください。
Standard SSD を共有ディスクとしてデプロイする
共有ディスク機能が有効になっているマネージド ディスクをデプロイするには、新しいプロパティ maxShares
を使用し、1 より大きい値を定義します。 これにより、複数の VM 間でディスクを共有できるようになります。
重要
ホスト キャッシュは、共有ディスクではサポートされていません。
maxShares
の値は、ディスクがすべての VM からマウント解除されている場合にのみ設定または変更できます。 maxShares
に使用できる値については、ディスクのサイズ を参照してください。
Ultra ディスクを共有ディスクとしてデプロイする
共有ディスク機能が有効になっているマネージド ディスクをデプロイするには、maxShares
パラメーターを 1 より大きい値に変更します。 これにより、複数の VM 間でディスクを共有できるようになります。
重要
maxShares
の値は、ディスクがすべての VM からマウント解除されている場合にのみ設定または変更できます。 maxShares
に使用できる値については、ディスクのサイズ を参照してください。
既存のディスクの共有
既存のディスクを共有したり、マウントできる VM の数を更新したりするには、maxShares
パラメーターを Azure PowerShell モジュールまたは Azure CLI のいずれかに設定します。 共有を無効にする場合は、maxShares
を 1 に設定してもかまいません。
重要
ホスト キャッシュは、共有ディスクではサポートされていません。
maxShares
の値は、ディスクがすべての VM からマウント解除されている場合にのみ設定または変更できます。 maxShares
に使用できる値については、ディスクのサイズ を参照してください。
ディスクをデタッチする前に、再アタッチ時のために 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 の共有ディスクに関するセクションを参照してください。