Linux系统调优之网络的调优

网络的调优

1.Bonding技术

网卡绑定技术,它的功能有:

双线冗余 带宽增备

网卡绑定也称作"网卡捆绑",就是使用多块物理网卡虚拟成为一块网卡,以提供负载均衡或者冗余,增加带宽的作用。当一个网卡坏掉时,不会影响业务。这个聚合起来的设备看起来是一个单独的以太网接口设备,也就是这几块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。这种技术在Cisco等网络公司中,被称为Trunking和Etherchannel 技术,在Linux的内核中把这种技术称为bonding Trunking(链路聚集)

那么这里就有两个技术分类

1. 负载均衡

2. 网络冗余

配置多网卡绑定技术实例

①. 添加网卡(同样的链接方式)

 Linux系统调优之网络的调优_第1张图片

②. 加载bonding模块

modinfo bonding | grep .ko

#查看是否有bonding模块

filename:       /lib/modules/2.6.32-431.el6.x86_64/kernel/drivers/net/bonding/bonding.ko

modprobe bonding

echo "modprobe bonding &> /dev/null" >> /etc/rc.local

#加载/自动加载bonding模块

lsmod | grep bond

#查看是否加载成功

 

③.编辑模块载入配置文件,让系统支持bonding

vim /etc/modprobe.conf

#文件不存在,新建

添加:

alias bond0 bonding

options bonding miimon=100 mode=balance-rr

#mode=balance-rr 或mode=0 这里我采用这种rr轮循模式, 此模式提供负载平衡和容错。  此模式下所以网卡共用一个MAC地址,后面结果会有验证!

 

#miimon是用来进行链路监测的,如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;

 

#bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。

 

④.修改网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-bond0

#新建bond0虚拟聚合网卡配置文件,必须和载入配置文件中的alias对应

添加:

DEVICE=bond0

IPADDR=192.168.1.63

NETMASK=255.255.255.0

GATEWAY=192.168.1.254

DNS1=192.168.1.254

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

#是否允许非root用户控制该设备

vim /etc/sysconfig/network-scripts/ifcfg-eth0   

#修改eth0网卡配置文件

修改为:

DEVICE=eth0

USERCTL=no

ONBOOT=yes

MASTER=bond0

SLAVE=yes

BOOTPROTO=none        

vim /etc/sysconfig/network-scripts/ifcfg-eth1 

#修改eth1网卡配置文件

修改为:

DEVICE=eth1

USERCTL=no

ONBOOT=yes

MASTER=bond0

SLAVE=yes

BOOTPROTO=none          

 

⑤.重启网络服务

service network restart

如果无法启动则:

/etc/init.d/NetworkManager stop

chkconfig NetworkManager off

ifconfig

#bond0和eth0、eth1的MAC地址一样

 

⑥.测试

测试高可用

[root@localhost ~]# ping 192.168.1.254 //ping着,然后断开一个网卡

Linux系统调优之网络的调优_第2张图片 

 

这个过程并没有出现Ping丢包,发现通信正常,没有问题。说明多网卡绑定成功

Linux系统调优之网络的调优_第3张图片

 

拓展:

mode=0 : 可实现网络负载均衡和网络冗余,采用平衡轮循策略(balance-rr)。

此模式的特点:

a. 所以网卡都工作,传输数据包顺序是依次传输,也就是说第1个包经过eth0,下一个包就经过eth1,一直循环下去,直到最后一个包传输完毕。

b. 此模式对于同一连接从不同的接口发出的包,中途传输过程中再经过不同的链接,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。

c. 与网卡相连的交换必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址

 

2.内网提速之巨帧Jumbo Frame  

 

修改网卡帧数可以提高网卡传输速度

查看帧数MTU

    MTU,即Maximum Transmission Unit(最大传输单元),此值设定TCP/IP协议传输数据报时的最大传输单元。

系统与ISP之间MTU的不符就会直接导致数据在网络传输过程中不断地进行分包、组包,浪费了宝贵的传输时间,也严重影响了宽带的工作效率。

ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:D7:42:30  

          inet addr:192.168.1.63  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fed7:4230/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:298 errors:0 dropped:0 overruns:0 frame:0

          TX packets:42 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:33737 (32.9 KiB)  TX bytes:3277 (3.2 KiB)

 

修改网卡帧数

ifconfig eth0 mtu 9000

ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:D7:42:30  

          inet addr:192.168.1.63  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fed7:4230/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:9000  Metric:1

          RX packets:478 errors:0 dropped:0 overruns:0 frame:0

          TX packets:49 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:49384 (48.2 KiB)  TX bytes:3859 (3.7 KiB)


注意:

此参数通常建议不做修改

除非2个电脑/服务器直连对传数据时,提高传输速度

你可能感兴趣的:(Linux系统)