訓練
模組
使用共用磁碟在 Azure 上執行叢集應用程式 - Training
為叢集應用程式提供高可用性是大部分組織的重要需求。 透過 Microsoft Azure 共用磁碟,您可以在 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 磁碟有著與共享磁碟無關的個別限制清單。 如需 Ultra 磁碟限制的資訊,請參閱使用 Azure Ultra 磁碟。
在共用 Ultra 磁碟時,它們有著下列額外限制:
進階 SSD v2 受控磁碟有所屬的個別限制清單,與共用磁碟無關。 若要了解這些限制,請參閱進階 SSD v2 限制。
在共用進階 SSD v2 磁碟時,其具有下列額外限制:
maxShares>1
的進階 SSD 磁碟無法使用主機快取。maxShares>1
的進階 SSD 磁碟無法使用磁碟高載。maxShares>1
的標準 SSD 無法使用主機快取。共用磁碟支援數個作業系統。 請針對所支援的作業系統來參閱 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 共用磁碟支援用於:
Linux 叢集可以使用叢集管理員,例如 Pacemaker。 Pacemaker 是以 Corosync 為基礎,可針對部署在高可用性環境中的應用程式啟用叢集通訊。 一些常見的叢集檔案系統包括 ocfs2 和 gfs2。 您可以使用 SCSI 持續性保留 (SCSI PR) 和/或 STONITH 區塊裝置 (SBD) 型叢集模型,以仲裁磁碟的存取權。 在使用 SCSI PR 時,您可以使用公用程式 (例如 fence_scsi 和 sg_persist) 來操作保留和註冊。
下圖說明一個範例 2 節點的叢集資料庫應用程式,它使用 SCSI PR 來啟用從一個節點到另一個節點的容錯移轉。
流程如下︰
下圖說明另一個常見的叢集工作負載,其中包含多個從磁碟讀取資料以執行平行處理的節點,例如機器學習模型的定型。
流程如下︰
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 受控磁碟
下列公式說明如何設定效能屬性,因為這些是使用者可修改的屬性:
下列範例說明一些示範節流如何與共享的 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。
如果您有興趣啟用和使用受控磁碟的共用磁碟,請繼續閱讀啟用共用磁碟一文
如果您有其他問題,請參閱常見問題的共用磁碟一節。
訓練
模組
使用共用磁碟在 Azure 上執行叢集應用程式 - Training
為叢集應用程式提供高可用性是大部分組織的重要需求。 透過 Microsoft Azure 共用磁碟,您可以在 Azure 上執行叢集或高可用性應用程式。