线上做链路聚合bonding

服务器:联想 x3650 M4    (两台)

 链路聚合可以将两块或者多块网卡结合成单一接口,从而增加网络吞吐量、带宽和冗余。如果一块网卡down或者拔出,其他网卡将保持网络通信,增加冗余、容错和负载均衡。

配置时首先做好规划,以服务器联想 x3650 M4为例说明。服务器有2个网络模块,每个模块各有2块网卡,一共4块网卡。为了提高冗余,分别选取物理网卡1和物理网卡3bonding,对应系统显示网卡为eth0,eth2.


如果安装了图形界面,需要停止NetworkManager.

# service NetworkManager stop

# chkconfig NetworkManager off


1. 修改网卡配置文件

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

保留以下内容,多余可以用#注释掉,


DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

MASTER=bond0

SLAVE=yes

 

# vi /etc/sysconfig/network-scripts/ifcfg-eth2


DEVICE=eth2

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

MASTER=bond0

SLAVE=yes

 

# vi /etc/sysconfig/network-scripts/ifcfg-bond0


DEVICE=bond0

BOOTPROTO=none

IPADDR=135.161.26.141

NETMASK=255.255.255.128

GATEWAY=135.161.26.254

ONBOOT=yes

TYPE=Ethernet


2. 在模块配置文件/etc/modprobe.conf中添加以下内容(如果没有此文件则新建)

alias bond0 bonding

options bond0 miimon=100 mode=0

 

mode表示bonding的策略:

0Round-robin策略:实现负载均衡,按顺序选择可用的设备进行传输,绑定的所有网卡都在工作,如果有一网卡出问题了,不影响网络传输;

1Active-backup策略:主备工作方式,默认情况下只有一张网卡在工作,另一张网卡用于备份,实现高可用性;

2XOR策略:根据公式((src mac addr XOR dst mac addr) % slave cnt)计算出用于传输的slave,对于每个目的MAC地址,会选择相同的slave,提供负载均衡和容错;

3Broadcast策略:任意数据会通过所有slave发送出去,提供容错;

4802.3adIEEE 802.3ad Dynamic link aggregationLCAP协议,要求交换机支持802.3ad动态链路汇聚;

5Adaptive transmit load balancing策略:实现自适应发送负载均衡,不要求任何特殊的交换机支持,外出的流量会根据当前负载分担到每个slave上,进入的流量由当前的slave接收,如果当前slave出故障,另一slave接管该slaveMAC地址;

6Adaptive load balancing策略:实现自适应负载均衡,包括发送负载均衡和接收负载均衡,不要求任何特殊的交换机支持,接收负载均衡由ARP协商达成,bonding驱动截获本地系统发出的ARP答复并用某一slaveMAC地址重写ARP答复的MAC地址,从而每一slave可以有不同的MAC地址。


3. 在启动文件/etc/rc.d/rc.local中添加以下内容

ifenslave bond0 eth0 eth2


4. 重启网络服务

#/etc/init.d/network restart


下面教大家一个我线上使用的测试方法:

5.测试方法

配置好后,输入ifconfig命令,应该只有bond0上有ipeth0eth2上没有ip.

    a.将笔记本有线网卡ip配置成和bond0 ip同一网段,首先插网线连接笔记本和物理网卡1.

b. ping bond0 ip -t. 网络正常。

c. 拔出网线,持续ping,网络中断。

d. 将网线插入物理网卡3,网络恢复正常。


时间同步服务

确保服务器时间一致。

检查是否安装ntp服务

# chkconfig | grep ntp && chkconfig ntpd on

ntpd           0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭

ntpdate        0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭

如果以上内容有ntpd则跳到第2步,反之,则从第1步开始安装

 

1 安装ntp

# yum install ntp -y

若没有本地yum源或者以上命令失败

rpm包安装,上传ntpdate-4.2.6p5-5.el6.centos.4.x86_64.rpm

ntp-4.2.6p5-5.el6.centos.4.x86_64.rpm /opt

 

# cd /opt

# rpm -Uvh ntpdate-4.2.6p5-5.el6.centos.4.x86_64.rpm  --nodeps

# rpm -ivh ntp-4.2.6p5-5.el6.centos.4.x86_64.rpm

 

2 修改ntp配置文件

添加自己真实环境中ntp服务器地址

# vi /etc/ntp.conf

 server 135.161.88.165

 server 135.161.224.134

 

3修改配置文件,同步到硬件时钟

# vi /etc/sysconfig/ntpd

SYNC_HWCLOCK=yes

 

4启动服务、开机自动运行

# service ntpd start

# chkconfig ntpd on

 

5测试同步服务

# ntpq -p

remote 列会显示配置的ntp服务器地址


另一台线上服务器也是按照以上的步骤配置即可。

谢谢!