共用方式為


在虛擬機器之間共用 Azure 受控磁碟

適用於:✔️ Linux 虛擬機器 ✔️ Windows 虛擬機器 ✔️ 彈性調整集 ✔️ 統一調整集

Azure 共享磁碟是一項針對 Azure 管理磁碟的功能,允許你同時將一個管理磁碟連接到多個虛擬機器(VM)。 這項功能讓你能部署新叢集應用程式或將現有叢集應用程式遷移到 Azure,而無需修改架構。 共享磁碟確保叢集應用程式的高可用性,因為叢集內其他虛擬機在某台虛擬機故障時仍保有完整磁碟存取權。

共用磁碟需要叢集管理器,例如 Windows Server 容錯移轉叢集 (WSFC) 或 Pacemaker,用以處理叢集節點通信與寫入鎖定。 共用的受控磁碟本身並不提供可以使用 SMB/NFS 來存取的完全受控檔案系統。

運作方式

叢集中的虛擬機器可以根據叢集應用程式使用 SCSI 永久保留 (SCSI PR) 所選取的保留方式,讀取或寫入其連接的磁碟。 SCSI PR 是應用程式在內部部署儲存區域網路 (SAN) 上執行時使用的產業標準。 在受控磁碟上啟用 SCSI PR 讓您能將這些應用程式原封不動地移轉至 Azure。

共用受控磁碟提供可從多部虛擬機器存取的共用區塊儲存體,並以邏輯單元編號 (LUN) 的形式呈現。 LUN 會從目標 (磁碟) 提供給啟動端 (虛擬機器)。 在虛擬機器看來,這些 LUN 就像直接附加儲存 (DAS) 或本機磁碟機。

限制

一般限制

共用磁碟有一些通用限制,所有共用磁碟皆適用,不論磁碟類型為何。 它們也有更多僅適用於特定類型共用磁碟的限制。 以下是通用限制清單:

  • 目前僅 Ultra 磁碟、進階 SSD v2、進階 SSD 和標準 SSD 可用作共用磁碟
  • 共用磁碟可附加至個別虛擬機器擴展集,但不能在虛擬機器擴展集模型中定義或自動部署
  • 共用磁碟無法擴充,除非將磁碟連接的所有虛擬機器解除配置,或將磁碟從所有這些虛擬機器卸載
  • 共用磁碟不支援寫入加速器
  • 共用磁碟不支援主機快取

啟用共用磁碟的每個受控磁碟也會受到以下限制,依磁碟類型分類:

Ultra 磁碟

Ultra 磁碟有自己的一組限制,與共用磁碟無關。 如需 Ultra 磁碟的限制,請參閱使用 Azure Ultra 磁碟

在共用 Ultra 磁碟時,還有以下額外限制:

進階 SSD v2

進階 SSD v2 受控磁碟有其獨立的限制清單,與共用磁碟無關。 如需這些限制,請參閱進階 SSD v2 限制

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

進階 SSD

  • 只能在資料磁碟上啟用,不能在作業系統磁碟上啟用。
  • 對於具有 maxShares>1 的進階 SSD 磁碟,主機快取不可用。
  • 對於具有 maxShares>1 的進階 SSD 磁碟,磁碟高載不可用。
  • 在將 Azure 共用磁碟與可用性組合或虛擬機器擴展集一起使用時,與虛擬機器錯誤網域相關的儲存錯誤網域對齊不會強制套用於共用資料磁碟。
  • 使用鄰近放置群組 (PPG) 時,所有共用磁碟的虛擬機器必須屬於相同的 PPG。
  • 部分版本的 Windows Server 容錯移轉叢集僅能使用基本磁碟,如需詳細資訊請參閱 容錯移轉叢集的硬體需求與儲存選項
  • 尚未提供 Azure Site Recovery 支援。
  • Azure 備份可透過 Azure 磁碟備份使用。
  • 僅支援伺服器端加密,暫不支援 Azure 磁碟加密
  • 只有在使用受控磁碟的區域備援儲存時,才可在可用性區域之間共用。

標準 SSDs

作業系統需求

