共用方式為


儲存空間直接存取的巢狀復原

適用於:Azure Stack HCI 版本 22H2 和更新版本;Windows Server 2022 和 Windows Server 2019

巢狀復原功能是 Azure Stack HCI 和 Windows Server 中的 儲存空間直接存取 功能。 它可讓兩部伺服器叢集同時承受多個硬體故障,而不會遺失記憶體可用性,因此使用者、應用程式和虛擬機會繼續執行,而不會中斷。 本文說明巢狀復原的運作方式、提供開始使用的逐步指示,以及回答最常見的問題。

開始之前

考慮嵌套的彈性復原性如果:

  • 您的叢集會執行下列其中一個作系統:Azure Stack HCI 版本 22H2 或更新版本、Windows Server 2019 或更新版本;
  • 您的叢集只有兩個伺服器節點。

如果符合以下情況,您無法使用巢狀復原功能:

  • 您的叢集會執行 Windows Server 2016;或
  • 您的叢集只有單一伺服器節點,或有三個以上的伺服器節點。

為何巢狀韌性

即使同時發生多個硬體故障,使用巢狀復原的磁碟區仍可保持在線且可存取,與傳統 雙向鏡像 復原不同。 例如,如果兩個磁碟驅動器同時失敗,或伺服器關閉且磁碟驅動器失敗,則使用巢狀復原的磁碟區會保持在線且可存取。 針對超交集基礎結構,這會增加應用程式和虛擬機的運行時間;對於文件伺服器工作負載,這表示使用者對其檔案的存取不中斷。

顯示記憶體可用性的圖表。

取捨是巢狀韌性的容量效率比傳統雙向鏡像低,這表示您會獲得稍微較少的可用容量。 如需詳細資訊,請參閱下一節的 容量效率

運作方式

本節提供關於儲存空間直接存取的巢狀復原機制背景,並描述兩個新的復原選項及其容量效率。

靈感:RAID 5+1

RAID 5+1 是分散式記憶體復原的既定形式,可提供瞭解巢狀復原的實用背景。 在RAID 5+1中,每部伺服器內的本地復原能力是由RAID-5或單一同位提供,以防止任何單一磁碟驅動器的數據遺失。 然後,兩部伺服器之間的RAID-1或 雙向鏡像會提供進一步的復原能力,以防止任一伺服器遺失。

顯示 RAID 5+1 的圖表。

復原選項

在 Azure Stack HCI 和 Windows Server 中,直接儲存空間提供了兩種在軟體中實現的復原選項,無需特製的 RAID 硬體。

  • 巢狀雙向反光鏡。 在每個伺服器中,本地容錯由雙向鏡像提供,然後由兩部伺服器之間的雙向鏡像再進一步提供容錯。 這基本上是一個四向鏡像,每個伺服器上的兩個復本都位於不同的實體磁碟上。 嵌套式雙向鏡像提供不妥協的效能:寫入至所有複本,讀取可由任何複本進行。

    顯示巢狀雙向鏡像的圖表。

  • 巢狀鏡像加速同位。 結合上一個影像中的巢狀雙向鏡像與巢狀同位。 在每個伺服器中,大部分數據的本機復原是由單位元同位檢驗算術提供,除了近期的新寫入使用雙向鏡像技術。 然後,伺服器之間的雙向鏡像會提供所有數據的進一步復原能力。 對磁碟區的新寫入會移至鏡像部分,每個伺服器上的個別實體磁碟上有兩份複本。 當每個伺服器上的磁碟區鏡像部分填滿時,最舊的數據會在背景中轉換並保存到同位區。 因此,每部伺服器的磁碟區資料會以雙向鏡射或單一同位元結構的形式儲存。 這類似於 鏡像加速同位 的運作方式,其差異在於鏡像加速同位需要叢集和存放集區中的四部伺服器,並使用不同的同位演算法。

    顯示巢狀鏡像加速同位的圖表。

容量效率

