啟用共用磁碟
適用於: ✔️ Linux VM ✔️ Windows VM ✔️ 彈性擴展集 ✔️ 統一擴展集
本文將涵蓋如何啟用 Azure 受控磁碟的共用磁碟功能。 Azure 共用磁碟是 Azure 受控磁碟的新功能,可讓您同時同時將 Azure 管理的磁碟連結到多部虛擬機器 (VM)。 將受控磁碟連結到多部 VM 可讓您部署新的或移轉現有叢集應用程式到 Azure。
若要瞭解有關已啟用共用磁碟的受控磁碟的概念資訊,請參閱 Azure 共用磁碟。
必要條件
本文中的指令碼和命令需要:
- 6.0.0 版或更新版本的 Azure PowerShell 模組。
Or
- 最新版的 Azure CLI。
限制
一般限制
無論磁碟類型為何,共用磁碟都有適用於全部共用磁碟的一般限制。 也有僅適用於特定共用磁碟類型的其他限制。 下列清單是一般限制的清單:
- 目前,只能使用 Ultra 磁碟、進階 SSD v2、進階 SSD 和標準 SSD 作為共用磁碟
- 共用磁碟可以連結至個別虛擬機器擴展集,但無法在虛擬機器擴展集模型中定義或自動部署
- 共用磁碟無法展開,而不需要解除分配磁碟所連結的全部 VM,或將磁碟與全部這些 VM 中斷連結
- 共用磁碟不支援寫入加速器
- 共用磁碟不支援主機快取
每個已啟用共用磁碟的受控磁碟也會受限於下列限制,以下依磁碟類型分類:
Ultra 磁碟
Ultra 磁碟有著與共享磁碟無關的個別限制清單。 如需 Ultra 磁碟限制的資訊,請參閱使用 Azure Ultra 磁碟。
在共用 Ultra 磁碟時,它們有著下列額外限制:
- 只有基本磁碟可以搭配某些版本的 Windows 伺服器容錯移轉叢集使用。如需詳細資訊,請參閱容錯移轉叢集硬體需求和儲存體選項。
- 無法跨可用性區域共用。
進階 SSD v2
進階 SSD v2 受控磁碟有所屬的個別限制清單,與共用磁碟無關。 若要了解這些限制,請參閱進階 SSD v2 限制。
在共用進階 SSD v2 磁碟時,其具有下列額外限制:
- 只有基本磁碟可以搭配某些版本的 Windows 伺服器容錯移轉叢集使用。如需詳細資訊,請參閱容錯移轉叢集硬體需求和儲存體選項。
- 無法跨可用性區域共用。
進階 SSD
- 只能在資料磁碟上啟用,無法在 OS 磁碟上啟用。
- 帶有
maxShares>1
的進階 SSD 磁碟無法使用主機快取。 - 帶有
maxShares>1
的進階 SSD 磁碟無法使用磁碟高載。 - 在搭配 Azure 共用磁碟使用可用性設定組或虛擬機器擴展集時,並不會針對共用資料磁碟強制執行與虛擬機器容錯網域的儲存體容錯網域一致對齊。
- 在使用 Azure 鄰近放置群組 (PPG)時,所有共用磁碟的虛擬機器都必須是相同 PPG 的一部分。
- 只有基本磁碟可以搭配某些版本的 Windows 伺服器容錯移轉叢集使用。如需詳細資訊,請參閱容錯移轉叢集硬體需求和儲存體選項。
- 目前尚未提供對 Azure Site Recovery 的支援。
- Azure 備份可透過 Azure 磁碟備份取得。
- 目前僅支援伺服器端加密,Azure 磁碟加密目前尚不支援。
- 僅當針對受控磁碟使用區域備援儲存體時,才能跨可用性區域共用。
標準 SSD
- 只能在資料磁碟上啟用,無法在 OS 磁碟上啟用。
- 帶有
maxShares>1
的標準 SSD 無法使用主機快取。 - 在搭配 Azure 共用磁碟使用可用性設定組和虛擬機器擴展集時,並不會針對共用資料磁碟強制執行與虛擬機器容錯網域的儲存體容錯網域一致對齊。
- 在使用 Azure 鄰近放置群組 (PPG)時,所有共用磁碟的虛擬機器都必須是相同 PPG 的一部分。
- 只有基本磁碟可以搭配某些版本的 Windows 伺服器容錯移轉叢集使用。如需詳細資訊,請參閱容錯移轉叢集硬體需求和儲存體選項。
- 目前尚未提供對 Azure Site Recovery 的支援。
- Azure 備份可透過 Azure 磁碟備份取得。
- 目前僅支援伺服器端加密,Azure 磁碟加密目前尚不支援。
- 僅當針對受控磁碟使用區域備援儲存體時,才能跨可用性區域共用。
受支援的作業系統
共用磁碟支援數個作業系統。 如需有關支援作業系統的詳細資訊,請參閱概念性文章的 Windows 和 Linux 小節。
磁碟大小
目前只有 Ultra 磁碟、進階 SSD v2、進階 SSD 和標準 SSD 可以啟用共用磁碟。 不同的磁碟大小可能會有不同的 maxShares
限制,您在設定 maxShares
時無法超過此值。
針對每個磁碟,您可以定義 maxShares
值,其代表可同時共用磁碟的節點數目上限。 例如,如果您打算設定有 2 個節點的容錯移轉叢集,您會設定 maxShares=2
。 最大值是向上的最大限值。 只要節點數目低於指定的 maxShares
值,節點就可以加入或離開叢集 (掛接或卸載磁碟)。
注意
只有在磁碟從所有節點中斷連結時,才能設定或編輯 maxShares
值。
進階 SSD 範圍
下表說明了進階 SSD 的允許最大 maxShares
值,以大小區分:
磁碟大小 | maxShares 限制 |
---|---|
P1、P2、P3、P4、P6、P10、P15、P20 | 3 |
P30、P40、P50 | 5 |
P60、P70、P80 | 10 |
磁碟的 IOPS 和頻寬限制不會受到 maxShares
值的影響。 例如,P15 磁碟的最大 IOPS 是 1100,不論 maxShares = 1 或 maxShares > 1 都一樣。
標準 SSD 範圍
下表說明了標準 SSD 的允許最大 maxShares
值,以大小區分:
磁碟大小 | maxShares 限制 |
---|---|
E1、E2、E3、E4、E6、E10、E15、E20 | 3 |
E30、E40、E50 | 5 |
E60、E70、E80 | 10 |
磁碟的 IOPS 和頻寬限制不會受到 maxShares
值的影響。 例如,E15 磁碟的最大 IOPS 是 500,不論 maxShares = 1 或 maxShares > 1 都一樣。
Ultra 磁碟範圍
maxShares
的最小值為 1,maxShares
的最大值為 15。 Ultra 磁碟沒有任何大小上的限制,任何大小的 Ultra 磁碟都可以針對 maxShares
設定任何值,直到並包含最大值。
進階 SSD v2 範圍
maxShares
的最小值為 1,maxShares
的最大值為 15。 進階 SSD v2 磁碟沒有任何大小上的限制,任何大小的進階 SSD v2 磁碟都可以針對 maxShares
設定任何值,直到並包含最大值。
部署共用磁碟
將進階 SSD 部署為共用磁碟
若要部署已啟用共用磁碟功能的受控磁碟,請使用新的 屬性 maxShares
並將其定義為大於 1 的值。 這可讓磁碟跨多個 VM 共用。
將標準 SSD 部署為共用磁碟
若要部署已啟用共用磁碟功能的受控磁碟,請使用新的 屬性 maxShares
並將其定義為大於 1 的值。 這可讓磁碟跨多個 VM 共用。
將 Ultra 磁片部署為共用磁碟
若要部署已啟用共用磁碟功能的受控磁碟,請將 maxShares
參數變更為大於 1 的值。 這可讓磁碟跨多個 VM 共用。
重要
只有在從所有 VM 卸載磁碟後,才能設定或變更 maxShares
的值。 如需有關 maxShares
值的允許範圍,請參閱磁碟大小。
共用現有的磁碟
若要共用現有的磁碟或更新可以掛接的 VM 數目,請使用 Azure PowerShell 模組或 Azure CLI 來設定 maxShares
參數。 如果想要停止共用,您也可以將 maxShares
設定為 1。
重要
共用磁碟不支援主機快取。
只有在從所有 VM 卸載磁碟後,才能設定或變更 maxShares
的值。 如需有關 maxShares
值的允許範圍,請參閱磁碟大小。
在中斷連結磁碟之前,請記錄 LUN 識別碼以供日後重新連結時使用。
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
部署共用磁碟後,您可以將磁碟掛接至一個或多個 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 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 範本來部署磁碟,可以使用下列範本:
如果您有其他問題,請參閱常見問題的共用磁碟一節。