Fibre-Channel

Emulex FC HBA 未重置

  • January 29, 2012

帶有老式 Emulex HBA 的 Solaris 11 機器似乎存在一些問題:

# dmesg | egrep emlxs
Dec 29 15:31:10 san2 emlxs: [ID 349649 kern.info] [ 5.0608]emlxs1: NOTICE: 730: Link reset. (Disabling link...)
Dec 29 15:31:10 san2 emlxs: [ID 349649 kern.info] [ 5.0333]emlxs1: NOTICE: 710: Link down.
Dec 29 15:31:11 san2 emlxs: [ID 349649 kern.info] [ B.1FD3]emlxs1: NOTICE: 930: Packet transport failed. (*Node not found. did=10300)

當我嘗試使用 emlxadm(它是雙 HBA PCI-X 卡)重置受影響的適配器時,它會引發錯誤並且不會重置:

# /opt/EMLXemlxu/bin/emlxadm

Available Emulex HBA's:

1. FCT:emlxs0      : /devices/pci@0,0/pci8086,25e2@2/pci8086,350c@0,3/pci1014,1a7@1/pci10df,f980@4 (CONNECTED)
2. FCT:emlxs1      : /devices/pci@0,0/pci8086,25e2@2/pci8086,350c@0,3/pci1014,1a7@1/pci10df,f980@5 (NOT CONNECTED)

Enter an HBA number or zero to exit: 2

HBA 2: /devices/pci@0,0/pci8086,25e2@2/pci8086,350c@0,3/pci1014,1a7@1/pci10df,f980@5

emlxadm> get_fw_rev

Firmware revision: LP9802DC 1.92a1

emlxadm> reset_hard

ioctl: FCIO_RESET_HARD: Device busy
fcio:  FCIO_RESET_HARD: Operation successful.

> exit

# fcadm force-lip 10000000c93a3e6b
Error: Failed to reinitialize the link of HBA 10000000c93a3e6b

fmdump沒有記錄錯誤。重新啟動似乎可以解決問題,並且它很少出現。HBA 通過 5.30 版本的 FabricOS 連接到 Brocade Silkworm。

更新:韌體是最新/最好的,驅動程序版本是 2.60f。

我嘗試過重置埠,甚至重啟 Silkworm,但埠仍處於離線狀態,顯然是因為 Emulex HBA 已關閉 GBIC PHY:

SW3014BC2_B:admin> portshow 13
portName:
portHealth: No Fabric Watch License

Authentication: None
portDisableReason: None
portCFlags: 0x1
portFlags: 0x4001        PRESENT U_PORT LED
portType:  4.2
portState: 2    Offline
portPhys:  4    No_Light

關於可能的原因或如何在不重新啟動的情況下恢復連接的任何想法?

我最終更換了 HBA,因為問題在我看來是“硬體”。

該 HBA 埠已連接到目標埠,只需將其斷開片刻,將其重置然後重新連接。不知道您執行此操作的最簡單方法是什麼,因為我不知道您的 SAN 設計,但我想您的交換機上的埠關閉可能是最簡單/最快的方法。

引用自:https://serverfault.com/questions/348192