共用方式為


持續性記憶體健康情況管理

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

重要

Azure Stack HCI 現在是 Azure 本機的一部分。 產品檔案重新命名正在進行中。 不過,舊版的 Azure Stack HCI,例如 22H2 會繼續參考 Azure Stack HCI,而且不會反映名稱變更。 深入了解

本文提供永續性記憶體 (PMem) 裝置特有的錯誤處理和健康情況管理的相關信息,通常稱為記憶體類別記憶體 (SCM),這是一種非揮發性媒體,可用來作為最上層記憶體。

這些短片提供 Windows 持續記憶體支援的概觀:

另請參閱 瞭解及部署永續性記憶體

從 Windows Server 2016 和 Windows 10 版本 1607 開始,原生驅動程式支援持續性記憶體裝置。 雖然持續性記憶體裝置的行為與其他磁碟類似(HDD 和 SSD),但有些差異。

常見的使用案例是,兩個永續性記憶體模組會作為儲存空間中的鏡像回寫快取使用。 若要設定這類組態,請參閱使用 NVDIMM-N 回寫式快取設定儲存空間

在 Windows Server 2016 中,儲存空間 GUI 會將 NVDIMM-N 匯流排類型顯示為 UNKNOWN。 在建立集區、記憶體 VD 時,它沒有任何功能遺失或無法運作。 您可以執行下列 Cmdlet 來驗證總線類型:

Get-PhysicalDisk | fl

輸出中的 BusType 參數會正確地將總線類型 顯示為 SCM

檢視持續性記憶體健全狀況狀態

本節說明如何檢視永續性記憶體模組的健康情況狀態。 當您使用持續性記憶體時,監視體驗有一些差異:

  • 持續性記憶體不會建立實體磁碟性能計數器,因此不會在 Windows Admin Center 的圖表上看到它。
  • 永續性記憶體不會建立 Storport 505 數據,因此您不會收到主動極端值偵測。

否則,監視體驗會與任何其他實體磁碟相同。

您可以執行下列 Cmdlet 來查詢永續性記憶體磁碟的健康情況:

Get-PmemDisk

DiskNumber Size   HealthStatus AtomicityType CanBeRemoved PhysicalDeviceIds UnsafeShutdownCount
---------- ----   ------------ ------------- ------------ ----------------- -------------------
2          252 GB Unhealthy    None          True         {20, 120}         2
3          252 GB Healthy      None          True         {1020, 1120}      0

Get-PmemDisk | Get-PhysicalDisk | select SerialNumber, HealthStatus, OperationalStatus, OperationalDetails

SerialNumber               HealthStatus OperationalStatus  OperationalDetails
------------               ------------ ------------------ ------------------
802c-01-1602-117cb5fc      Healthy      OK
802c-01-1602-117cb64f      Warning      Predictive Failure {Threshold Exceeded,NVDIMM_N Error}

值得注意的是,您可以使用 Cmdlet 並將 BusType 指定為 SCM,以取得相同的資訊 Get-PhysicalDisk

Get-PhysicalDisk | where BusType -eq "SCM" | select SerialNumber, HealthStatus, OperationalStatus, OperationalDetails

注意

若要尋找事件中指定的永續性記憶體裝置實體位置,請在事件 事件檢視器 的 [詳細數據] 索引標籤上,移至 [EventData>位置]。 請注意,Windows Server 2016 會列出持續性記憶體裝置不正確的位置,但在 Windows Server 版本 1709 中已修正此問題。

HealthStatus 會顯示持續性記憶體磁碟是否狀況良好。

UnsafeshutdownCount 值會追蹤可能導致此邏輯磁碟上數據遺失的關機數目。 這是此磁碟之所有基礎持續性記憶體裝置不安全關機計數的總和。 如需健康狀態的詳細資訊,請使用 Get-PmemPhysicalDevice Cmdlet 來尋找 OperationalStatus資訊。

Get-PmemPhysicalDevice

DeviceId DeviceType           HealthStatus OperationalStatus PhysicalLocation FirmwareRevision Persistent memory size Volatile memory size
-------- ----------           ------------ ----------------- ---------------- ---------------- ---------------------- --------------------
1020     Intel INVDIMM device Healthy      {Ok}              CPU2_DIMM_C1     102005310        126 GB                 0 GB
1120     Intel INVDIMM device Healthy      {Ok}              CPU2_DIMM_F1     102005310        126 GB                 0 GB
120      Intel INVDIMM device Healthy      {Ok}              CPU1_DIMM_F1     102005310        126 GB                 0 GB
20       Intel INVDIMM device Unhealthy    {HardwareError}   CPU1_DIMM_C1     102005310        126 GB                 0 GB

此 Cmdlet 會顯示哪些持續性記憶體裝置狀況不良。 狀況不良的裝置 (DeviceId 20) 符合上一個範例中的案例。 BIOS 中的 PhysicalLocation 可協助識別哪些持續性記憶體裝置處於錯誤狀態。

如需了解各種健全狀況的說明,請參閱下列各節。

警告健全狀態

當您檢查永續性記憶體裝置的健康情況,並看到其健全狀態列為 警告時,會出現此條件,如下列範例輸出所示:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Healthy 確定
802c-01-1602-117cb64f 警告 預測性失敗 {超出閾值, NVDIMM_N 錯誤}

下表列出此條件的一些資訊。

標題 描述
可能的情況 警告臨界值外洩
根本原因 持續性記憶體裝置會追蹤各種閾值,例如溫度、NVM 存留期和/或能源來源存留期。 當超過這些閾值的其中一個時,作業系統會收到通知。
一般行為 裝置維持完全正常運作。 這是警告,而不是錯誤。
儲存空間行為 裝置維持完全正常運作。 這是警告,而不是錯誤。
其他相關資訊 PhysicalDisk 物件的 OperationalStatus 欄位。 EventLog – Microsoft-Windows-ScmDisk0101/Operational
解決方式 視違反警告閾值而定,更換持續性記憶體裝置可能很謹慎。