容量效率是可用空間與 磁碟區使用量的比率。 它描述歸因於復原的額外的容量負擔,並取決於您選擇的復原選項。 簡單來說,在沒有復原能力的情況下儲存數據是 100% 容量有效率(1 TB 的數據佔用 1 TB 的實體儲存容量),而雙向鏡像效率為 50% 有效率(1 TB 的數據佔用 2 TB 的實體儲存容量)。

  • 巢狀雙向鏡像 會將所有內容寫成四份。 這表示若要儲存 1 TB 的數據,您需要 4 TB 的實體儲存容量。 雖然其簡單性很吸引人,但在 Storage Spaces Direct 的所有復原選項中,巢狀雙向鏡像的容量效率為 25%,是最低的。

  • 巢狀鏡像加速同位 可達到更高的容量效率,大約 35%-40%,這取決於兩個因素:每部伺服器的容量磁碟驅動器數目,以及您為磁碟區指定的鏡像和同位混合。 下表提供常見組態的查閱:

    每部伺服器的驅動器容量 10% 鏡像 20% 鏡像 30% 鏡子
    4 35.7% 34.1% 32.6%
    5 37.7% 35.7% 33.9%
    6 39.1% 36.8% 34.7%
    7+ 40,0% 37.5% 35.3%

    以下是完整數學的範例。 假設我們在兩部伺服器中各有六個容量磁碟驅動器,而我們想要建立一個 100 GB 的磁碟區,其中包含 10 GB 的鏡像和 90 GB 的同位。 伺服器本機雙向鏡像是 50.0% 有效率,這表示 10 GB 的鏡像數據需要 20 GB 才能儲存在每個伺服器上。 鏡像至這兩部伺服器,其總使用量為 40 GB。 在此情況下,伺服器本機單一同位是 5/6 = 83.3% 有效率,這表示 90 GB 的同位數據需要 108 GB 才能儲存在每個伺服器上。 鏡像至這兩部伺服器,其總使用量為 216 GB。 因此,總佔用量 [(10 GB / 50.0%) + (90 GB / 83.3%)] × 2 = 256 GB,39.1% 總體容量效率。

    請注意,傳統雙向鏡像(約 50%)和巢狀鏡像加速同位(最多 40%)的容量效率並不大不相同。 根據您的需求,稍微較低的容量效率可能值得記憶體可用性大幅提升。 您可以以每個磁碟區為單位選擇韌性,從而可以在相同叢集中混合使用巢狀韌性磁碟區和傳統雙向鏡像磁碟區。

    此圖顯示雙向鏡像與巢狀鏡像加速同位之間的取捨。

建立巢狀復原磁碟區

您可以使用 PowerShell 中熟悉的儲存 Cmdlet 來建立具有巢狀復原功能的磁碟區,如下一節所述。

步驟 1:建立儲存層範本 (僅限 Windows Server 2019)

Windows Server 2019 要求您先使用 New-StorageTier Cmdlet 建立新的儲存層範本,再建立磁碟區。 您只需要執行此動作一次,然後您建立的每個新磁碟區都可以參考這些範本。

備註

如果您執行 Windows Server 2022、Azure Stack HCI 版本 21H2 或 Azure Stack HCI 版本 20H2,您可以略過此步驟。

指定您容量磁碟機的 -MediaType,並(可選)指定您選擇的 -FriendlyName。 請勿修改其他參數。

例如,如果您的容量磁碟驅動器是硬碟 (HDD),請以系統管理員身分啟動 PowerShell,然後執行下列 Cmdlet。

若要建立 NestedMirror 層:

New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedMirrorOnHDD -ResiliencySettingName Mirror -MediaType HDD -NumberOfDataCopies 4

如要創建 NestedParity 層級:

New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedParityOnHDD -ResiliencySettingName Parity -MediaType HDD -NumberOfDataCopies 2 -PhysicalDiskRedundancy 1 -NumberOfGroups 1 -FaultDomainAwareness StorageScaleUnit -ColumnIsolation PhysicalDisk

如果您的硬碟是固態硬碟 (SSD),請將 -MediaType 設置為 SSD,並將 -FriendlyName 更改為 *OnSSD。 請勿修改其他參數。

小提示

請確認 Get-StorageTier 已成功建立了層級。

步驟 2:建立嵌套磁碟區

使用 New-Volume cmdlet 建立新的磁碟區。

  • 嵌入式雙向鏡

    若要使用巢狀雙向鏡像,請參考 NestedMirror 階層範本並指定大小。 例如:

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume01 -StorageTierFriendlyNames NestedMirrorOnHDD -StorageTierSizes 500GB
    

    如果您的容量磁碟驅動器是固態硬碟 (SSD),請變更 -StorageTierFriendlyNames*OnSSD

  • 巢狀鏡像加速同位

    若要使用巢狀鏡像加速同位,請同時參考 NestedMirrorNestedParity 階層範本,並指定兩個大小,一個用於磁碟區的每個部分(鏡像第一個,同位第二個)。 例如,若要建立一個 500 GB 的磁碟區,也就是 20% 巢狀雙向鏡像和 80 個% 巢狀同位,請執行:

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume02 -StorageTierFriendlyNames NestedMirrorOnHDD, NestedParityOnHDD -StorageTierSizes 100GB, 400GB
    

    如果您的容量磁碟驅動器是固態硬碟 (SSD),請變更 -StorageTierFriendlyNames*OnSSD

