Acabei substituindo o HBA porque o problema parecia "hardware-ish" para mim no final.
Uma máquina Solaris 11 com um HBA Emulex antigo parece ter alguns problemas:
# 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)
Quando tento redefinir o adaptador afetado usando o emlxadm (é uma placa dual HBA PCI-X), ele gera erros e não redefine:
# /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
não tem erros registrados. Uma reinicialização parece corrigir o problema e aparece apenas com pouca frequência. O HBA está conectado a um Silkworm Brocade com uma versão 5.30 do FabricOS.
Atualizações: Firmware é o mais recente / melhor, a versão do driver é 2.60f.
Eu tentei redefinir a porta e até mesmo desliguei o Silkworm, mas a porta permanece no estado off-line, aparentemente porque o Emulex HBA desativou o 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
Alguma idéia sobre possíveis causas ou como recuperar a conectividade sem reiniciar?
Essa porta HBA está conectada a uma porta de destino, basta desconectá-la por um momento, redefini-la e reconectar. Não sei qual é a maneira mais fácil de fazer isso, pois não sei seu projeto de SAN, mas imagino que um desligamento de porta em seu switch possa ser a maneira mais fácil / rápida.