寫入永續性記憶體裝置失敗

當您檢查永續性記憶體裝置的健康情況,並查看列為 狀況不良的健全狀態,以及操作狀態提及 IO 錯誤時,會出現此條件,如下列範例輸出所示:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Healthy 確定
802c-01-1602-117cb64f Unhealthy {過時的中繼資料、IO 錯誤、暫時性錯誤} {遺失資料持續性、遺失資料、NV...}

下表列出此條件的一些資訊。

標題 描述
可能的情況 遺失持續性/備份電源
根本原因 持續性記憶體裝置依賴備份電源來保存其持續性 ,通常是電池或超級上限。 如果無法使用此備份電源來源或者裝置因為任何原因無法執行備份 (控制器/Flash 錯誤),資料就會有風險,Windows 會防止對受影響的裝置進行任何進一步寫入作業。 仍可能會進行讀取以撤除資料。
一般行為 NTFS 磁碟區將會卸載。
[PhysicalDisk 健全狀況狀態] 欄位會針對所有受影響的 NVDIMM-N 裝置顯示「狀況不良」。
儲存空間行為 只要只有一個持續性記憶體模組受到影響,儲存空間就會維持運作。 如果多個裝置受到影響,寫入儲存空間將會失敗。
[PhysicalDisk 健全狀況狀態] 欄位會顯示所有受影響的永續性記憶體裝置的[狀況不良]。
其他相關資訊 PhysicalDisk 物件的 OperationalStatus 欄位。
EventLog – Microsoft-Windows-ScmDisk0101/Operational
解決方式 我們建議備份受影響的 PMem 數據。 若要取得讀取權限,您可以手動讓磁碟重新上線 (它會顯示為唯讀 NTFS 磁碟區)。

若要完全清除此狀況,必須解決根本原因(也就是服務電源供應器或取代持續性記憶體模組,視問題而定),而且模組上的磁碟區必須脫機並再次上線,或必須重新啟動系統。

若要讓永續性記憶體模組再次在 儲存空間 中使用,請使用 Reset-PhysicalDisk Cmdlet,以重新裝載裝置並啟動修復程式。

裝置的容量為 『0』 個字節,或顯示為「一般實體磁碟」

當永續性記憶體裝置顯示為容量為 0 個字節且無法初始化,或公開為「一般實體磁碟」物件時,沒有顯示遺失通訊作業狀態的序號,如下列範例輸出所示:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Healthy 確定
警告 遺失通訊

下表列出此條件的一些資訊。

標題 描述
可能的情況 BIOS 未將永續性記憶體模組公開至OS
根本原因 持續性記憶體裝置是以 DRAM 為基礎。 當參考損毀的 DRAM 位址時,大部分的 CPU 會起始電腦檢查,然後重新啟動伺服器。 然後,某些伺服器平臺會取消對應持續性記憶體模組,防止操作系統存取它,並可能導致另一部計算機檢查。 如果 BIOS 偵測到持續性記憶體模組失敗,而且需要更換,也可能會發生此情況。
一般行為 持續性記憶體模組會顯示為未初始化,容量為 0 個字節,且無法讀取或寫入。
儲存空間行為 儲存空間仍可運作(前提是只有一個持續性記憶體模組受到影響)。
PMem PhysicalDisk 物件會顯示為警告的健全狀態,並顯示為「一般實體磁碟」
其他相關資訊 PhysicalDisk 物件的 OperationalStatus 欄位。
EventLog – Microsoft-Windows-ScmDisk0101/Operational
解決方式 持續性記憶體裝置必須被取代或清理,如此伺服器平臺就會再次將它公開給主機 OS。 建議更換裝置,因為可能發生更多無法更正的錯誤。 您可以使用 Cmdlet 將 Add-PhysicalDisk 取代裝置新增至儲存空間設定。

重新啟動後,裝置會顯示為RAW或空白磁碟

當您檢查永續性記憶體裝置的健康情況,並查看 [狀況不良狀態] 和 [無法辨識元數據的作業狀態] 時,會出現此條件,如下列範例輸出所示:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Healthy 確定 {不明}
802c-01-1602-117cb64f Unhealthy {無法識別的中繼資料、過時的中繼資料} {不明}

下表列出此條件的一些資訊。

標題 描述
可能的情況 備份/還原失敗
根本原因 備份或還原程式中的失敗可能會導致永續性記憶體模組上的所有數據遺失。 當操作系統載入時,它會顯示為全新的永續性記憶體裝置,而沒有分割區或文件系統,並呈現為RAW,這表示它沒有文件系統。
一般行為 永續性記憶體將會處於唯讀模式。 需要明確的使用者動作,才能再次使用它。
儲存空間行為 如果只有一個持續性記憶體模組受到影響,儲存空間 仍可運作。
PMem 實體磁碟物件會顯示為健康狀態「狀況不良」,且不會由 儲存空間 使用。
其他相關資訊 PhysicalDisk 物件的 OperationalStatus 欄位。
EventLog – Microsoft-Windows-ScmDisk0101/Operational
解決方式 如果使用者不想取代受影響的裝置,他們可以使用 Reset-PhysicalDisk Cmdlet 來清除受影響永續性記憶體模組上的唯讀條件。 在 儲存空間 環境中,這也會嘗試將持續性記憶體模組重新整合到 儲存空間 並開始修復程式。

下一步

如需相關資訊,另請參閱: