共用方式為


瞭解和監視記憶體重新同步

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

儲存同步警示是 Azure Stack HCI 和 Windows Server 中的 Storage Spaces Direct 功能。 它可讓健康服務拋出錯誤,通知您重新同步。 這有助於防止您意外關閉更多伺服器,這可能會影響多個容錯網域,導致叢集關閉。

本文提供儲存重新同步的概觀,以及如何在故障轉移叢集中使用 Storage Spaces Direct 監控它。

關於記憶體重新同步

讓我們從一個簡單的例子開始,來了解儲存如何會失去同步。請記住,任何無共用(僅限本地磁碟)的分散式儲存解決方案都會出現這種行為。 下一節示範當一個伺服器節點關閉時,儲存如何不同步。 其磁碟驅動器在重新上線之前不會更新,此行為適用於任何超融合架構。

假設您想要儲存字串 「HELLO」。

ASCII 文字串

假設您具有三重鏡像備援功能,則此字串有三個複本。 如果您暫時關閉伺服器 #1 (進行維護),則無法存取複本 #1。

顯示如果您關閉伺服器號碼 1,則無法存取複本號碼 1 的影像。

假設您目前將字串從 “HELLO” 更新為 “HELP!” 。

ASCII藝術的求助圖像!

更新文字後,#2 和 #3 已成功更新。 不過,無法存取複製 #1,因為伺服器 #1 暫時關閉(維護)。

要複製數位 2 和 3 的 GIF。

您現在擁有不同步數據的副本 #1。 作業系統會使用細顆粒骯髒區域追蹤來追蹤未同步的位元。如此一來,當伺服器 #1 重新上線時,您可以從複本 #2 或 #3 中讀取資料,並覆寫複本 #1 中的資料來同步變更。 使用此方法時,您只需複製過時的資料,而不需從伺服器二或伺服器三重新同步處理所有資料。

覆寫為第1份副本的GIF。

下一節說明了數據如何可能失去同步。那麼,從大致上看起來是什麼樣子呢? 假設您有一個三部伺服器超交集叢集。 當伺服器 #1 處於維護中時,您會看到它已關閉。 當您將伺服器 #1 備份起來時,會使用細微的肮髒區域追蹤來開始重新同步處理其所有記憶體(如上一節所述)。 一旦數據全部重新同步處理,所有伺服器都會顯示為運行中。

下列 GIF 顯示記憶體重新同步處理在超交集叢集中的運作方式:

管理員檢視的重新同步 GIF。

如何監視記憶體重新同步

從 Windows Server 2019 開始,我們在 Health Service 中新增了一個新故障,會在儲存空間重新同步時顯示。

若要在 PowerShell 中檢視此錯誤,請執行下列 Cmdlet:

Get-HealthFault

這個新的錯誤會出現在 PowerShell、叢集驗證報告中,以及任何涉及健康狀況錯誤的地方。

若要取得更深入的檢視,您可以在 PowerShell 中查詢時間序列資料庫,如下所示:

Get-ClusterNode | Get-ClusterPerf -ClusterNodeSeriesName ClusterNode.Storage.Degraded

以下是輸出的範例:

Object Description: ClusterNode Server1

Series                       Time                Value Unit
------                       ----                ----- ----
ClusterNode.Storage.Degraded 01/11/2019 16:26:48     214 GB

Windows Admin Center 會使用健康狀態問題來設定叢集節點的狀態和顏色。 在 HCI 儀錶板上,這個新的錯誤可讓叢集節點從紅色(向下)轉換為黃色(重新同步處理)到綠色(向上),而不是直接從紅色轉換為綠色。

下圖比較 Windows Server 2016 與 Windows Server 2019 中的記憶體重新同步處理方式。

Windows Server 2016 與 Windows Server 2019 的重新同步處理檢視影像。

藉由顯示整體記憶體的重新同步處理進度,您可以準確地知道有多少數據未同步,以及您的系統是否進行向前進度。 在 Windows Admin Center 中,移至 [儀錶板] 以查看新的警示,如下列螢幕快照所示:

Windows Admin Center 中警示的螢幕擷取。

警示有助於在發生重新同步處理時通知您,因此您不會意外關閉更多伺服器(這可能會導致多個容錯網域受到影響,導致叢集關閉)。

若要取得 Windows Admin Center 中每部伺服器記憶體重新同步處理方式的詳細檢視,請流覽至 [伺服器] 頁面,按兩下 [清查],然後選擇特定伺服器。 流覽至您的伺服器,並查看 記憶體 圖表,以查看必須在 紫色 行中修復的數據量,其正上方的確切數位。 當伺服器關閉時,此數量會增加(需要重新同步處理更多數據),並在伺服器重新上線時逐漸減少(數據正在同步處理)。 當需要修復的數據量是 0 時,您的記憶體會進行重新同步處理,您現在可以視需要關閉伺服器。

下列螢幕快照顯示 Windows Admin Center 中的伺服器檢視:

Windows Admin Center 中伺服器檢視的螢幕快照。

如何在 Windows Server 2016 中監視記憶體重新同步處理

Windows Server 2019 和更新版本中提供的警示有助於全面檢視儲存層發生的情況。 其摘要說明您可以從 Get-StorageJob Cmdlet 取得的資訊。 此 Cmdlet 會傳回長時間執行的記憶體模組作業的相關信息,例如儲存空間上的修復作業,如下列範例輸出所示。

Get-StorageJob

以下是範例輸出:

Name                  ElapsedTime           JobState              PercentComplete       IsBackgroundTask
----                  -----------           --------              ---------------       ----------------
Regeneration          00:01:19              Running               50                    True

此視圖更詳細,因為儲存作業是按每個磁碟區列出。 您可以看到正在執行的作業清單,而且您可以追蹤其個別進度。 此 Cmdlet 適用於 Windows Server 2016 和 2019。

其他參考