请注意:本网站包含无障碍系统。 按 Control-F11 将网站调整为使用屏幕阅读器的视障人士;按 Control-F10 打开辅助功能菜单。

Lenovo對於在第1代、第2代或第3代Xeon®可擴展處理器的"H" SKU上處理Intel®不可修正記憶體錯誤的最佳實踐

Lenovo對於在第1代、第2代或第3代Xeon®可擴展處理器的"H" SKU上處理Intel®不可修正記憶體錯誤的最佳實踐

Lenovo對於在第1代、第2代或第3代Xeon®可擴展處理器的"H" SKU上處理Intel®不可修正記憶體錯誤的最佳實踐

這份文件為翻譯程式自動翻譯結果,請點選以下連結流灠英文版文件內容。

描述

Lenovo 在可靠性方面已連續 7 年位居第一,並希望告知其客戶所有使用某些世代的 Intel® 處理器的行業系統中固有的減少,這些世代降低了可用於 OEM 系統供應商的錯誤檢查和糾正能力。 DDR 記憶體錯誤和存在於糾正記憶體錯誤處理邏輯中的架構變更的組合,在第 1 代 Xeon® 可擴展處理器(代號 "Skylake")、第 2 代 Xeon® 可擴展處理器(代號 "Cascade Lake")和第 3 代 Xeon® 可擴展處理器(代號 "Cooper Lake-6")中,可能導致運行時不可糾正記憶體錯誤 (UCE) 的比率高於前幾代硬體。這是由於在單設備數據糾正 (SDDC) 中實施的變更。SDDC 是所有平台上可用的基本 Intel RAS(可靠性、可用性、可維護性)功能。由於這些架構變更和記憶體 DIMM 錯誤,前一代處理器和 Xeon® 可擴展處理器系列之間的錯誤糾正存在差異。欲了解更多來自 Intel® 的資訊,請參見 如何改善 1、2 或 3 代 Intel® Xeon® 可擴展處理器的記憶體處理。本文將重點介紹減輕 DDR 不可糾正錯誤的關鍵策略,這些錯誤有時會導致應用程式終止或伺服器崩潰。

該問題可以通過觀察 Lenovo ThinkSystem 或 ThinkAgile 產品報告的不可糾正記憶體錯誤或機器檢查錯誤事件來識別:

XCC 事件日誌

FQXSFMA0002M : 在地址 [arg2] 的 DIMM [arg1] 上檢測到不可糾正的記憶體錯誤。[arg3] FQXSFPU0062F : 在處理器 [arg1] 核心 [arg2] MC 銀行 [arg3] 中發生系統不可糾正錯誤,MC 狀態 [arg4],MC 地址 [arg5],MC 雜項 [arg6]。 FQXSFPU0027N : 在處理器 [arg1] 核心 [arg2] MC 銀行 [arg3] 中發生系統未糾正的可恢復錯誤,MC 狀態 [arg4],MC 地址 [arg5],MC 雜項 [arg6]。

(其中 XCC = Lenovo XClarity 控制器)

每行下方可通過點擊標題右側的箭頭展開以獲取更多資訊
下拉箭頭

適用系統

系統可以是以下任何 Lenovo 伺服器:

最佳實踐

ThinkSystem 韌體支持 Intel® 可擴展處理器提供的 RAS 功能,這可以大大減少 DDR 不可糾正錯誤的頻率。因此,系統管理員和操作員應利用 Gen1/Gen2/Gen3 Intel® Xeon® 可擴展處理器支持的 RAS 功能,並計劃在 LXPM 中進行例行的目標記憶體測試。本文中概述的最佳實踐應適用於未來的 CPU 世代,這些世代將支持超過第 3 代 Xeon® 可擴展處理器(代號 "Cooper Lake-6")所提供的 DDR4 世代的記憶體。

保持代碼更新

