共用方式為


啟用共用磁碟

適用於: ✔️ 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 磁碟時,它們有著下列額外限制:

進階 SSD v2

進階 SSD v2 受控磁碟有所屬的個別限制清單,與共用磁碟無關。 若要了解這些限制,請參閱進階 SSD v2 限制

在共用進階 SSD v2 磁碟時,其具有下列額外限制:

進階 SSD

標準 SSD

受支援的作業系統

共用磁碟支援數個作業系統。 如需有關支援作業系統的詳細資訊,請參閱概念性文章的 WindowsLinux 小節。

磁碟大小

目前只有 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 共用。

重要

共用磁碟不支援主機快取。

只有在從所有 VM 卸載磁碟後,才能設定或變更 maxShares 的值。 如需有關 maxShares 值的允許範圍,請參閱磁碟大小

  1. 登入 Azure 入口網站。

  2. 搜尋並選取 [磁碟]

  3. 選取 [+ 建立 ] 以建立新的受控磁碟。

  4. 填寫詳細資料並選取適當的區域,然後選取 [變更大小]

    建立受控磁碟窗格的螢幕擷取畫面,其中醒目提示 [變更大小]。

  5. 選取您想要的進階 SSD 大小和 SKU,然後選取 [確定]

    磁碟 SKU 的螢幕擷取畫面,其中醒目提示進階 LRS 與 ZRS SSD SKU。

  6. 繼續進行部署,直到您進入 [進階] 窗格為止。

  7. 針對 [啟用共用磁碟] 選取 [是],然後選取您想要的 [最大共用] 數量。

    [進階] 窗格的螢幕擷取畫面,其中醒目提示 [開啟共用磁碟] 且已設定為 [是]。

  8. 選取 [檢閱 + 建立] 。

將標準 SSD 部署為共用磁碟

若要部署已啟用共用磁碟功能的受控磁碟,請使用新的 屬性 maxShares 並將其定義為大於 1 的值。 這可讓磁碟跨多個 VM 共用。

重要

共用磁碟不支援主機快取。

只有在從所有 VM 卸載磁碟後,才能設定或變更 maxShares 的值。 如需有關 maxShares 值的允許範圍,請參閱磁碟大小

  1. 登入 Azure 入口網站。

  2. 搜尋並選取 [磁碟]

  3. 選取 [+ 建立 ] 以建立新的受控磁碟。

  4. 填寫詳細資料並選取適當的區域,然後選取 [變更大小]

    建立受控磁碟窗格的螢幕擷取畫面,其中醒目提示 [變更大小]。

  5. 選取您想要的標準 SSD 大小和 SKU,然後選取 [確定]

    磁碟 SKU 的螢幕擷取畫面,其中醒目提示標準 SSD LRS 與 ZRS SKU。

  6. 繼續進行部署,直到您進入 [進階] 窗格為止。

  7. 針對 [啟用共用磁碟] 選取 [是],然後選取您想要的 [最大共用] 數量。

    [進階] 窗格的螢幕擷取畫面,其中醒目提示 [開啟共用磁碟] 且已設定為 [是]。

  8. 選取 [檢閱 + 建立] 。

將 Ultra 磁片部署為共用磁碟

若要部署已啟用共用磁碟功能的受控磁碟,請將 maxShares 參數變更為大於 1 的值。 這可讓磁碟跨多個 VM 共用。

重要

只有在從所有 VM 卸載磁碟後,才能設定或變更 maxShares 的值。 如需有關 maxShares 值的允許範圍,請參閱磁碟大小

  1. 登入 Azure 入口網站。

  2. 搜尋並選取 [磁碟]

  3. 選取 [+ 建立 ] 以建立新的受控磁碟。

  4. 填寫詳細資料,然後選取 [變更大小]

  5. 在 [磁片 SKU] 選項上選取 Ultra 磁片。

    磁碟 SKU 的螢幕擷取畫面,其中醒目提示 Ultra 磁碟。

  6. 選取您想要的磁碟大小,然後選取 [確定]

  7. 繼續進行部署,直到您進入 [進階] 窗格為止。

  8. 針對 [啟用共用磁碟] 選取 [是],然後選取您想要的 [最大共用] 數量。

  9. 選取 [檢閱 + 建立] 。

    [進階] 窗格的螢幕擷取畫面,其中醒目提示 [啟用共用磁碟]。

共用現有的磁碟

若要共用現有的磁碟或更新可以掛接的 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 上。

注意

共用磁碟不支援主機快取。

如果您部署的是 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 範本來部署磁碟,可以使用下列範本:

如果您有其他問題,請參閱常見問題的共用磁碟一節。