ESX Guest 中的硬件磁盘错误,在 vmfs 支持的驱动器上......这怎么可能?

Tob*_*ker 8 linux vmware-esxi

ESX里面的guest怎么会发现这样的io问题?

[ 40.601502] end_request: critical target error, dev sdg, sector 430203456
[ 40.601563] sd 2:0:6:0: [sdg] Unhandled sense code
[ 40.601582] sd 2:0:6:0: [sdg] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[ 40.601622] sd 2:0:6:0: [sdg] Sense Key : Hardware Error Sense Key : Hardware Error [current] [current] 
[ 40.601661] sd 2:0:6:0: [sdg] Add. Sense: Internal target failureAdd. Sense: Internal target failure
[ 40.601695] sd 2:0:6:0: [sdg] CDB: Write(10)Write(10):: 2a 2a 00 00 02 19 64 a4 05 62 c0 80 00 00 00 00 40 40 00 00
Run Code Online (Sandbox Code Playgroud)
  • 物理上,数据位于存储在 raid6 阵列(adaptec 5805)中的 vmfs 上,这似乎很高兴
  • ESX 主机也没有记录任何问题
  • 来宾报告的磁盘大小似乎与配置的磁盘大小相同
  • 通过 esx,来宾连接了 9 个相同的“驱动器”,只有 2 个出现此问题

Tob*_*ker 1

毕竟这是一个硬件/固件问题。虽然 Adaptec 5805(带有最新固件)报告所有 RAID6 卷均处于最佳状态,但它还报告有一个卷包含“失败条带”。这样做的效果似乎是,RAID6 卷的该部分变得不可读(导致问题中引用的错误)。ESX 似乎没有直接看到这一点,但dd if=/dev/zero of=file-on-damaged-volume直接在 ESXi 控制台上运行会导致 i/o 错误,而卷上仍然有足够的空间。

在卷上运行的 arcconf verify / verify_fix 数量再多,物理设备也无法检测或修复任何内容...最终我将所有数据从卷中移走,并在 Adaptec 级别上重新创建它。现在一切都很好,但我对 Adaptec 保护数据能力的信任严重受损。