解决 NetWorker 中的磁带库访问问题
摘要: 本文旨在帮助支持人员和 NetWorker 管理员确定检测到的机器人无法接受命令的原因。
症状
- 无法访问在 NetWorker 存储节点或服务器上检测到的磁带库安装
- 由于备份硬件不可用,无法备份数据
- 访问机器人时出错:
0x29Device busyThe requested resource is busyStr=<There is an input or output error.>No such deviceNo such file or directoryInappropriate ioctl for device
原因
如果该库以前正常工作,但突然无法正常工作,请将最后一个已知更改视为可能的原因:
- 重新启动、重新发现和重命名设备后库地址的未处理更改
- 电涌、停电或其他环境事件可能造成的损坏
- 故障事件或传输硬件的重新配置
- 安装、更改或删除与运输或机器人技术有关的软件或驱动程序
如果库从未工作过,请在 NetWorker 硬件兼容性指南(需要登录戴尔支持帐户)中确认该硬件受支持。请记住,库可以部分正常工作;仅发现并不能保证可用性或可支持性。
解决方案
要对库访问故障进行故障处理,请查看最近的更改。然后使用基本和第三方比较测试来确认是否有任何主机或进程可以触发机器人的响应。
有时需要根据现有证据测试特定功能。如果主机 A 可以查询机器人,但主机 B 不能,则机器人是有响应的。主机 A 的驱动程序可能正在锁定机器人。如果在所有主机取消分区后主机 B 仍然收到错误,则主机 B 可能有驱动程序、配置或软件问题。
如果主持人在出现问题之前访问过机器人,则检视项目很可能已更改。调查事件发生后的故障或已知配置更改。
检测到库后,使用以下命令通过存储传输(而不是以太网或 Web UI)测试基本 SCSI作。始终确保作系统修补程序是最新的,尤其是在存储方面。
nsrget -o:d 在受影响的服务器和节点上。
-o:d 在磁带繁忙写入的任何主机上。您可以从 NetWorker Management Console (NMC) 的 Monitoring ->Devices下查看此信息。
以下文章提供有关获取和使用 NSRGET 的信息:NetWorker:如何使用 NSRGet NetWorker 数据收集工具(英文版)
图书馆访问:操作系统:
- Windows:在 Windows 中没有用于查询磁带库的本机方法;
mtx是一个免费软件实用程序,如果需要,可以对其进行测试。在发出命令时,它使用转换器设备句柄,而不是 SCSI 地址(这可能会影响测试)。
- Linux:与 Windows 一样,没有用于查询的本机命令,但也具有
mtx端口,这需要设备驱动程序句柄(同样,与 NetWorker 访问它的方式不同)。
loaderinfo -f /dev/sg#
mtx -f /dev/sg# inquiry
- Solaris:Solaris 包括
sgen支持本机磁带库的驱动程序,但没有mtx端口,也不存在其他本机库命令。请参阅下面有关用于测试库访问权限的 NetWorker 命令的部分(见下文)。
- AIX:AIX 没有任何本机磁带库支持(
lus代替),而没有mtx它存在端口。请参阅下面有关用于测试库访问权限的 NetWorker 命令的部分(见下文)。
- HP-UX:
mc是用于介质转换器作的本机 HP-UX 命令:
mc -p $(ioscan FnkC autoch | grep /dev/rac) -r MIDS -q
- NetWorker:这些命令在相对原子级别运行,尽管它们由 NetWorker 支持编写、编译和测试,但它们不需要正在运行的 NetWorker 实例即可运行,也不需要任何 NetWorker 配置。通常,它们被认为是可靠的、低级的、独立于软件的测试工具。要增加大多数实用程序的调试,您可以添加以下环境变量:
SJI_DEBUG=9LUS_DEBUG=9 (lusdebug ffff on AIX)CDI_DEBUG=9SCSI_DEBUG=9JBDEBUG=9
在下面,”<changer address>“因作系统而异:
Windows: Initiator.Target.LUN (由 inquire 命令)或 \\.\changer# 驱动程序句柄
Linux: Intiator.Target.LUN (由 inquire 命令)或 /dev/sg# 驱动程序句柄
Solaris: /dev/scsi/changer/c#t#d# 驱动程序句柄
AIX: Initiator.Target.LUN (由 inquire command)
HP-UX: Initiator.Target.LUN (由 inquire 命令)或 /dev/rac/c#t#d# 驱动程序手柄
sjirjc <changer address>
向机器人请求数据,例如驱动器数量、支持的功能等。
sjisn <changer address>
向机器人请求驱动器元件和序列号信息。
sjirdtag <changer address>
请求盒式磁带到元素位置数据
cdi_inq -f <changer driver handle> -v
请求重要的产品数据(需要使用驱动程序句柄)
ielem -a <changer address>
尝试重新初始化元素 — 可能会造成中断。
图书馆访问:重置库:
nsrjb -HEvvvvv
向有问题的库发出重置命令,并强制重新初始化元素。
nsrjb -IIvvvvv
根据库报告的条形码和介质数据库中的相应值,强制更新和刷新 NetWorker nsr 光盘机 对象。
nsrjb -HH
强制自动存储塔卸载所有卷并尝试软重置。
ielem -a 大致等同于 nsrjb -E 这不需要 NetWorker 中正常工作的 nsr 光盘机 。
传输 - 配置
- 对于 SAN:确保机器人和预期的 NetWorker 机器人控制主机均已正确登录到交换机,并检查机器人的分区以确保可以进行端到端连接。
- 机器人不应由多个主机访问或控制;除非需要(例如,已分区的机器人),否则请确保仅对预期的 NetWorker 机器人控制器主机进行分区以查看机器人。
- 可以测试SAS扩展器以确保建立机器人连接;SCSI 等纯点对点技术需要来自相关主机的测试连接。
传输 - 硬件
- 如果在主机或传输硬件级别检测到问题,请考虑测试交换机或扩展器,或者使用“已知良好”的示例更换线缆以排除布线问题。
- 查看运输硬件的固件,以及机器人本身的货币固件。
- 对于 SCSI,请确保端接器正确放置并稳固就位,遵守线缆长度限制,并使用正确的电压。
主机传输 — 配置
- 确保相关主机具有适用于其传输驱动程序的最新驱动程序和固件 - 使用
EMCReports(捆绑了nsrget -o:e)。 - 确保对作系统正确执行所需的任何主机总线适配器 (HBA) 驱动程序配置。
主机软件 — 资源锁定
- 对于分区为显示机器人的任何主机(理想情况下仅是指定的 NetWorker 主机),请检查是否有任何可能尝试访问机器人的软件,例如其他备份软件、监视软件或可能尝试访问机器人的独立实用程序。
- 对于 Solaris 10,当连接了 nsrlcpd NetWorker 进程时,无法访问机器人;因此,在禁用 NetWorker 中的库之前,它可能看起来无法访问(甚至无法检测到)(强制
nsrlcpd分离并死亡)。 - 如果怀疑任何非 NetWorker 进程锁定或访问机器人或任何驱动器,请参阅 NetWorker 中的覆盖标签和 SCSI 重置故障处理,了解有关故障处理和标识的更多信息。
如果作系统检测到库,但库不响应命令,则它在一定程度上正常工作。它可能被另一个进程或主机锁定,受到传输问题的影响,或者遇到组件级故障。
如果除了用于控制机器人的 NetWorker 存储节点之外,没有其他进程或主机可以确定正在访问机器人,请参阅在 NetWorker 中解决磁带库硬件问题 ,以确定机器人本身是否存在问题。
其他信息
确保您了解显示超出 NetWorker 应用程序范围的机器人问题(读取:无法使用标准作系统方法访问)不在 NetWorker 支持范围内。
NetWorker:对 NetWorker
中的磁带库问题进行故障处理支持人员可以使用上述标准提供指导,但我们没有作系统、HBA 或机器人供应商资源。此限制可能会导致长时间的故障处理失败。