歡迎您光臨本站 註冊首頁

Unix/Linux 系統自動化管理: 網路介面帶寬管理篇

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  
本文是 Unix/Linux 系統管理自動化系列中的一篇,主要講述如何實現自動化監控網路介面帶寬狀態並及時通知系統管理員採取相應措施。

在 Unix/Linux 系統的日常管理工作中,系統管理員可能會遇到因網路介面帶寬耗盡而導致網路服務響應過慢,或者服務中斷等問題。這些問題較嚴重的影響了工作效率。因此,關注系統的網路介面使用情況,建立一個警告系統對網路介面帶寬的潛在問題發出警告,確保網路介面帶寬沒有被塞滿是系統管理的一個重要的方面。

在本文中,作者介紹了一些查看網路介面使用情況的工具命令並結合這些工具實現了一個自動化監控網路介面帶寬的示範腳本。通過介紹,讀者將了解如何監視網路介面帶寬並以此為依據做出相應的調整。

Unix/Linux 網路介面管理相關命令介紹

獲取網路適配器列表信息

在獲知網路介面使用狀態之前,你可能需要知道你當前的系統使用的網路適配器,在 Linux 和 AIX 中查看網路設備器的屬性使用不同的命令,下面的例子給出了在不同系統上如何查看網路設備器的屬性。

Linux 系統啟動載入網卡驅動會輸出識別到的所有網路適配器信息。dmesg 顯示系統開機信息。所以可以利用該命令取得系統網路適配器列表。清單 1 命令輸出顯示共有 2 塊網卡,eth0 與 eth1,其中僅 eth1 被啟用。


清單 1. 在 RHEL5.3 系統上查看網路適配器
				    # 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 系統上查看網路適配器
				    # 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 系統上查看網路介面狀態
				    # 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 encap:Local 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 系統上查看網路介面狀態
				    # 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 系統上查看網路適配器連接屬性
				    # 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 系統上查看網路適配器連接屬性
				    # 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   


[火星人 ] Unix/Linux 系統自動化管理: 網路介面帶寬管理篇已經有713次圍觀

http://coctec.com/docs/linux/show-post-68736.html