如何在Linux中查找网卡总数和可用物理端口总数

dig*_*123 3 networking network-interface redhat-enterprise-linux

我需要查明我的服务器总共有多少个物理端口,其中有多少正在使用,有多少空闲。您能帮忙一下如何找到它吗:

这是我从 dmidecode 输出中找到的内容:

    # dmidecode | egrep -i "PCI|Available|in use"
    PCI is supported
    ESCD support is available
    Designation: PCI-E Slot 1
    Type: x8 PCI Express
    Current Usage: In Use
    Designation: PCI-E Slot 2
    Type: x8 PCI Express
    Current Usage: Available
    Designation: PCI-E Slot 3
    Type: x4 PCI Express
    Current Usage: Available
    Designation: PCI-E Slot 4
    Type: x8 PCI Express
    Current Usage: In Use
    Designation: PCI-E Slot 5
    Type: x8 PCI Express
    Current Usage: In Use

    # dmidecode | grep -i "NIC"
    HP BIOS NIC PCI and MAC Information
    NIC 1: PCI device 04:00.0, MAC address 00:1E:0B:C0:F4:92
    NIC 2: PCI device 42:00.0, MAC address 00:1E:0B:C0:F4:90
    HP BIOS iSCSI NIC PCI and MAC Information
    NIC 1: PCI device 04:00.0, MAC address 00:1E:0B:C0:F4:93
    NIC 2: PCI device 42:00.0, MAC address 00:1E:0B:C0:F4:91

    [root@eir1 network-scripts]# cat ifcfg-eth[0123] | grep -i HWADDR
    HWADDR=00:1E:0B:C0:F4:92
    HWADDR=00:1E:0B:C0:F4:90
    HWADDR=00:26:55:e6:75:5c
    HWADDR=00:26:55:e6:75:5d
Run Code Online (Sandbox Code Playgroud)

我如何从中得出有多少物理端口正在使用中以及有多少可用的结论?请帮忙

Ask*_*arn 5

这是您需要做的。

首先列出所有网卡端口,每一行就是一个端口。

-bash-4.1# lspci | grep -i ethernet
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
03:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
04:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
08:00.0 Ethernet controller: Solarflare Communications SFC9120 (rev 01)
08:00.1 Ethernet controller: Solarflare Communications SFC9120 (rev 01)
0b:00.0 Ethernet controller: Solarflare Communications SFC9020 [Solarstorm]
0b:00.1 Ethernet controller: Solarflare Communications SFC9020 [Solarstorm]
0e:00.0 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)
0e:00.1 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)
0e:00.2 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)
0e:00.3 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)
11:00.0 Ethernet controller: Solarflare Communications SFC9120 (rev 01)
11:00.1 Ethernet controller: Solarflare Communications SFC9120 (rev 01)
Run Code Online (Sandbox Code Playgroud)

我如何知道哪个端口是哪个 NIC 接口?(例如,eth0)

-bash-4.1# ethtool -i eth0
driver: sfc
version: 4.1.2.1003b
firmware-version: 4.2.2.1003 rx1 tx1
bus-info: 0000:08:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
Run Code Online (Sandbox Code Playgroud)

现在您可以看到bus-info: 0000:08:00.0比赛了08:00.0 Ethernet controller: Solarflare Communications SFC9120 (rev 01)

驱动程序名称也是一种快速辨别方法,在本例中sfc表示“Solarflare Communications”

eth0Solarflare 端口之一也是如此,很容易检查它是否已启动

ip link show eth0

现在您将能够了解您有多少个 NIC 端口,每张卡上有多少个可用端口。

谢谢