Board logo

标题: Unix/Linux 系统自动化管理 网络接口带宽管理篇(1) [打印本页]

作者: look_w    时间: 2018-6-13 15:35     标题: Unix/Linux 系统自动化管理 网络接口带宽管理篇(1)

在 Unix/Linux 系统的日常管理工作中,系统管理员可能会遇到因网络接口带宽耗尽而导致网络服务响应过慢,或者服务中断等问题。这些问题较严重的影响了工作效率。因此,关注系统的网络接口使用情况,建立一个警告系统对网络接口带宽的潜在问题发出警告,确保网络接口带宽没有被塞满是系统管理的一个重要的方面。
在本文中,作者介绍了一些查看网络接口使用情况的工具命令并结合这些工具实现了一个自动化监控网络接口带宽的示范脚本。通过介绍,读者将了解如何监视网络接口带宽并以此为依据做出相应的调整。
Unix/Linux 网络接口管理相关命令介绍获取网络适配器列表信息在获知网络接口使用状态之前,你可能需要知道你当前的系统使用的网络适配器,在 Linux 和 AIX 中查看网络设备器的属性使用不同的命令,下面的例子给出了在不同系统上如何查看网络设备器的属性。
Linux 系统启动加载网卡驱动会输出识别到的所有网络适配器信息。dmesg 显示系统开机信息。所以可以利用该命令取得系统网络适配器列表。清单 1 命令输出显示共有 2 块网卡,eth0 与 eth1,其中仅 eth1 被启用。
清单 1. 在 RHEL5.3 系统上查看网络适配器
1
2
3
4
5
6
7
8
# dmesg|grep -i eth
IBM eHEA ethernet device driver (Release EHEA_0092-03)
ehea: eth0: Jumbo frames are enabled
ehea: eth0 -> logical port id #1
ehea: eth1: Jumbo frames are enabled
ehea: eth1 -> logical port id #2
ehea: eth1: Physical port up
eth1: no IPv6 routers present




AIX 系统查看系统设备状态使用 lsdev – C 命令。清单 2 为命令在 AIX 6.1 上的输出,AIX 5.3 与之相同。
清单 2. 在 AIX 6.1 系统上查看网络适配器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# lsdev -CHc adapter|grep en
name      status    location description

ent0      Available 03-08    2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)
ent1      Available 03-09    2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)
ent2      Available 04-08    2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)
ent3      Available 04-09    2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)

上面的命令给出了系统可用的网络适配器信息,从上面的输出可以看出,系统有四个可用的网络适配器,
如果要获得网络适配器的配置信息,可以使用 lscfg 来查看。

# lscfg -vl ent0
  ent0 U787D.001.992059Y-P1-T1  2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)

      2-Port 10/100/1000 Base-TX PCI-X Adapter:
        Network Address.............000D60F42314
        ROM Level.(alterable).......DV0210
        Hardware Location Code......U787D.001.992059Y-P1-T1

可以通过下面命令得到网络接口列表,并可以通过比较 location 获得网络接口与网络适配器的对应关系,
比如接口 en0 对应网络适配器 ent0,因为他们对应相同的 location。

# lsdev -CHc if|grep en
name status    location description

en0  Available 03-08    Standard Ethernet Network Interface
en1  Available 03-09    Standard Ethernet Network Interface
en2  Defined   04-08    Standard Ethernet Network Interface
en3  Defined   04-09    Standard Ethernet Network Interface




查看网络接口状态网络接口状态包括接口是否启用,是否设置 IP 地址、MTU 大小、收发的包数等,查询的命令为 ifconfig, 在不同操作系统其输出格式略有不同。
清单 3 为在 RHEL5.3 上的输出,其显示两个以太网络接口,eth0 未配置 ip 地址,未被启用;eth1 配置了 IP 地址并被启用。
清单 3. 在 RHEL5.3 系统上查看网络接口状态
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:1A:64:44:AC:34
         BROADCAST MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth1      Link encap:Ethernet  HWaddr 00:1A:64:44:AC:35
         inet addr:9.114.70.151  Bcast:9.114.70.255  Mask:255.255.255.128
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:12337126 errors:0 dropped:0 overruns:0 frame:0
         TX packets:6250179 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:17295472097 (16.1 GiB)  TX bytes:673204981 (642.0 MiB)
