Linux6/Centos6 聚合链路
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux6/Centos6 聚合链路相关的知识,希望对你有一定的参考价值。
简介
链路聚合(Link Aggregation),是指将多个物理端口捆绑在一起,成为一个逻辑端口,以实现出/ 入流量在各成员端口中的负荷分担,交换机根据用户配置的端口负荷分担策略决定报文从哪一个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送报文,并根据负荷分担策略在剩下链路中重新计算报文发送的端口,故障端口恢复后再次重新计算报文发送端口。链路聚合在增加链路带宽、实现链路传输弹性和冗余等方面是一项很重要的技术。
如果聚合的每个链路都遵循不同的物理路径,则聚合链路也提供冗余和容错。通过聚合调制解调器链路或者数字线路,链路聚合可用于改善对公共网络的访问。链路聚合也可用于企业网络,以便在吉比特以太网交换机之间构建多吉比特的主干链路
原理
逻辑链路的带宽增加了大约(n-1)倍,这里,n为聚合的路数。另外,聚合后,可靠性大大提高,因为,n条链路中只要有一条可以正常工作,则这个链路就可以工作。除此之外,链路聚合可以实现负载均衡。因为,通过链路聚合连接在一起的两个(或多个)交换机(或其他网络设备),通过内部控制,也可以合理地将数据分配在被聚合连接的设备上,实现负载分担。
因为通信负载分布在多个链路上,所以链路聚合有时称为负载平衡。但是负载平衡作为一种数据中心技术,利用该技术可以将来自客户机的请求分布到两个或更多的服务器上。 聚合有时被称为反复用或IMUX。如果多路复用是将多个低速信道合成为一个单个的高速链路的聚合,那么反复用就是在多个链路上的数据“分散”。它允许以某种增量尺度配置分数带宽,以满足带宽要求。链路聚合也称为中继。
按需带宽或结合是指按需要添加线路以增加带宽的能力。在该方案中,线路按带宽的需求自动连接起来。聚合通常伴随着ISDN连接。基本速率接口支持两个64kbit/s的链路。一个可用于电话呼叫,而另一个可同时用于数据链路。可以结合这两个链路以建立l28kbit/s的数据链路。
链路聚合有如下优点:
1、增加网络带宽
链路聚合可以将多个链路捆绑成为一个逻辑链路,捆绑后的链路带宽是每个独立链路的带宽总和。
2、提高网络连接的可靠性
链路聚合中的多个链路互为备份,当有一条链路断开,流量会自动在剩下链路间重新分配。
链路聚合的方式主要有以下两种:
1、静态Trunk
静态Trunk将多个物理链路直接加入Trunk组,形成一条逻辑链路。
2、动态LACP
LACP(Link Aggregation Control Protocol,链路聚合控制协议)是一种实现链路动态汇聚的协议。LACP协议通过LACPDU(Link Aggregation Control Protocol Data Unit,链路聚合控制协议数据单元)与对端交互信息。
激活某端口的LACP协议后,该端口将通过发送LACPDU向对端通告自己的系统优先级、系统MAC地址、端口优先级和端口号。对端接收到这些信息后,将这些信息与自己的属性比较,选择能够聚合的端口,从而双方可以对端口加入或退出某个动态聚合组达成一致。
链路聚合往往用在两个重要节点或繁忙节点之间,既能增加互联带宽,又提供了连接的可靠性。
下面介绍一下如何配置Linux6/Centos6 的聚合链路
1、新建一个网卡配置
Linux6系统中的网卡名称以eth0、eth1这样的方式命名,我们新建一个网卡,名称叫做bond0,有了bond0之后,eth0和eth1网卡配置里不要出现ip名称,下面是操作过程
#vim/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
USERCTL=no
IPADDR=192.168.1.3
NETMASK=255.255.255.0
2修改eth0的文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
USERCTL=no
3.修改eth1的文件
vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
USERCTL=no
2、加载bonding模块
vi /etc/modprobe.d/bonding.conf 在文件的末尾加入
alias bond0 bonding
options bond0 mode=1 miimon=100
参数解释:
miimon是用来进行链路监测的。比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路。
mode的值表示工作模式,常用的工作模式为0,1两种。
mode=0表示loadbalancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance(active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。
3、将bond0设置为开机自动加载
编写/etc/rc.d/rc.local
在倒数第2行,增加一句
ifenslave bond0 eth0 eth1
4、重启网卡
执行命令/etc/init.d/network restart(或者service network restart)这两条命令的意思一样。如不行重启动系统试试reboot或init 6。
5、验证网卡绑定是否成功
输入ifconfig,查看bond0,eth0,eth1三块网卡的MAC地址是否一样,如果一致,基本可以确定双网卡绑定已生效。
然后,查看/proc/net/bonding/bond0文件,也可以确定网卡绑定是否成功。
如果对此文有什么问题的话,请加下面微信一起探讨
以上是关于Linux6/Centos6 聚合链路的主要内容,如果未能解决你的问题,请参考以下文章