步驟 3:在 Windows Admin Center 中繼續

使用巢狀復原的磁碟區會出現在具有清楚標籤的 Windows Admin Center 中,如下列螢幕快照所示。 建立之後,您可以使用 Windows Admin Center 管理及監視它們,就像儲存空間直接存取中的其他任何磁碟區一樣。

Windows Admin Center 中的磁碟區管理。

選擇性:延伸至快取磁碟驅動器

使用其預設設定,巢狀復原功能可同時保護多個容量磁碟驅動器,或同時遺失一部伺服器和一個容量磁碟驅動器。 若要將此保護延伸至快取 磁碟驅動器,還有另一個考慮:因為快取磁碟驅動器通常會提供多個容量磁碟驅動器的讀取和寫入快取快取,因此,當其他伺服器關閉時,您可以容忍快取磁碟驅動器遺失的唯一方法是不要快取寫入,但這會影響效能。

為了解決此案例,儲存空間直接存取提供在兩部伺服器叢集中一部伺服器關閉時自動停用寫入快取的選項,然後在伺服器備份後重新啟用寫入快取。 若要允許例行重新啟動而不會影響效能,在伺服器關閉 30 分鐘之前,不會停用寫入快取。 一旦停用寫入快取,寫入快取的內容就會寫入至容量裝置。 在此之後,伺服器可以容許在線伺服器中失敗的快取裝置,不過如果快取裝置失敗,則從快取讀取可能會延遲或失敗。

備註

對於全快取(單一媒體類型)實體系統,當兩部伺服器叢集中的其中一部伺服器停機時,您不需要考慮自動停用寫入快取。 只有在使用硬碟(HDD)時,才需要考慮使用記憶體總線層(SBL)快取。

(選擇性)若要在兩部伺服器叢集中的一部伺服器關閉時自動停用寫入快取,請以系統管理員身分啟動 PowerShell 並執行:

Get-StorageSubSystem Cluster* | Set-StorageHealthSetting -Name "System.Storage.NestedResiliency.DisableWriteCacheOnNodeDown.Enabled" -Value "True"

設定為 True 之後,快取行為會是:

情況 快取行為 能容忍快取磁碟遺失嗎?
兩部伺服器都正常運作 快取讀取和寫入,效能完全發揮 是的
伺服器故障,持續30分鐘 快取讀取和寫入,效能完全發揮 否 (暫時)
前30分鐘之後 緩存僅限讀取,性能受影響 是(快取已寫入至容量儲存裝置後)

常見問題

尋找巢狀復原常見問題的解答。

我可以將現有的磁碟區在雙向鏡像與巢狀恢復之間進行轉換嗎?

否,在復原類型之間無法轉換磁碟區。 針對 Azure Stack HCI、Windows Server 2022 或 Windows Server 2019 上的新部署,請事先決定哪一種復原類型最符合您的需求。 如果您要從 Windows Server 2016 升級,您可以建立具有巢狀復原能力的新磁碟區、遷移您的數據,然後刪除較舊的磁碟區。

我可以搭配多種類型的容量磁碟驅動器使用巢狀復原能力嗎?

是,只要在上述 -MediaType 期間指定每個層級的。 例如,在相同叢集中使用 NVMe、SSD 和 HDD 時,NVMe 會提供快取,而後兩者則提供容量:將 NestedMirror 層設定為 -MediaType SSD ,並將 NestedParity 層設定為 -MediaType HDD。 在此情況下,同位容量效率取決於僅 HDD 磁碟驅動器數目,而且每個伺服器至少需要 4 個。

我可以使用三部或多部伺服器進行巢狀復原嗎?

否,只有當叢集中正好有兩部伺服器時,才使用巢狀復原。

我需要多少個磁碟驅動器才能使用巢狀復原功能?

儲存空間直接存取所需的磁碟驅動器數目下限是每個伺服器節點的四個容量磁碟驅動器,再加上每個伺服器節點的兩個快取磁碟驅動器(如果有的話)。 這與 Windows Server 2016 保持不變。 巢狀復原沒有其他需求,保留容量的建議也不會變更。

巢狀復原會變更磁碟驅動器更換的運作方式嗎?

否。

巢狀韌性會變更伺服器節點更換的方式嗎?

否。 若要取代伺服器節點及其磁碟驅動器,請遵循下列順序:

  1. 淘汰待移除伺服器中的磁碟驅動器
  2. 將新的伺服器及其磁碟驅動器新增至叢集
  3. 存放集區將會重新平衡
  4. 移除傳出伺服器及其儲存裝置

如需詳細資訊,請參閱 移除伺服器 一文。

後續步驟