共用 Azure 受控磁碟
適用於: ✔️ Linux VM ✔️ Windows VM ✔️ 彈性擴展集 ✔️ 統一擴展集
Azure 共用磁碟是 Azure 受控磁碟的功能,可讓您同時同時將 Azure 管理的磁碟連結到多部虛擬機器 (VM)。 將受控磁碟連結到多部 VM 可讓您部署新的或移轉現有叢集應用程式到 Azure。
共用磁碟需要叢集管理員 (例如 Windows Server 容錯移轉叢集 (WSFC) 或 Pacemaker) 來處理叢集節點通訊,以及寫入鎖定。 共用的受控磁碟本身並不提供可以使用 SMB/NFS 來存取的完全受控檔案系統。
叢集中的 VM 可以根據使用 SCSI 持續保留 (SCSI PR) 的叢集應用程式所選擇的保留,來讀取或寫入其連結的磁碟。 SCSI PR 是一種業界標準,可供在內部部署的存放區域網路 (SAN) 上執行的應用程式使用。 在受控磁碟上啟用 SCSI PR 可讓您依情況將這些應用程式移轉至 Azure。
共用的受控磁碟提供可從多個 VM 存取的共用區塊存放裝置,這些儲存體會公開為邏輯單元編號 (LUN)。 然後,LUN 會從目標 (磁碟) 呈現給啟動器 (VM)。 這些 LUN 看起來像是直接連接存放裝置 (DAS) 或 VM 的本機磁碟磁碟機。
無論磁碟類型為何,共用磁碟都有適用於全部共用磁碟的一般限制。 也有僅適用於特定共用磁碟類型的其他限制。 下列清單是一般限制的清單:
- 目前,只能使用 Ultra 磁碟、進階 SSD v2、進階 SSD 和標準 SSD 作為共用磁碟
- 共用磁碟可以連結至個別虛擬機器擴展集,但無法在虛擬機器擴展集模型中定義或自動部署
- 共用磁碟無法展開,而不需要解除分配磁碟所連結的全部 VM,或將磁碟與全部這些 VM 中斷連結
- 共用磁碟不支援寫入加速器
- 共用磁碟不支援主機快取
每個已啟用共用磁碟的受控磁碟也會受限於下列限制,以下依磁碟類型分類:
Ultra 磁碟有著與共享磁碟無關的個別限制清單。 如需 Ultra 磁碟限制的資訊,請參閱使用 Azure Ultra 磁碟。
在共用 Ultra 磁碟時,它們有著下列額外限制:
- 只有基本磁碟可以搭配某些版本的 Windows 伺服器容錯移轉叢集使用。如需詳細資訊,請參閱容錯移轉叢集硬體需求和儲存體選項。
- 無法跨可用性區域共用。
進階 SSD v2 受控磁碟有所屬的個別限制清單,與共用磁碟無關。 若要了解這些限制,請參閱進階 SSD v2 限制。
在共用進階 SSD v2 磁碟時,其具有下列額外限制:
- 只有基本磁碟可以搭配某些版本的 Windows 伺服器容錯移轉叢集使用。如需詳細資訊,請參閱容錯移轉叢集硬體需求和儲存體選項。
- 無法跨可用性區域共用。
- 只能在資料磁碟上啟用,無法在 OS 磁碟上啟用。
- 帶有
maxShares>1
的進階 SSD 磁碟無法使用主機快取。 - 帶有
maxShares>1
的進階 SSD 磁碟無法使用磁碟高載。 - 在搭配 Azure 共用磁碟使用可用性設定組或虛擬機器擴展集時,並不會針對共用資料磁碟強制執行與虛擬機器容錯網域的儲存體容錯網域一致對齊。
- 在使用 Azure 鄰近放置群組 (PPG)時,所有共用磁碟的虛擬機器都必須是相同 PPG 的一部分。
- 只有基本磁碟可以搭配某些版本的 Windows 伺服器容錯移轉叢集使用。如需詳細資訊,請參閱容錯移轉叢集硬體需求和儲存體選項。
- 目前尚未提供對 Azure Site Recovery 的支援。
- Azure 備份可透過 Azure 磁碟備份取得。
- 目前僅支援伺服器端加密,Azure 磁碟加密目前尚不支援。
- 僅當針對受控磁碟使用區域備援儲存體時,才能跨可用性區域共用。
- 只能在資料磁碟上啟用,無法在 OS 磁碟上啟用。
- 帶有
maxShares>1
的標準 SSD 無法使用主機快取。 - 在搭配 Azure 共用磁碟使用可用性設定組和虛擬機器擴展集時,並不會針對共用資料磁碟強制執行與虛擬機器容錯網域的儲存體容錯網域一致對齊。
- 在使用 Azure 鄰近放置群組 (PPG)時,所有共用磁碟的虛擬機器都必須是相同 PPG 的一部分。
- 只有基本磁碟可以搭配某些版本的 Windows 伺服器容錯移轉叢集使用。如需詳細資訊,請參閱容錯移轉叢集硬體需求和儲存體選項。
- 目前尚未提供對 Azure Site Recovery 的支援。
- Azure 備份可透過 Azure 磁碟備份取得。
- 目前僅支援伺服器端加密,Azure 磁碟加密目前尚不支援。
- 僅當針對受控磁碟使用區域備援儲存體時,才能跨可用性區域共用。
共用磁碟支援數個作業系統。 請針對所支援的作業系統來參閱 Windows 或 Linux 小節。
當您共用磁碟時,計費可能會因為兩種不同的方式而受到影響 (視磁碟類型而定)。
對於共用的進階 SSD 磁碟,除了磁碟層級的成本之外,還有額外費用會隨著掛接 SSD 的每個 VM 而增加。 如需詳細資訊,請參閱受控磁碟定價。
共用 Ultra 磁碟和共用進階 SSD v2 磁碟對於掛接的每個 VM 都不需要額外的費用。 這些磁碟會以磁碟設定的 IOPS 和 MB/s 總數來計費。 一般而言,Ultra 磁碟和進階 SSD v2 有兩個效能節流,可判斷其總 IOPS/MB/秒。 不過,當設定為共用磁碟時,會再公開兩個效能節流,總共有四個。 這兩個額外的節流可透過增加費用來提高效能,而且每個計量都有預設值,這會增加磁碟的效能和成本。
共用 Ultra 磁碟和共用進階 SSD v2 磁碟的四個效能節流是 diskIOPSReadWrite、diskMB/sReadWrite、diskIOPSReadOnly 和 diskMB/sReadOnly。 每個效能節流都可以設定以變更磁碟的效能。 共用 Ultra 磁碟進階 SSD v2 磁碟的效能會以下列方式計算:已布建的 IOPS 總計(diskIOPSReadWrite + diskIOPSReadOnly)和布建輸送量 MB/秒總計(diskMB/sReadWrite + diskMB/sReadOnly)。
確定布建的 IOPS 總計和布建輸送量總計之後,您就可以在定價計算機中使用這些輸送量來判斷 Ultra 共用磁碟和進階 SSD v2 共用磁碟的成本。
目前只有 Ultra 磁碟、進階 SSD v2、進階 SSD 和標準 SSD 可以啟用共用磁碟。 不同的磁碟大小可能會有不同的 maxShares
限制,您在設定 maxShares
時無法超過此值。
針對每個磁碟,您可以定義 maxShares
值,其代表可同時共用磁碟的節點數目上限。 例如,如果您打算設定有 2 個節點的容錯移轉叢集,您會設定 maxShares=2
。 最大值是向上的最大限值。 只要節點數目低於指定的 maxShares
值,節點就可以加入或離開叢集 (掛接或卸載磁碟)。
注意
只有在磁碟從所有節點中斷連結時,才能設定或編輯 maxShares
值。
下表說明了進階 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 的允許最大 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 都一樣。
maxShares
的最小值為 1,maxShares
的最大值為 15。 Ultra 磁碟沒有任何大小上的限制,任何大小的 Ultra 磁碟都可以針對 maxShares
設定任何值,直到並包含最大值。
maxShares
的最小值為 1,maxShares
的最大值為 15。 進階 SSD v2 磁碟沒有任何大小上的限制,任何大小的進階 SSD v2 磁碟都可以針對 maxShares
設定任何值,直到並包含最大值。
Windows Server 2008 和更新版本支援 Azure 共用磁碟。 大部分以 Windows 為基礎的叢集建置於 WSFC 上,可處理叢集節點通訊的所有核心基礎結構,讓您的應用程式能夠利用平行存取模式。 WSFC 會根據您的 Windows Server 版本,啟用 CSV 和非 CSV 的選項。 如需詳細資訊,請參閱建立容錯移轉叢集。
WSFC 上執行的一些熱門應用程式包括:
- 建立使用 Azure 共用磁碟的 FCI (Azure VM 上的 SQL Server)
- 擴增檔案伺服器 (SoFS) 範本
- SAP ASCS/SCS 範本
- 一般用途的檔案伺服器 (IW 工作負載)
- 遠端桌面伺服器使用者設定檔磁碟 (RDS UPD)
Azure 共用磁碟支援用於:
- SUSE SLE HA 15 SP1 和更新版本
- Ubuntu 18.04 和更新版本
- Red Hat Enterprise Linux (RHEL) (支援原則)
- Oracle Enterprise Linux
Linux 叢集可以使用叢集管理員,例如 Pacemaker。 Pacemaker 是以 Corosync 為基礎,可針對部署在高可用性環境中的應用程式啟用叢集通訊。 一些常見的叢集檔案系統包括 ocfs2 和 gfs2。 您可以使用 SCSI 持續性保留 (SCSI PR) 和/或 STONITH 區塊裝置 (SBD) 型叢集模型,以仲裁磁碟的存取權。 在使用 SCSI PR 時,您可以使用公用程式 (例如 fence_scsi 和 sg_persist) 來操作保留和註冊。
下圖說明一個範例 2 節點的叢集資料庫應用程式,它使用 SCSI PR 來啟用從一個節點到另一個節點的容錯移轉。
流程如下︰
- 在 Azure VM1 和 VM2 上執行的叢集應用程式會註冊其意圖,以讀取或寫入磁碟。
- 然後,VM1 上的應用程式執行個體會取得獨佔保留以寫入磁碟。
- 系統會在您的 Azure 磁碟上強制執行此保留,而資料庫此時可獨佔寫入磁碟。 從 VM2 上的應用程式執行個體進行的任何寫入都不會成功。
- 如果 VM1 上的應用程式執行個體停止運作,VM2 上的執行個體此時可以起始資料庫容錯移轉和磁碟的接管。
- 此保留專案此時已在 Azure 磁碟上強制執行,且磁碟將不再接受來自 VM1 的寫入。 如此只會接受來自 VM2 的寫入。
- 叢集應用程式可以完成資料庫容錯移轉,並提供來自 VM2 的要求。
下圖說明另一個常見的叢集工作負載,其中包含多個從磁碟讀取資料以執行平行處理的節點,例如機器學習模型的定型。
流程如下︰
- 在所有 VM 上執行的叢集應用程式會註冊其意圖,以讀取或寫入磁碟。
- 在開啟其他 VM 的磁碟讀取時,VM1 上的應用程式執行個體會取得獨佔保留以寫入磁碟。
- 系統會在您的 Azure 磁碟上強制執行此保留。
- 叢集中的所有節點此時都可以從磁碟讀取。 只有一個節點會代表叢集中的所有節點,將結果寫回磁碟。
Ultra 磁碟和進階 SSD v2 受控磁碟都提供兩個額外的節流,每個節流總共提供四個節流。 因此,保留流程可以如先前章節中所述的方式來執行,也可以便更精確地調節和散發效能。
使用進階 SSD 時,會有固定的磁碟 IOPS 和輸送量,例如 P30 的 IOPS 是 5000。 不論是跨 2 部 VM 還是 5 部 VM 來共用磁碟,此值都會一樣。 您可以從單一 VM 達到磁碟限制,也可以跨兩部以上的 VM 來達到此限制。
Ultra 磁碟和進階 SSD v2 受控磁碟都有獨特的功能,可讓您藉由公開可修改的屬性並允許您修改它們來設定效能。 根據預設,只有兩個可修改的屬性,但共用的 Ultra 磁碟和共用進階 SSD v2 受控磁碟還有兩個屬性。 Ultra 磁碟和進階 SSD v2 會跨每個連結的 VM 分割這些屬性。 如需此容量、IOPS 及輸送量分佈運作方式的一些範例,請參閱範例一節。
屬性 | 描述 |
---|---|
DiskIOPSReadWrite (讀取/寫入磁碟 IOPS) | 所有 VM 上允許的 IOPS 總數,以寫入權限掛接共用磁碟。 |
DiskMB/sReadWrite (讀取/寫入磁碟輸送量) | 所有 VM 上允許的總輸送量 (MB/s),以寫入權限掛接共用磁碟。 |
DiskIOPSReadOnly* (唯讀磁碟 IOPS) | 將共用磁碟掛接為 ReadOnly 的所有 VM 允許的 IOPS 總數。 |
DiskMB/sReadOnly* (唯讀磁碟輸送量) | 將共用磁碟掛接為 ReadOnly 的所有 VM 允許的總輸送量 (MB/s)。 |
* 僅適用於共用 Ultra 磁碟和共用進階 SSD v2 受控磁碟
下列公式說明如何設定效能屬性,因為這些是使用者可修改的屬性:
- DiskIOPSReadWrite (讀取/寫入磁碟 IOPS):
- 對於 100 GiB 及更小的磁碟,基準最小 IOPS 為 100。
- 對於大於 100 GiB 的磁碟,您可以為每個 GiB 設定的基準最小 IOPS 增加 1。 因此,您可以為 101 GiB 磁碟設定 DiskIOPSReadWrite 的最低值為 101 IOPS。
- 您可以設定此屬性的最大值取決於磁碟大小、公式為 300 * GiB,最多 400,000 個。
- 對於 100 GiB 及更小的磁碟,基準最小 IOPS 為 100。
- DiskMB/sReadWrite (讀取/寫入磁碟輸送量)
- 此屬性的最小輸送量 (MB/秒) 是由您的 IOPS 決定,公式為每 IOPS 每秒 4 KiB。 因此,如果您有 101 IOPS,您可以設定的最小 MB/秒為 1。
- 您可以設定此屬性的最大值取決於您設定的 IOPS 數量,公式為每 IOPS 每秒 256 KiB,最多 10,000 MB/秒。
- DiskIOPSReadOnly (唯讀磁碟 IOPS)
- 此屬性的最小基準 IOPS 為 100。 針對 DiskIOPSReadOnly,基準不會隨著磁碟大小而增加。
- 您可以設定此屬性的最大值取決於磁碟大小、公式為 300 * GiB,最多 400,000 個。
- DiskMB/sReadOnly (唯讀磁碟輸送量)
- 此屬性的最小輸送量 (MB/秒) 為 1。 針對 DiskMB/sReadOnly,基準不會隨著 IOPS 而增加。
- 您可以設定此屬性的最大值取決於您設定的 IOPS 數量,公式為每 IOPS 每秒 256 KiB,最多 10,000 MB/秒。
下列範例說明一些示範節流如何與共享的 Ultra 磁碟具體搭配使用的案例。
以下是使用叢集共用磁碟區的 2 節點 WSFC 範例。 使用此設定時,這兩個 VM 會同時對磁碟進行寫入存取,這會導致兩個 VM 上的 ReadWrite
節流被分割,而未使用 ReadOnly
節流。
以下是未使用叢集共用磁碟區的 2 節點 WSFC 範例。 使用此設定時,只有一個 VM 具有磁碟的寫入存取權。 這會導致主要 VM 僅使用 ReadWrite
節流,而只有次要資料庫才使用 ReadOnly
節流。
以下範例是具有單一寫入器和三個向外延展讀取器的 4 節點 Linux 叢集。 使用此設定時,只有一個 VM 具有磁碟的寫入存取權。 這會導致只有主要 VM 使用 ReadWrite
節流,而次要的 VM 會分割 ReadOnly
節流。
共用 Ultra 磁碟和共用進階 SSD v2 受控磁碟都是依據佈建的容量、佈建的 IOPS 總計 (diskIOPSReadWrite + diskIOPSReadOnly) 和佈建的輸送量 MB/秒總計 (diskMB/sReadWrite + diskMB/sReadOnly) 定價。 每個額外的 VM 掛接則不會再收費。 例如,具有下列設定的共用Ultra磁碟 (diskSizeGB: 1024, DiskIOPSReadWrite:10000、DiskMB/sReadWrite:600、DiskIOPSReadOnly:100、DiskMB/sReadOnly:1) 會收取 1024 GiB、10100 IOPS 和 601 MB/秒的費用,不論它是否掛接至兩部 VM 或五部 VM。
如果您有興趣啟用和使用受控磁碟的共用磁碟,請繼續閱讀啟用共用磁碟一文
如果您有其他問題,請參閱常見問題的共用磁碟一節。