Data Domain:快取元素集區內的記憶體不足時,INode 快取中的 FS 程式發生核心錯誤

摘要: 在某些最近的 DDOS 版本中發現瑕疵 (在 7.7.4、7.9.0.10 和 7.10.0 中也已確認),如果影響 DDOS 7.7.3,則當快取元素集區已用盡記憶體以供進一步分配時,Inode 快取代碼中可能會發生 FS 程式錯誤。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

此問題沒有降級或預先警告,這會以 FS 程式故障 (PANIC) 的形式顯現,之後程式會重新開機並自動正常出現。
由於執行的程式碼路徑,FS 程式可能會以數種不同的方式發生錯誤,包括:
PANIC: ddr/sm/ddfs/ddfs_mtree.c: ddfs_mtree_list: 829: !((dd_errno(e) == ENOENT) || (dd_errno(e) == DD_ERR_FM_EATTRNOENT) || (dd_errno(e) == DD_ERR_STALE))
PANIC: ddr/fv/file_verify.c: file_verify_update_marker_attrs: 4872: Fatal Error
PANIC: ddr/fv/file_verify.c: file_verify_update_snap_attr: 4446: Fatal Error
PANIC: ddr/fv/file_verify.c: file_verify_update_marker_attrs: 4860: Fatal Error
在 FS 程式記錄檔 (ddfs) 中資訊) 會在每個程式當機之前找到下列訊息:
01/17 20:21:59.292947 [7fbbf4f98f50] dd_cache_elem_reclaim: Evict count=256, Visited count=257, Skipped elem count=0, Skipped bucket count=0, Time threshold=1539816333626910. (99% full) Complete=True
01/17 20:22:04.662303 [7fbb031ad4f0] ERROR: FM fm_iget:355 - fm_iget failed to allocate elem in dd_cache 5001

表示內部程式已滿 99% 的訊息,然後無法分配任何進一步的元素,因此導致程式當機。 

注意:此問題已知僅會影響下列版本:
  • DDOS 7.7.3.x:未完全確認
  • DDOS 7.7.4.x
  • DDOS 7.9.0.10
  • DDOS 7.10.0.x

原因

如為讀取/寫入等任何檔案作業,則會從dd_cache元素集區分配 inode 結構。
如果此快取已滿且有新要求,則會從此快取中插入元素,並滿足新要求。
這項分修是以時間原則為依據 (如果最後一個「x」秒沒有存取元素,則會驗證元素)。
萬一此快取記憶體過熱 (所有元素都已在過去「x」秒記憶體取),即使多次重試,也無法插入任何元素,接著fm_iget傳回DD_ERR_NOMEM。
此元素集區配置的某些呼叫者將無法正常處理錯誤,因此導致 FS 程式發生錯誤,傾印核心應可運作「fm_iget」傳回任何錯誤。正因如此,基礎程式碼缺陷有一些不同的 PANIC 簽章。

解决方案

在下列版本中使用DDOS-168410 修正導致這些 FS 程式當機的基本程式碼問題 (以及相同程式碼分支中的所有更新版本):
  • DDOS 7.7.5.1
  • DDOS 7.10.1.0
  • DDOS 7.11.0
受此問題影響的客戶如果無法立即升級至上述任何版本,可以嘗試因應措施,以聯絡 Dell 支援部門。
如果執行有問題的版本 (上述版本),但您沒有遇到意外的 FS 程式當機,但與此知識庫中的徵兆相符,我們建議您不要主動套用因應措施,而是升級至上述任何修正版本 (或其任一繼受產品), 以利用最新的更新和程式碼修正。

受影响的产品

Data Domain
文章属性
文章编号: 000207919
文章类型: Solution
上次修改时间: 21 12月 2023
版本:  17
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。