將生產 ThinkSystem 伺服器更新至 2021 年第一季度或更高版本發布的韌體堆疊,以確保所有已知的 Intel 和 Lenovo 韌體修復已被應用。這可以通過導航至 Lenovo 支持門戶 URL: https://support.lenovo.com 並選擇適當的產品組、系統類型、產品名稱、產品機型和操作系統來完成。

計劃目標記憶體篩選

計劃每六個月至少執行一次 LXPM 進階記憶體測試,並在新系統部署或系統維護之前進行,詳情請參見網址:HT511056 - LXPM 進階記憶體測試減少 DIMM 錯誤. 考慮此選項時,應遵循以下步驟。

amt

  1. 保持系統韌體(UEFI & BMC/XCC)為最新版本:為獲得最佳效果,確保目標系統運行的是 2021 年第一季度後發布的最新韌體或韌體堆疊。
    • POST期間檢查系統資訊或選擇系統摘要以檢查系統的韌體資訊:
      post

      sys_info
       
  2. 使用命令行介面(CLI)方法時,請參考以下命令:

    要啟用 AMT,請運行:

    OneCli.exe config set Memory.MemoryTest Enable --imm xcc_user_id:xcc_password@xcc_external_ip
    OneCli.exe config set Memory.AdvMemTestOptions 0xF0000 --override --imm xcc_user_id:xcc_password@xcc_external_ip
    

    要禁用 AMT,請運行:

    OneCli.exe config set Memory.MemoryTest Automatic --imm xcc_user_id:xcc_password@xcc_external_ip
    OneCli.exe config set Memory.AdvMemTestOptions 0 --override --imm xcc_user_id:xcc_password@xcc_external_ip
    
  3. 使用圖形用戶介面(GUI)時,開啟伺服器並按F1進入ThinkSystem UEFI 設定菜單,XClarity Provisioning Manager。
    F1

    sys_info
     
  4. 從左側菜單中選擇診斷選項。
    diags
     
  5. 從診斷畫面中選擇執行診斷
    run_diags
     
  6. 從儀表板中選擇記憶體測試
    sele_mem
     
  7. 從記憶體測試菜單中選擇進階記憶體測試
    amt

    amt_run_diags
     
  8. 選擇進階記憶體測試(AMT)後,系統將重新啟動,並在UEFI POST期間運行記憶體測試。此測試與製造級測試非常相似,並且在完成一個完整的測試週期之前無法禁用。在測試操作中重新啟動系統將使記憶體測試從頭開始,除非移除 CMOS 電池。系統將返回診斷頁面,並在圖形系統設置中提供保存系統日誌的介面。
    amt_in_progress
     
  9. 測試完成所需的時間因系統而異。測試完成後,系統將返回 LXPM 的記憶體測試頁面,並提示插入USB 驅動器以保存日誌文件。將USB 驅動器插入系統並點擊重試以繼續。
     
  10. 如果用戶希望跳過保存測試日誌的選項,則需要將 F1 系統設置配置為以文本模式運行。

    啟用/禁用 AMT 的 Redfish 命令

    {
        "Attributes": {
            "Memory_MemoryTest": "Enabled",  
            "Memory_AdvMemTestOptions": 983040 
        }
    }
    

    注意:有關更多詳細信息,請參見基於 Xeon 的 ThinkSystem 伺服器的進階記憶體測試

啟用機器檢查恢復(MCA)和本地機器檢查(LMCE)恢復

MCA 恢復允許操作系統決定是否可以由操作系統自行恢復錯誤,而無需關閉系統,關於此 RAS 功能的更多信息,請參見詳細信息部分。關於 MCA 恢復的更多詳細信息,請參見附加信息部分。