共用磁碟支援多種作業系統。 請參閱 WindowsLinux 區段,以了解支援的作業系統。

計費影響

共用磁碟時,依磁碟類型不同,您的計費可能會受到兩種不同方式的影響。

對於共用的進階 SSD 磁碟,除了磁碟階層的費用外,還有一項額外費用,會隨著 SSD 被掛載到的每部虛擬機器而增加。 詳情請參閱受控磁碟定價

共享的 Ultra 磁碟和共享的高級 SSD v2 磁碟,對每個掛載的虛擬機都不會額外收費。 計費依磁碟所設定的總 IOPS 與 MB/s 計算。 通常,超大型硬碟和高級 SSD v2 有兩個效能節流器,決定其總 IOPS/MB/s。 但是,當設定為共用磁碟時,會暴露另外兩個效能節流,共計四個。 這兩個額外的節流可透過增加費用來提高效能,而且每個計量都有預設值,這會增加磁碟的效能和成本。

共享的 Ultra 磁碟與共享的 Premium SSD v2 硬碟共有四種效能限制:diskIOPSReadWrite、diskMB/sReadWrite、diskIOPSReadOnly、diskMB/sReadOnly。 每個效能節流皆可配置以變更磁碟效能。 共享超強磁碟與高級 SSD v2 磁碟的效能計算方式如下:總配置 IOPS(磁碟 IOPS 寫入 + 磁碟 IOPSReadOnly)及總配置吞吐量 MB/s(diskMB/sReadWrite + diskMB/sReadOnly)。

一旦你確定了總配置 IOPS 和總配置吞吐量,就可以用它們在 價格計算 器中計算 Ultra 共享硬碟或 Premium SSD v2 共享硬碟的成本。

磁碟大小

目前只有 Ultra 磁碟、進階 SSD v2、進階 SSD 與標準 SSD s 能啟用共用磁碟。 不同磁碟大小可能具有不同的 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 值的影響。 例如,不論 maxShares = 1 或 maxShares > 1,P15 磁碟的最大 IOPS 都是 1100。

標準 SSD 範圍

下表說明不同標準 SSD 大小所允許的 maxShares 最大值:

磁碟大小 maxShares 限制
E1,E2,E3,E4,E6,E10,E15,E20 3
E30, E40, E50 5
E60, E70, E80 10

磁碟的 IOPS 和頻寬限制不會受到 maxShares 值的影響。 例如,不論 maxShares = 1 或 maxShares > 1,E15 磁碟的最大 IOPS 都是 500。

Ultra 磁碟範圍

maxShares 的最小值是 1,而 maxShares 的最大值是 15。 Ultra 磁碟沒有大小限制,任何大小的 Ultra 磁碟都可以使用任意 maxShares 值,直到最大值為止。

進階 SSD v2 範圍

maxShares 的最小值是 1,而 maxShares 的最大值是 15。 進階 SSD v2 沒有大小限制,任何大小的進階 SSD v2 都可以使用任意 maxShares 值,直到最大值為止。

範例工作負載

窗戶

Azure 共用磁碟支援 Windows Server 2008 和更新版本。 大多數以 Windows 為基礎的叢集是建置在 WSFC 上,它處理叢集節點通訊所需的所有核心基礎結構,讓您的應用程式能利用平行存取模式。 WSFC 會根據您的 Windows Server 版本,啟用 CSV 和非 CSV 的選項。 如需詳細資訊,請參閱建立容錯移轉叢集

WSFC 上執行的一些熱門應用程式包括:

Linux

Azure 共用磁碟支援:

Linux 叢集可使用例如 Pacemaker 之類的叢集管理器。 Pacemaker 建置於 Corosync 之上,使部署在高可用性環境中的應用程式能進行叢集通訊。 一些常見的叢集檔案系統包括 ocfs2gfs2。 您可以使用 SCSI Persistent Reservation (SCSI PR) 和/或 STONITH Block Device (SBD) 為基礎的叢集模型來仲裁磁碟存取。 使用 SCSI PR 時,您可以使用工具如 fence_scsisg_persist 操作保留和註冊。

