Solaris
執行 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
意思?
對Illumos 光纖通道設備程式碼的搜尋
ENODEV
顯示了 13 種ENODEV
在源自 OpenSolaris 的原始碼中的用途。在這些情況下,我懷疑這是最有可能導致您的“無設備”錯誤的情況:
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
其他錯誤得到解決且不再發生之後才發生錯誤。