Avamar:错误的 DMA 设置和解决步骤导致 Isilon NDMP 备份挂起

摘要: Isilon 网络数据管理协议 (NDMP) 备份挂起显示 avtar 死锁循环和“无法找到信息节点的历史记录”错误。原因:直接内存访问 (DMA) 未设置为“通用”。每 KB 482157修复:使用 Isilon CLI 标记 Avamar 标记或更改 DMA。

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

症状

Isilon NDMP 备份挂起

在日志文件中观察到的指标

  • 重复的死锁消息,指示服务器上没有工作可做且没有待处理内容。
  • 历史记录处理报告零 NDMPHISTLISTLINE 消息。
  • Mark EOF 历史记录显示 inode:0
  • Avtar 错误报告无法找到特定索引节点的历史记录。
  • NDMP 历史记录线程报告文件历史记录数据耗尽,无法应答待处理 GETNDMPISILONHISTLIST 消息。
  • 调试信息显示处理 GETNDMPISILONHISTLIST 请求目录索引节点。
  • 响应指示无法查找索引节点的历史记录 4371567677
[avtar] context::loop: Probable deadlock: No work to do and nothing pending on server.
[avtar] context::loop: Probable deadlock: No work to do and nothing pending on server.
[avtar] context::loop: Probable deadlock: No work to do and nothing pending on server.
[phist] isilontar_history::processhist::body handled 0 NDMPHISTLISTLINE messages, which is all that readhist sent
[phist] isilontar_history::processhist::mark_eof_history lastparent_done inode:0
Avtar Errors relating unable to find history for inode ####
avtar Error <8667>: NDMP history processing thread has read all file history data and is unable to answer remaining 3 GETNDMPISILONHISTLIST messages from the data processing thread
avtar Info <10765>: DEBUG: answering GETNDMPISILONHISTLIST message:CLIENTONLY_GETNDMPHISTLIST64=412 serial=0 seq=0 flags=:N:0 kind=0 for dir inode:4371567677 with done=false and best effort data histlist:(nil)
[avtar] backisilontardir::response unable to find history for inode '4371567677'


 

原因

Isilon 上的 DMA 设置不正确

Isilon 群集上的数据迁移加速器 (DMA) 类型配置的值不是 generic。此错误配置会阻止 Avamar 正确处理 NDMP 历史记录数据,从而导致死锁情况和历史记录查找失败。

  • DMA 类型设置为非泛型值(例如,特定于供应商的值)会阻止 NDMP 历史记录处理线程进行应答 GETNDMPISILONHISTLIST 消息。
  • Avamar 日志反复显示“Probable deadlock:无需执行任何工作,服务器上也没有待处理的内容。”
  • Avamar 报告错误,例如 avtar Error<8667> 和“无法找到 Inode 的历史记录......”

记录错误配置的证据

[avtar] context::loop: Probable deadlock: No work to do and nothing pending on server.
[phist] isilontar_history::processhist::body handled 0 NDMPHISTLISTLINE messages, which is all that readhist sent
avtar Error <8667>: NDMP history processing thread has read all file history data and is unable to answer remaining 3 GETNDMPISILONHISTLIST messages from the data processing thread
[avtar] backisilontardir::response unable to find history for inode '4371567677'

解决方案

修复 Isilon NDMP 备份死锁。

建议的解决方案 — 将 Isilon DMA 模式设置为“通用”

将 Isilon 群集上的数据迁移加速器 (DMA) 模式更改为通用模式可解决阻止 NDMP 历史记录处理的死锁条件。

  • 使用具有以下条件的帐户登录 Isilon 群集: admin 权限的默认管理员。
  • 验证当前 DMA 设置。
  • 将 DMA 模式修改为 generic
  • 重新启动 NDMP 服务以应用更改。
  • 确认 Avamar 备份作业完成且未挂起。

命令示例(在 Isilon CLI 上运行):

# Show current DMA mode
isi storagepool settings view | grep dma

# Change DMA mode to generic
isi storagepool settings modify --dma-mode generic

# Restart NDMP service
svc_isilon restart ndmp

 更改后,监视 avtar 用于删除死锁消息的日志,例如:

[avtar] context::loop: Probable deadlock: No work to do and nothing pending on server.

 

注意:将 DMA 模式切换为通用< 模式可能会影响其他基于 ADM 的集成的性能。在生产环境中应用此更改之前,请与任何第三方 ADM 供应商确认。

备用解决方案 — Avamar Client 标记解决方法

如果更改 Isilon DMA 设置不可行,请应用 Avamar Client 标记作为临时解决方法。

  • 编辑 Avamar Client 配置文件 ( /etc/avamar/avtar.conf 或适当的位置)。
  • 添加标记 --disable-ndmp-history 添加到 Avamar NDMP 备份命令行。
  • 保存文件并重新启动 Avamar Client 服务。
  • 运行测试备份以确保死锁不再发生。

编辑示例(替换现有的 NDMP 命令行):

# Original command
avtar --ndmp ...

# Modified command with workaround flag
avtar --ndmp --disable-ndmp-history ...

 重新启动 Avamar Client 服务:

systemctl restart avamar-client


注意:此标记禁用 NDMP 历史记录处理,这可能会限制报告和审核功能。在更正 DMA 设置之前,仅用作临时措施。

验证步骤

  • 运行新的 Avamar NDMP 备份作业。
  • 检查每个节点池的 avtar 记录是否存在死锁消息和“无法查找信息节点的历史记录”错误。
  • 确认备份成功完成,并且数据显示在 Avamar 控制台中。
  • 如果问题仍然存在,请收集最新的 avtar 登录并向戴尔支持部门创建案例。
在进行更改之前,请始终备份配置文件。不正确的修改可能会中断备份作。
请联系戴尔支持,如果您不确定任何步骤,请提出服务请求。

其他信息

如果更改了 DMA 设置,则必须强制执行新的级别 0。
在不正确的 DMA 下创建的先前备份不可用于数据恢复。

受影响的产品

Avamar

产品

Avamar, Avamar Plug-in for NDMP
文章属性
文章编号: 000170820
文章类型: Solution
上次修改时间: 11 12月 2025
版本:  4
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。