lo        Link encapocal Loopback
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:16436  Metric:1
         RX packets:20168 errors:0 dropped:0 overruns:0 frame:0
         TX packets:20168 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:1989243 (1.8 MiB)  TX bytes:1989243 (1.8 MiB)




清单 4 为命令在 AIX 6.1 上的运行结果,其显示两个以太网络接口,均配置了 IP 地址并启用。AIX 5.3 上的输出格式与之一样。
清单 4. 在 AIX 6.1 系统上查看网络接口状态
1
2
3
4
5
6
7
8
9
10
11
12
13
# ifconfig – a
en0: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,
CHECKSUM_OFFLOAD(ACTIVE),PSEG,LARGESEND,CHAIN>
        inet 9.114.124.9 netmask 0xffffff00 broadcast 9.114.124.255
        tcp_sendspace 131072 tcp_recvspace 65536 rfc1323 0
en1: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,
CHECKSUM_OFFLOAD(ACTIVE),PSEG,LARGESEND,CHAIN>         
        inet 192.168.124.9 netmask 0xffffff00 broadcast 192.168.124.255
        tcp_sendspace 262144 tcp_recvspace 131072 rfc1323 1
lo0: flags=e08084b<UP,BROADCAST,LOOPBACK,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT>
        inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255
       inet6 ::1/0
        tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1




查看网络接口连接属性网络接口连接属性包括连接模式、连接速度、链路状态、协商方式等。
Linux 上用于查询及设置以太网卡参数的一个常用命令是 ethtool,它可以获取网卡的各种详细的诊断信息,包括连接模式(全双工 / 半双工)、连接速度(10M/100M/1000M 等)、是否支持自动协商等、链路状态、驱动版本、总线位置等等。ethtool 的查询以及配置功能需要相应网卡设备驱动的支持,从本质上说,ethtool 的功能是调用驱动提供的 ethtool 接口,来实现用户所要求的操作。基本上,Linux 2.4 以上内核的网卡驱动均支持这个命令。但根据具体驱动的不同,显示的信息可能大同小异。
清单 5. 在 RHEL5.3 系统上查看网络适配器连接属性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# ethtool eth1
Settings for eth1:
        Supported ports: [ FIBRE ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Current message level: 0x000000cc (204)
        Link detected: yes

主要字段含义:
Supported ports            支持的端口类型
Supported link modes   支持的连接模式
Supports auto-negotiation  是否支持自动协商
Speed      当前的连接速度
Duplex         当前的双工状态
Port       端口类型
Auto-negotiation           自动协商状态
Link detected              链路状态




entstat 命令是 AIX 下自带用于查询以太网设备统计信息的工具。它的工作原理与 ethtool 类似,同样是提供给用户一个显示网络设备连接状态的接口。清单 6 为命令在 AIX 6.1 上的运行结果,AIX 5.3 上的输出格式与之一样。
清单 6. 在 AIX 6.1 系统上查看网络适配器连接属性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# entstat -d ent0|grep -p 'Specific Statistics'
2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902) Specific Statistics:
------------------------------------------------------------------------
Link Status : Up
Media Speed Selected: Auto negotiation
Media Speed Running: 1000 Mbps Full Duplex
PCI Mode: PCI-X (100-133)
PCI Bus Width: 64-bit
Latency Timer: 144
Cache Line Size: 128
Jumbo Frames: Disabled
TCP Segmentation Offload: Enabled
TCP Segmentation Offload Packets Transmitted: 5080
TCP Segmentation Offload Packet Errors: 0
Transmit and Receive Flow Control Status: Enabled
XON Flow Control Packets Transmitted: 0
XON Flow Control Packets Received: 609
XOFF Flow Control Packets Transmitted: 0
XOFF Flow Control Packets Received: 609
Transmit and Receive Flow Control Threshold (High): 49152
Transmit and Receive Flow Control Threshold (Low): 24576
Transmit and Receive Storage Allocation (TX/RX): 8/56




主要字段含义:
Link Status 链路状态
Media Speed Selected 选择的连接速度
Media Speed Running 当前的连接速度




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0