我们推测连接 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 光纤通道设备代码ENODEV
ENODEV
显示了源自 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
其他错误得到解决并且不再发生之后,直到错误发生之前,没有必要进行这种努力。