持續保留流程

下圖說明了一個使用 SCSI PR 的範例 2 節點叢集資料庫應用程式,以啟用從一個節點到另一個節點的容錯移轉。

由 Azure VM1、VM2 以及共用磁碟組成的兩節點叢集。叢集上的應用程式負責存取磁碟。

流程如下:

  1. 叢集應用程式在 Azure VM1 和 VM2 上執行,並註冊其讀寫磁碟的意圖。
  2. VM1 上的應用程式執行個體隨後取得對磁碟的專屬保留,以進行寫入。
  3. 此保留會在您的 Azure 磁碟上強制執行,資料庫現在可以專屬地寫入磁碟。 VM2 上的應用程式執行個體的任何寫入都不會成功。
  4. 如果 VM1 上的應用程式執行個體發生故障,VM2 上的執行個體現在可以啟動資料庫容錯移轉並接管磁碟。
  5. 此保留現在在 Azure 磁碟上強制執行,磁碟將不再接受來自 VM1 的寫入。 它將只接受來自 VM2 的寫入。
  6. 叢集應用程式可以完成資料庫容錯移轉,並從 VM2 提供請求。

下圖說明另一個常見的叢集工作負載,包括多個節點從磁碟讀取資料以執行平行程序,例如機器學習模型的訓練。

四節點 VM 叢集,每個節點註冊寫入意圖,應用程式取得專屬保留以正確處理寫入結果

流程如下:

  1. 叢集應用程式在所有 VM 上執行,註冊讀寫磁碟的意圖。
  2. VM1 上的應用程式執行個體取得對磁碟的專屬保留以進行寫入,同時允許其他 VM 從磁碟讀取。
  3. 此保留會在您的 Azure 磁碟上強制執行。
  4. 叢集中的所有節點現在都可以從磁碟讀取。 只有一個節點將結果寫回磁碟,代表叢集中所有節點。

Ultra 磁碟和進階 SSD v2 保留流程

Ultra 磁碟和進階 SSD v2 受控磁碟都提供兩個額外的限制,使每個磁碟總共具有四個限制。 因此,保留流程可以如前述流程運作,或可以更細緻地限制並分配效能。

一個表格圖像,顯示 Reservation Holder、Registered 和 Others 的 ReadOnly 或 Read/Write 存取。

效能限制

進階 SSD 效能限制

使用高級 SSD,磁碟 IOPS 與吞吐量是固定的,例如 P30 的 IOPS 為 5000。 無論磁碟是跨 2 台 VM 還是 5 台 VM 共用,此值保持不變。 磁碟限制可以由單一 VM 達到,或分配給兩個或更多 VM。

Ultra 磁碟與進階 SSD v2 的效能限制

Ultra 磁碟與進階 SSD v2 管理型磁碟具有獨特的能力,允許您透過公開的可修改屬性設定效能,並可以對其進行修改。 預設情況下,只有兩個可修改屬性,但共用 Ultra 磁碟與共用進階 SSD v2 管理型磁碟還有另外兩個屬性。 Ultra 磁碟與進階 SSD v2 會將這些屬性分配到每個附加的虛擬機器。 有關容量、IOPS 和輸送量分配運作方式的範例,請參見範例章節。

屬性 描述
DiskIOPSReadWrite (讀寫磁碟 IOPS) 允許所有掛載共用磁碟且具有寫入存取權的虛擬機器的總 IOPS 數。
DiskMB/sReadWrite (讀寫磁碟輸送量) 允許所有掛載共用磁碟且具有寫入存取權的虛擬機器的總輸送量 (MB/s)。
DiskIOPSReadOnly* (唯讀磁碟 IOPS) 允許所有將共用磁碟掛載為 ReadOnly 的虛擬機器的總 IOPS 數。
DiskMB/sReadOnly* (唯讀磁碟輸送量) 允許所有將共用磁碟掛載為 ReadOnly 的虛擬機器的總輸送量 (MB/s)。

僅適用於共用 Ultra 磁碟與共用進階 SSD v2 管理型磁碟