考慮此選項時,應遵循以下步驟。

  1. 使用 CLI 方法時,選擇 “AdvancedRAS.MachineCheckRecovery=Enable”。 此功能在 UEFI 設定中預設啟用。
  2. 使用 GUI 方法:
    1. 開啟伺服器。
    2. F1 進入系統設置,LXPM。
      F1
       
    3. 從左側導航中,選擇系統設置恢復和 RAS,如下所示。
      rec_ras
       
    4. 選擇進階 RAS
      adv_ras
       
    5. 啟用機器檢查恢復
      enable_ras
       

注意:MCA 恢復和本地機器檢查(LMCE)恢復取決於操作系統的支持,因此請諮詢您的操作系統提供商以了解 MCA 和 LMCE 的能力,因為每個操作系統供應商使用自己的發布週期採用 RAS 功能。Lenovo 基於平台的韌體預設啟用 LMCE 基於的恢復,但此設置在 UEFI 設定中不對用戶空間公開。LMCE 相對於 MCE 的優勢在以下文件中討論:在 Linux 中處理本地機器檢查異常

Windows: 有關Windows如何使用 RAS 功能的詳細描述,請參閱Windows 硬體錯誤架構(WHEA)設計指南。有關操作系統支持的 RAS 功能列表,請參見“附加信息”部分。

VMware: 機器檢查恢復在 ESXi 5 版本及更高版本的內核中受到支持。請參見“附加信息”部分以獲取操作系統支持的 RAS 功能列表。

此外,用戶應利用預設在 ESXi 7.0 版本中啟用的本地機器檢查(LMCE)基於的恢復,詳情請參見Lenovo ThinkSystem 伺服器支持Intel® Optane™ DC 持久性記憶體模組

對於Lenovo ThinkSystem SR850P 和 SR850,由於已知的硬體限制,必須啟用“useLMCE”內核啟動標誌,以支持在 ESXi 6.7 U2 及更高版本中進行本地機器檢查錯誤恢復。

  • 要在 ESXi 6.7 U2 系統上啟用本地 MCE 恢復:
    在 ESXi 控制台中,運行這兩個 esxcli 命令以設置內核啟動選項,將 use LMCE 設置為 TRUE,然後重新啟動系統以使更改生效。
     esxcli system settings kernel set -s useLMCE -v TRUE
     /sbin/reboot
    
    重新啟動後,通過運行此命令來驗證設置是否生效:
     esxcli system settings kernel list -o “useLMCE

Linux:請參見“附加信息”部分以獲取操作系統支持的 RAS 功能列表。主要 Linux 供應商的 MCA 恢復內核支持列表:

pic5

來源:減少超大規模雲數據中心中 DDR 不可更正錯誤(UCE)導致的伺服器崩潰率的工程實踐,詳情請參見 減少伺服器崩潰的工程實踐

保持巡邏清除啟用

為了避免軟錯誤的累積轉變為不可更正錯誤(UCE),Intel 晶片組內建了記憶體清除引擎。 它從每個 DDR 記憶體位置讀取數據,並使用錯誤更正碼(ECC)修正位元錯誤(如果有),然後將修正後的數據寫回同一位置。 巡邏清除設置為 24 小時間隔,在此期間檢查每個地址。

  • 使用 CLI 方法時,選擇“Memory.PatrolScrub=Enable”。 此功能在 UEFI 設定中預設啟用。

禁用冷啟動快速

通過禁用冷啟動快速,強制每次重新啟動時進行記憶體訓練,這將增加 POST 期間的系統啟動時間。冷啟動快速的目的是在過去 90 天內未檢測到配置更改的情況下跳過記憶體訓練,以提高系統啟動時間。禁用冷啟動快速允許重新訓練記憶體介面,補償環境條件的任何重大變化。

  • 使用 CLI 方法時,選擇“Memory.ColdBootFast=Disable”。
  • 此功能在 UEFI 設定中預設啟用。

利用啟動後包修復

