Preciso escrever um script para contar quantas placas HBA de 2 ou 4 portas temos em cada um dos nossos servidores.
Estou executando o lspci em cada um dos servidores, no entanto, nenhum dos documentos que li até agora me diz como determinar o número de placas e o número de portas que há em cada placa.
Este é um exemplo de saída que recebi. Removi algumas linhas para que a saída não fique tão longa.
# lspci | grep -i -E "fibre | ethernet"
5e:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
5e:00.1 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
5f:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
5f:00.1 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
b0:00.0 Fibre Channel: Emulex Corporation LPe31000/LPe32000 Series 16Gb/32Gb Fibre Channel Adapter (rev 01)
b0:00.1 Fibre Channel: Emulex Corporation LPe31000/LPe32000 Series 16Gb/32Gb Fibre Channel Adapter (rev 01)
d8:00.0 Ethernet controller: QLogic Corp. FastLinQ QL41000 Series 10/25/40/50GbE Controller (rev 02)
d8:00.1 Ethernet controller: QLogic Corp. FastLinQ QL41000 Series 10/25/40/50GbE Controller (rev 02)
d8:00.2 Ethernet controller: QLogic Corp. FastLinQ QL41000 Series 10/25/40/50GbE Controller (rev 02)
d8:00.3 Ethernet controller: QLogic Corp. FastLinQ QL41000 Series 10/25/40/50GbE Controller (rev 02)
Então, olhando para essas saídas, posso assumir que cada número de barramento (por exemplo, 5e, 5f, d8, etc.) é uma placa separada? Posso também assumir que cada número de função para cada par barramento:dispositivo é uma porta naquela placa?
por exemplo 5e:00.0, 5e:00.1, 5e:00.2, 5e:00.3
Então a placa Qlogic é uma placa de 4 portas?
e por exemplo 5e:00.0, 5e:00.1
E existem 2 cartões Mellanox onde cada um é um cartão de 2 portas?
lspci
tem várias opções que podem ajudar. Em particular, produz-vv
mais informações e-vmm
informações legíveis por máquina.