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

ESX内部的客户如何能够find像这样的问题?

[ 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 
  • 物理上的数据是存储在raid6arrays(adaptec 5805),看起来很高兴的vmfs
  • ESX主机也不会logging任何问题
  • guest虚拟机报告的磁盘大小似乎与所configuration的磁盘大小相同
  • 通过esx客人有9个相同的“驱动器”附加,只有2展出这个问题

我在Win 4.0 guest虚拟机下的MS SQL备份卷上遇到过类似的问题 – 这是从NetApp文件pipe理器公开的原始卷。

客户操作系统正在报告(并且仍在报告)该卷上的坏扇区。
我认为这是因为太多的I / O写操作,临时超时或文件过载而发生的。
没有更多的坏道报道。 NetApp“磁盘擦洗”说,一切正常。 没有报告错误。

但是我们要重新创build这个音量,看看它是否能解决这个问题。

这个文件pipe理器上的其他卷怎么样? 你可以用“badblocks / dev / sdg”命令检查这个卷吗? (谨慎:巨大的阅读开销)

毕竟这是一个硬件/固件问题。 虽然Adaptec 5805(具有最新固件)报告所有RAID6卷处于最佳状态,但它也报告一卷包含“失败条纹”。 这样做的影响似乎是,RAID6卷的一部分变得不可读(引起问题中引用的错误)。 ESX似乎没有直接看到这一点,但直接在ESXi控制台上直接运行dd if=/dev/zero of=file-on-damaged-volume时,I / O错误结束,但卷上仍有大量空间。

没有arcconf verify / verify_fix在卷上运行,物理设备上也无法检测或修复任何东西……最后,我将所有数据从卷中移出,并在adaptec级别重新创build。 现在一切正常,但是我对Adaptec维护数据能力的信任受到严重破坏。