儲存空間直接存取的巢狀復原
適用於:Azure Stack HCI 版本 22H2 和 21H2;Windows Server 2022 和 Windows Server 2019
重要
Azure Stack HCI 現在是 Azure 本機的一部分。 產品檔案重新命名正在進行中。 不過,舊版的 Azure Stack HCI,例如 22H2 會繼續參考 Azure Stack HCI,而且不會反映名稱變更。 深入了解。
巢狀復原功能是 Azure Stack HCI 和 Windows Server 中 儲存空間直接存取 的功能。 它可讓兩部伺服器叢集同時承受多個硬體故障,而不會遺失記憶體可用性,因此使用者、應用程式和虛擬機會繼續執行,而不會中斷。 本文說明巢狀復原的運作方式、提供開始使用的逐步指示,以及回答最常見的問題。
開始之前
如果:
- 您的叢集會執行下列其中一個操作系統:Azure Stack HCI 版本 21H2、Azure Stack HCI、版本 20H2、Windows Server 2022 或 Windows Server 2019;和
- 您的叢集只有兩個伺服器節點。
如果下列動作,您無法使用巢狀復原功能:
- 您的叢集會執行 Windows Server 2016;或
- 您的叢集只有單一伺服器節點,或有三個以上的伺服器節點。
為何巢狀復原
即使同時發生多個硬體故障,使用巢狀復原的磁碟區仍可保持在線且可存取,與傳統 雙向鏡像 復原不同。 例如,如果兩個磁碟驅動器同時失敗,或伺服器關閉且磁碟驅動器失敗,則使用巢狀復原的磁碟區會保持在線且可存取。 針對超交集基礎結構,這會增加應用程式和虛擬機的運行時間;對於文件伺服器工作負載,這表示使用者對其檔案的存取不中斷。
取捨是巢狀復原的容量效率比傳統雙向鏡像低,這表示您會獲得稍微較少的可用空間。 如需詳細資訊,請參閱下一節的 容量效率 。
運作方式
本節提供 儲存空間直接存取 巢狀復原的背景,並說明兩個新的復原選項及其容量效率。
靈感:RAID 5+1
RAID 5+1 是分散式記憶體復原的既定形式,可提供瞭解巢狀復原的實用背景。 在RAID 5+1中,每部伺服器內的本機復原是由RAID-5或 單一同位提供,以防止遺失任何單一磁碟驅動器。 然後,兩部伺服器之間的RAID-1或 雙向鏡像會提供進一步的復原能力,以防止任一伺服器遺失。
復原選項
Azure Stack HCI 和 Windows Server 中的 儲存空間直接存取 提供兩個在軟體中實作的復原選項,而不需要特製化 RAID 硬體:
巢狀雙向鏡像。 在每個伺服器中,本機復原是由雙向鏡像提供,然後由兩部伺服器之間的雙向鏡像提供進一步的復原。 這基本上是一個四向鏡像,每個伺服器上的兩個復本都位於不同的實體磁碟上。 巢狀雙向鏡像提供不妥協的效能:寫入會移至所有複本,而讀取則來自任何複本。
巢狀鏡像加速同位。 結合上一個影像中的巢狀雙向鏡像與巢狀同位。 在每個伺服器中,大部分數據的本機復原是由單一 位同位算術提供,但使用雙向鏡像的新最近寫入除外。 然後,伺服器之間的雙向鏡像會提供所有數據的進一步復原能力。 對磁碟區的新寫入會移至鏡像部分,每個伺服器上的個別實體磁碟上有兩份複本。 當磁碟區鏡像部分在每個伺服器上填滿時,最舊的數據會轉換成背景中的同位部分。 因此,每部伺服器都會以雙向鏡像或單一同位結構來取得磁碟區的數據。 這類似於鏡像加速同位的運作方式,其差異在於鏡像加速同位需要叢集和存放集區中的四部伺服器,並使用不同的同位演算法。
容量效率
容量效率是可用空間與 磁碟區使用量的比率。 它描述歸咎於復原的容量額外負荷,並視您選擇的復原選項而定。 簡單來說,在沒有復原能力的情況下儲存數據是 100% 的容量效率(1 TB 的數據佔用 1 TB 的實體儲存容量),而雙向鏡像效率為 50%(1 TB 的數據佔用 2 TB 的實體儲存容量)。
巢狀雙向鏡像 會寫入四份所有專案。 這表示若要儲存 1 TB 的數據,您需要 4 TB 的實體儲存容量。 雖然其簡單性很吸引人,但巢狀雙向鏡像的容量效率為 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
。巢狀鏡像加速同位
若要使用巢狀鏡像加速同位,請同時參考
NestedMirror
和NestedParity
階層範本,並指定兩個大小,一個用於磁碟區的每個部分(鏡像第一個,同位第二個)。 例如,若要建立 20% 巢狀雙向鏡像和 80% 巢狀同位的 500 GB 磁碟區,請執行: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 來管理和監視它們,就像 儲存空間直接存取 中的其他任何磁碟區一樣。
選擇性:延伸至快取磁碟驅動器
使用其預設設定,巢狀復原功能可同時保護多個容量磁碟驅動器,或同時遺失一部伺服器和一個容量磁碟驅動器。 若要將此保護延伸至 快取磁碟驅動器,還有另一個考慮:因為快取磁碟驅動器通常會提供多個容量磁碟驅動器的讀取和寫入快取快取,因此,當其他伺服器關閉時,您可以容忍快取磁碟驅動器遺失的唯一方法是不要快取寫入,但這會影響效能。
若要解決此案例,儲存空間直接存取 提供在兩部伺服器叢集中一部伺服器關閉時自動停用寫入快取的選項,然後在伺服器備份後重新啟用寫入快取。 若要允許例行重新啟動而不會影響效能,在伺服器關閉 30 分鐘之前,不會停用寫入快取。 一旦停用寫入快取,寫入快取的內容就會寫入至容量裝置。 在此之後,伺服器可以容許在線伺服器中失敗的快取裝置,不過如果快取裝置失敗,則從快取讀取可能會延遲或失敗。
注意
針對所有快取(單一媒體類型)實體系統,當兩部伺服器叢集中的一部伺服器關閉時,您不需要考慮自動停用寫入快取。 您只需要使用記憶體總線層 (SBL) 快取,才需要使用 HDD。
(選擇性)若要在兩部伺服器叢集中的一部伺服器關閉時自動停用寫入快取,請以系統管理員身分啟動 PowerShell 並執行:
Get-StorageSubSystem Cluster* | Set-StorageHealthSetting -Name "System.Storage.NestedResiliency.DisableWriteCacheOnNodeDown.Enabled" -Value "True"
設定為 True 之後,快取行為會是:
情況 | 快取行為 | 可以容許快取磁碟驅動器遺失嗎? |
---|---|---|
兩部伺服器都啟動 | 快取讀取和寫入、完整效能 | Yes |
伺服器關閉,前30分鐘 | 快取讀取和寫入、完整效能 | 否 (暫時) |
前30分鐘之後 | 快取唯讀,效能受到影響 | 是 (快取寫入容量磁碟驅動器之後) |
常見問題集
尋找巢狀復原常見問題的解答。
我可以在雙向鏡像與巢狀復原之間轉換現有的磁碟區嗎?
否,在復原類型之間無法轉換磁碟區。 針對 Azure Stack HCI、Windows Server 2022 或 Windows Server 2019 上的新部署,請事先決定哪一種復原類型最符合您的需求。 如果您要從 Windows Server 2016 升級,您可以建立具有巢狀復原能力的新磁碟區、遷移您的數據,然後刪除較舊的磁碟區。
我可以搭配多種容量磁碟驅動器類型使用巢狀復原嗎?
是,只要-MediaType
在上述步驟 1 期間指定每個層級的 。 例如,在相同叢集中使用 NVMe、SSD 和 HDD 時,NVMe 會提供快取,而後兩者則提供容量:將 NestedMirror
層設定為 -MediaType SSD
,並將 NestedParity
層設定為 -MediaType HDD
。 在此情況下,同位容量效率取決於僅 HDD 磁碟驅動器數目,而且每個伺服器至少需要 4 個。
我可以搭配三部或多部伺服器使用巢狀復原嗎?
否,只有在叢集只有兩部伺服器時,才使用巢狀復原。
我需要多少個磁碟驅動器才能使用巢狀復原功能?
儲存空間直接存取 所需的磁碟驅動器數目下限是每個伺服器節點的四個容量磁碟驅動器,再加上每個伺服器節點的兩個快取磁碟驅動器(如果有的話)。 這與 Windows Server 2016 保持不變。 巢狀復原沒有其他需求,保留容量的建議也不會變更。
巢狀復原會變更磁碟驅動器更換的運作方式嗎?
否。
巢狀復原會變更伺服器節點取代的運作方式嗎?
否。 若要取代伺服器節點及其磁碟驅動器,請遵循下列順序:
- 淘汰傳出伺服器中的磁碟驅動器
- 將新的伺服器及其磁碟驅動器新增至叢集
- 存放集區將會重新平衡
- 拿掉傳出伺服器及其磁碟驅動器
如需詳細資訊, 請參閱移除伺服器 一文。