以下公式說明如何設定效能屬性,因為這些屬性可以由使用者修改:

  • DiskIOPSReadWrite (讀寫磁碟 IOPS):
    • 對於 100 GiB 或更小的磁碟,最低基準 IOPS 為 100。
      • 對於大於 100 GiB 的磁碟,您可以設定的最低基準 IOPS 每增加 1 GiB 增加 1。 因此,對於 101 GiB 的磁碟,DiskIOPSReadWrite 可以設定的最低值為 101 IOPS。
    • 您可以設定此屬性的最大值取決於磁碟大小,公式為 300 * GiB,最高可達 400,000。
  • DiskMB/sReadWrite (讀寫磁碟輸送量)
    • 此屬性的最低輸送量 (MB/s) 取決於您的 IOPS,公式為每 IOPS 每秒 4 KiB。 因此,如果您有 101 IOPS,可設定的最低 MB/s 為 1。
    • 您可以設定此屬性的最大值取決於您設定的 IOPS,公式為每 IOPS 每秒 256 KiB,最高可達 10,000 MB/s。
  • DiskIOPSReadOnly (唯讀磁碟 IOPS)
    • 此屬性的最低基準 IOPS 為 100。 對於 DiskIOPSReadOnly,基準不會隨磁碟大小增加。
    • 您可以設定此屬性的最大值取決於磁碟大小,公式為 300 * GiB,最高可達 400,000。
  • DiskMB/sReadOnly (唯讀磁碟輸送量)
    • 此屬性的最低輸送量 (MB/s) 為 1。 對於 DiskMB/sReadOnly,基準不會隨 IOPS 增加。
    • 您可以設定此屬性的最大值取決於您設定的 IOPS,公式為每 IOPS 每秒 256 KiB,最高可達 10,000 MB/s。

範例

以下範例展示了一些情境,具體說明如何讓限制機制在共用的 Ultra 磁碟上運作。

兩個節點叢集使用叢集共用磁碟區

以下是一個使用叢集共用磁碟區的 2 節點 WSFC 範例。 在此組態下,兩個虛擬機器同時對磁碟具有寫入權限,這會導致 ReadWrite 限制在兩個虛擬機器之間分配,而 ReadOnly 限制則未使用。

CSV 兩節點 Ultra 範例

不使用叢集共用磁碟區的兩個節點叢集

以下是一個未使用叢集共用磁碟區的 2 節點 WSFC 範例。 在此組態下,只有一個虛擬機器具有對磁碟的寫入權限。 這會導致 ReadWrite 限制專門用於主要虛擬機器,而 ReadOnly 限制僅由次要虛擬機器使用。

CSV 兩節點無 CSV Ultra 磁碟範例

四節點 Linux 叢集

以下是一個具有單一寫入者和三個擴展讀取者的 4 節點 Linux 叢集範例。 在此組態下,只有一個虛擬機器具有對磁碟的寫入權限。 這會導致 ReadWrite 限制專門用於主要虛擬機器,而 ReadOnly 限制由次要虛擬機器分配使用。

四節點 Ultra 限制範例

共用 Ultra 磁碟與進階 SSD v2 定價

共用 Ultra 磁碟與共用進階 SSD v2 受控磁碟的價格,均基於佈建容量、總佈建 IOPS (diskIOPSReadWrite + diskIOPSReadOnly) 以及總佈建輸送量 MB/s (diskMB/sReadWrite + diskMB/sReadOnly) 計算。 每個額外虛擬機器掛載不收取額外費用。 例如,具有以下組態的共用 Ultra 磁碟 (diskSizeGB: 1024, DiskIOPSReadWrite: 10000, DiskMB/sReadWrite: 600, DiskIOPSReadOnly: 100, DiskMB/sReadOnly: 1),無論掛載在兩個虛擬機器或五個虛擬機器上,皆收費 1024 GiB、10100 IOPS 及 601 MB/s。

後續步驟

如果您有興趣為您的受控磁碟啟用並使用共用磁碟,請參閱我們的文章啟用共用磁碟

如果你有其他問題,請參閱常見問題中的 共用磁碟 區。