這是一項由 JEDEC 定義的行業主導功能,旨在啟用啟動時間後包修復(PPR),以替換被判定為故障的 DRAM 中的一行。此功能的目的是減少因存在壞單元而在現場更換 DIMM 的次數。 在運行時,經歷可更正故障的 DIMM 可以安排在隨後的啟動週期中進行 PPR。 在 DIMM 中經歷故障的 DRAM 將由同一 DRAM 中的備用行進行內部替換。 此 PPR 修正熔接過程是永久性的。

例如,如果您的系統在運行時聲明了 PFA,則在下一次重新啟動週期中,UEFI 將嘗試進行修復。 這將在事件日誌中顯示“自我修復”消息,並在完成後,PFA 將被解除聲明。

  • 此功能在 UEFI 設定中預設啟用 .

將系統操作模式設置為最大性能

在某些情況下,觀察到在系統 UEFI 和 vSphere 客戶端中禁用電源管理策略已解決間歇性的「不可修正的匯流排錯誤」或系統重啟和記憶體錯誤。

  • 使用 CLI 方法時選擇「OperatingModes.ChooseOperatingMode=Maximum Performance」。
  • 要使用 CLI 方法啟用最大性能,請運行:
    OneCli.exe config set OperatingModes.ChooseOperatingMode "Maximum Performance" --imm xcc_user_id:xcc_password@xcc_external_ip

參考請參見 x86 伺服器上的 VMware 系統調整和 ThinkSystem,請參見 x86 伺服器上的 VMware 系統調整和 ThinkSystem
參考請參見建議的 UEFI 設定 - Lenovo ThinkAgile HX 系統,請參見網址:建議的 UEFI 設定

啟用地址範圍鏡像 / 部分記憶體鏡像

地址範圍鏡像是一項 RAS 功能,適用於 Intel Xeon 可擴展系列平台,允許對分配多少記憶體以實現冗餘進行細緻控制,詳細信息請參見附加信息部分。在考慮此選項時應使用以下步驟。欲了解有關地址範圍鏡像的更多詳細信息,請參見附加信息部分。

  1. 使用 CLI 方法時選擇「Memory.MirrorMode=Partial」、「Memory.Mirrorbelow4GB=Enable」
  2. 當啟用地址範圍鏡像時,記憶體內容將在分區的遠端 DIMM 上複製。這意味著並非所有系統記憶體都將可用於操作系統。 例如,啟用部分鏡像時,UEFI 將為每個物理處理器專用 36GB 的固定記憶體來進行鏡像。
  3. 按照以下步驟啟用記憶體冗餘的部分鏡像模式:
    1. 開啟伺服器。
    2. 按下 F1 鍵進入 LXPM:
      F1
       
    3. 在左側導航菜單中選擇 UEFI 設定
      uefi_setup
       
    4. 選擇 系統設定
      sys_setting
       
    5. 在中間窗格中選擇 記憶體
      memory
       
    6. 向下滾動到底部並選擇 鏡像配置
      mem_config
       
    7. 鏡像模式 設置為 部分,並啟用 4GB 以下鏡像 以確保記憶體鏡像包括低地址範圍。 
      enable_mirror_mem_below_4gb
       

      注意: 4GB 以下鏡像 與 MM 配置基礎共享,默認設置為 3GB。在此示例中,我們啟用了 4GB 以下鏡像。

    8. 保存 配置並退出 UEFI 設定菜單。
  4. 記憶體鏡像的記憶體信息顯示在系統啟動屏幕上。可用的記憶體容量根據在 UEFI 中設置的配置而減少。下圖顯示左側的記憶體獨立模式和右側的地址範圍鏡像模式,其中 1536G 記憶體減少到可用容量 1461GB = 1536(總計)-36(CPU1)-36(CPU2)-3(MM 配置)。
    pic7
     
  5. 注意:
  6. 在 UEFI 中設置部分記憶體鏡像後,可以使用「esxcli hardware memory get」來驗證可靠記憶體是否被使用且大於「0」字節。
    參考以下示例:
    在啟用地址範圍部分記憶體鏡像之前:[root@h2:~] esxcli hardware memory get 物理記憶體:549657530368 字節 可靠記憶體:0 字節 NUMA 節點數:2
    在啟用地址範圍部分記憶體鏡像之後:[root@h2:~] esxcli hardware memory get 物理記憶體:480938061824 字節 可靠記憶體:68619579392 字節 NUMA 節點數:2

