由于 I/O 错误或软件定义的存储将驱动器标记为故障或不可用,可能需要更换驱动器
Summary: 由于 I/O 错误或软件定义的存储 (SDS) 解决方案将驱动器标记为“故障”或“不可用”,用户可能会请求更换驱动器。
Instructions
有几种不同的 SDS 解决方案,如 Ceph (Linux)、vSAN (VMware)、Nutanix 等。多个配置相同的服务器通过网络连接在一起,以创建存储群集。服务器配置有主机总线适配器 (HBA) 而不是 PERC,因此驱动器将“按原样”呈现给操作系统。操作系统直接管理每台服务器中的所有驱动器,而无需 HBA 的任何干预。驱动器在戴尔监控工具(如 iDRAC 和 OMSA)和 ePSA 离线诊断程序中列为“运行状况良好”。驱动器的 SMARTCTL 数据可能有也可能没有未纠正的读取和写入错误。SMART 测试(短期、长期和扩展)通过,驱动器列示为“运行状况良好”。
软件定义的存储解决方案 (SDS) 通过使用主机总线适配器 (HBA) 提供与驱动器的物理连接,将所有与存储相关的控制从硬件转移到软件。
RAID 控制器 (PERC) 负责在驱动器上执行多项主动维护活动,其中包括虚拟磁盘上的巡检读取和一致性检查。由于 SDS 解决方案使用主机总线适配器 (HBA) 而不是 PERC,因此软件现在执行所有这些主动维护活动。
用户可能会报告将驱动器标记为“故障或不可用”的 SDS,或者可能会列出驱动器上的 I/O 错误。iDRAC 和 OMSA 等戴尔监控工具将驱动器报告为运行状况良好且正常运行。
“SMARTMON”或“SMARTCTL”等工具可能会在一个或多个指示的驱动器上列出一些错误,但总体驱动器运行状况列为“HEALTHY”或“OK”。
造成这种差异的原因是以下因素:
- iDRAC 显示组件的运行状况。如果驱动器固件报告其运行状况良好,则 iDRAC 会反映相同的信息。如果驱动器固件表明它处于预测性故障状态,则 iDRAC 反映相同的情况。
- 所有驱动器都可以容忍一些坏块或不可纠正的错误,并继续运行而不会对功能产生任何影响。坏块的阈值由驱动器制造商编程到驱动器固件中,而不是标准数字或百分比。
- 驱动器将保持运行状态,直到驱动器上的坏块或不可纠正错误总数超过预测的故障或故障阈值。
- 驱动器上的偏移地址被标记为坏块,仅当该特定地址的写入操作失败时,才会重新定位数据。对于将扇区标记为坏块,驱动器固件不会将读取错误视为坏块。
- 在操作系统级别记录的 I/O 错误可能不会反映在生命周期日志中。
在这种情况下,驱动器可以正常工作,并且完全符合其操作参数。他们不符合条件,也不需要更换硬件。此处建议的行动计划是从软件层执行必要的维护活动以解决问题。
在这种情况下,请从一个或多个受影响的服务器捕获完整的操作系统日志包或报告。联系戴尔SST(如果保修协议涵盖)或操作系统供应商进行日志审查,因为他们必须就后续纠正步骤提供建议。
戴尔 SST 或操作系统供应商确定以下详细信息:
- 操作系统内核记录的I/O错误总数(如果有)。
- 针对哪些设备(一个或多个)记录错误。
- 损坏类型:文件或元数据级别(如果有)
- 存储服务是否崩溃?如果是,为什么?
- SDS 中提供了纠正行动来解决此类错误。