运行 iostat -En 时“无设备”是什么意思

运行 iostat -En 时“无设备”是什么意思

我们推测连接 SAN 和直接 I/O LDOM 的电缆有故障。这是运行时错误的片段iostat -En

   c5t60060E8007C50E000030C50E00001067d0 Soft Errors: 0 Hard Errors: 696633 Transport Errors: 704386
Vendor: HITACHI  Product: OPEN-V           Revision: 8001 Serial No: 504463
Size: 214.75GB <214748364800 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 6 Recoverable: 0
Illegal Request: 1 Predictive Failure Analysis: 0

这里是什么No Device: 6意思?

答案1

搜索通过Illumos 光纤通道设备代码ENODEVENODEV显示了源自 OpenSolaris 的源代码中的 13 种用法。

在这些例子中,我怀疑这是最有可能导致您的“无设备”错误的一个:

pd = fctl_hold_remote_port_by_pwwn(port, &pwwn);
if (pd == NULL) {
    fcio->fcio_errno = FC_BADDEV;
    return (ENODEV);
}

该代码位于功能fp_fcio_login(),其中代码似乎正在尝试登录远程 WWN。假设一根坏电缆可以防止这种情况发生似乎是合适的。请注意,光纤通道错误代码是FC_BADDEV,这似乎也适用于损坏的电缆。

简而言之,对源代码的审查表明ENODEV错误与损坏的电缆一致。

如有必要,您可以使用dTrace它来更仔细地识别关联。鉴于硬错误和传输错误发生的频率要高出大约 5 或 6 个数量级,IMO 认为,在ENODEV其他错误得到解决并且不再发生之后,直到错误发生之前,没有必要进行这种努力。

相关内容