Como descobrir o WWN (WWPN) das HBAs no Windows, no Linux e no ESXi

O storage pediu o WWPN do servidor para fazer o zoning? Como encontrar o WWN das placas Fibre Channel no Windows (do antigo fcinfo ao PowerShell), no Linux e no VMware ESXi.

Boa noite pessoal, tudo bem?

A dica de hoje é sobre uma informação que alguém sempre pede quando a gente menos espera, e que não é muito do dia a dia: o WWN das interfaces HBA de um servidor.

💡 Para que serve: o WWN é o "endereço" da placa Fibre Channel na SAN. O time de storage precisa do WWPN (o WWN de cada porta) para fazer o zoning no switch e o mascaramento no storage. Sem isso, o servidor não enxerga os discos.

Vale lembrar que toda HBA (Emulex/Broadcom, QLogic/Marvell) tem um utilitário do fabricante que mostra essa informação e faz bem mais: rescan de devices, status do link, firmware... Se ele estiver instalado, é o mais completo. Mas nem sempre está, e é aí que entram as opções abaixo.

Windows: como era (fcinfo)

Na época, em servidores Windows Server 2003 e 2008, eu usava o Fibre Channel Information Tool (fcinfo), que a Microsoft disponibilizava no Download Center:

Era só copiar o utilitário para uma pasta do servidor, abrir o CMD nela e executar:

C:\> fcinfo
There are 2 adapters:
com.emulex-LP1015-HP-0: PortWWN: 10:00:00:00:12:13:23:6a
com.emulex-LP1015-HP-1: PortWWN: 10:00:00:00:12:13:23:6b

Windows: como é hoje (PowerShell)

A partir do Windows Server 2012, não precisa baixar nada. O PowerShell já traz o Get-InitiatorPort:

PS C:\> Get-InitiatorPort | Where-Object ConnectionType -eq 'Fibre Channel' |
            Select-Object NodeAddress, PortAddress

NodeAddress      PortAddress
-----------      -----------
200000001213236a 100000001213236a
200000001213236b 100000001213236b
  • PortAddress é o WWPN, o que o time de storage normalmente pede;
  • NodeAddress é o WWNN, o endereço da placa como um todo.

O PowerShell mostra o endereço sem os dois-pontos. Se o pedido for no formato 10:00:00:00:c9:13:23:6a, dá para converter na hora:

PS C:\> Get-InitiatorPort | Where-Object ConnectionType -eq 'Fibre Channel' |
            ForEach-Object { ($_.PortAddress -split '(..)' -ne '') -join ':' }

Bônus: Linux e VMware ESXi

# Linux: WWPN de cada porta
cat /sys/class/fc_host/host*/port_name

# Linux: estado do link de cada porta
cat /sys/class/fc_host/host*/port_state

# VMware ESXi
esxcli storage san fc list
💡 Dica: mande sempre o WWPN de todas as portas e diga de qual servidor elas são. Servidor com duas HBAs (ou uma HBA com duas portas) costuma ter cada porta ligada a um fabric diferente, e o zoning é feito porta a porta.

Considerações Finais

O fcinfo resolveu muito problema na época, mas hoje o PowerShell faz o mesmo sem instalar nada. Com o Get-InitiatorPort no Windows e o /sys/class/fc_host no Linux, essa informação sai em segundos quando o time de storage pedir.

Abraços e até a próxima.

:wq!

Post publicado originalmente em fevereiro de 2014 e atualizado em novembro de 2026.

Comentários