附加信息

操作系統支持的 RAS 功能*

以下一組表格顯示了操作系統供應商首次採用各個 RAS 功能的時間,這些功能可用於提高系統穩定性和對硬體錯誤的韌性。

* 以下表格列出了所有主要操作系統供應商。

在 Windows 伺服器上支持的 RAS 功能 WS2016 WS2019 WS2022 所有未來版本
MCA2.0 恢復-執行路徑 X X X X
MCA2.0 恢復-非執行路徑 X X X X
基於本地機器 (LMCE) 的恢復-執行   X X X
地址範圍/部分鏡像     X X

 

在 VMware ESXi 上支持的 RAS 功能 5 GA 5.5 6 GA 6.5-6.7(所有) 7.0(所有) 所有未來版本
MCA2.0 恢復-執行路徑 X X X X X X
MCA2.0 恢復-非執行路徑 X X X X X X
基於本地機器 (LMCE) 的恢復-執行       X X X
地址範圍/部分鏡像   X X X X X

 

在 RHEL 上支持的 RAS 功能 7.2 7.3 7.4(所有) 8.x(所有) 9.x(所有) 所有未來版本
MCA2.0 恢復-執行路徑 X X X X X X
MCA2.0 恢復-非執行路徑 X X X X X X
基於本地機器 (LMCE) 的恢復-執行   X X X X X
地址範圍/部分鏡像     X X X X

 

在 SUSE 上支持的 RAS 功能 11.04 12 GA 12 SP3 12 SP4(所有) 15(所有) 所有未來版本
MCA2.0 恢復-執行路徑 X X X X X X
MCA2.0 恢復-非執行路徑 X X X X X X
基於本地機器 (LMCE) 的恢復-執行     X X X X
地址範圍/部分鏡像       X X X

 

在 Ubuntu 上支持的 RAS 功能 14.04 16.04 18.04(所有) 20.04(所有) 21.04(所有) 所有未來版本
MCA2.0 恢復-執行路徑 X X X X X X
MCA2.0 恢復-非執行路徑 X X X X X X
基於本地機器 (LMCE) 的恢復-執行   X X X X X
地址範圍/部分鏡像   X X X X X

MCA 恢復

新的 Intel Xeon 可擴展系列處理器支持基於機器檢查架構 (MCA) 恢復機制從某些記憶體錯誤中恢復。這要求操作系統將一個記憶體頁面標記為“中毒”,終止與該頁面相關的進程,並避免在未來使用該頁面。MCA 機制用於檢測、信號傳遞和記錄機器故障信息。其中一些故障是可修正的,而其他則是不可修正的。MCA 機制旨在協助 CPU 設計師和 CPU 調試員診斷、隔離和理解處理器故障。它還旨在幫助系統管理員檢測在伺服器長期運行過程中出現的瞬時和與年齡相關的故障。MCA 恢復功能是基於 Intel Xeon 可擴展系列處理器的伺服器容錯能力的一部分,例如 ThinkSystem 伺服器系列。這些能力允許系統在檢測到未修正錯誤時繼續運行。如果沒有這些能力,系統將崩潰,可能需要更換硬體或重新啟動系統。

MCA 恢復允許操作系統決定是否可以在不關閉系統的情況下由操作系統恢復錯誤。如果滿足以下前提條件:

  • 記憶體 UCE 為非致命錯誤
  • 記憶體故障地址不在內核空間
  • 受影響的應用程序可以被主機操作系統終止。

下圖顯示了使用 Linux 操作系統的系統錯誤處理流程。

系統錯誤處理流程與 Linux 操作系統

來源:請參見網址 LP0778 - 演示 Lenovo ThinkSystem 伺服器的記憶體 RAS 功能
軟體可恢復操作要求 (SRAR):有兩種類型的錯誤由數據快取單元 (DCU) 檢測,並由指令提取單元 (IFU) 檢測,也稱為 MCA 恢復執行路徑。
軟體可恢復操作選擇性 (SRAO):有兩種類型的錯誤由記憶體巡檢掃描檢測,並由最後級快取 (LLC) 顯式寫回事務檢測,也稱為 MCA 恢復非執行路徑。

當發生 SRAR/SRAO 時,將觸發 MCA 恢復。 如果內核能夠通過終止消耗了不可修正錯誤的應用程序或虛擬機來成功恢復,並且如果未檢測到其他不可修正錯誤,系統應保持在線狀態。

SRAR/SRAO 虛擬機

來源:減少超大規模雲數據中心中 DDR 不可修正錯誤 (UCE) 的伺服器崩潰率的工程實踐,請參見網址: Intel® 減少伺服器崩潰率的工程實踐

地址範圍鏡像 / 部分記憶體鏡像

地址範圍鏡像是 Intel Xeon 可擴展系列平台上的一項新記憶體 RAS 功能,允許在選擇多少記憶體用於冗餘時具有更大的粒度。記憶體鏡像實現(全鏡像模式或地址範圍模式)旨在允許關鍵記憶體區域的鏡像,以提高物理記憶體的穩定性。鏡像記憶體對操作系統和應用程序是透明的。下圖顯示了地址範圍鏡像的實際應用,其中綠色地址範圍和橙色地址範圍是鏡像的。

pic10

Intel Xeon Sliver SKU 及以上支持在一個插槽中最多兩個鏡像範圍,每個集成記憶體控制器 (iMC) 一個鏡像範圍。該範圍由伺服器的目標地址解碼器 0 (TAD0) 寄存器中編程的值定義。TAD0 定義主鏡像範圍和次鏡像範圍的大小。次鏡像範圍保留用於冗餘,並不計入總記憶體大小。要啟用地址範圍鏡像,必須有一個控制和狀態寄存器 (CSR) 位來啟用 TAD0 用於鏡像。

地址範圍鏡像提供以下好處:

  • 通過允許固件或操作系統確定要鏡像的記憶體地址範圍,提供了對記憶體鏡像的進一步粒度,將插槽中其餘的記憶體保持在非鏡像模式。
  • 減少為冗餘保留的記憶體量。
  • 提高高可用性,通過從鏡像記憶體中分配所有內核記憶體,避免操作系統內核記憶體中的不可修正錯誤。

地址範圍鏡像具有以下操作系統和固件要求:

  • 系統啟動模式必須設置為 'UEFI 啟動'。
  • 需要操作系統支持以充分利用地址範圍鏡像。
  • 操作系統必須了解鏡像區域。
  • 依賴於系統固件配置地址範圍鏡像:
    • 使用 UEFI 設置啟用具有固定鏡像大小的地址範圍鏡像。ThinkSystem 與第一代、第二代和第三代 Intel Xeon 處理器一起出貨,支持通過 UEFI 設置頁面進行鏡像模式配置,如前所述。
    • 使用操作系統設置命令,例如“efibootmgr 和 kernelcore=mirror”通過固件-操作系統接口配置不同鏡像大小的地址範圍鏡像。ThinkSystem 與第一代、第二代和第三代 Intel Xeon 處理器一起出貨,具有基本支持,並計劃在未來一代平台中實現全面支持,允許操作系統根據其獨特需求請求 % 的記憶體進行鏡像。
文件ID:HT512486
原始發布日期:06/07/2021
Last Modified Date:04/07/2025