Linux系统如何配置链路聚合,实现流量负载均衡?

Linux系统如何配置链路聚合,实现流量负载均衡?,第1张

本文主要解决3个问题:

第一、链路聚合的定义和作用是什么?

第二、如何配置链路聚合?

第三、链路聚合的实际应用场景有那些?

第一、链路聚合的定义和作用是什么?

答:链路聚合的定义:链路聚合,官方称聚合链接,民间又称网卡组队,具体指的是将多个网卡绑定在一起组建一个虚拟网卡,外界与虚拟网卡进行通信,虚拟网卡再将信息进行分发;

链路聚合的作用:可以实现轮询式的流量负载均衡和热备份的作用;

举个栗子:

链路聚合就好比是一个包工头,这个包工头为了多赚钱,多接订单,肯定需要找多个小弟;

这样就可以保障,万一有一个小弟感冒了,不能上班,这时有其他小弟可以顶上;

当客户需要盖房子的时候,直接找包工头就好了,不需要一个一个的去找建筑工人;

第二、如何配置链路聚合?

答:

1、配置链路聚合的命令是:

nmcli connection add type team con-name team0 ifname team0 autoconnect  yes  config  '{"runner": {"name": "activebackup"}}'

译为:nmcli connection 添加 类型 team(组队)

    配置文件名  team0  网卡名  team0  每次开机自动启用

    配置运行模式  热备份模式

整体译为:为系统网卡添加一个 team (团队),团队名称叫 team0 ,配置文件也叫 team0 , 并且设置为开机自动启动,配置运行模式为热备份模式;

2、为链路聚合添加成员的命令是:

nmcli connection add type team-slave  con-name team0-1  ifname eth1 master team0

nmcli connection add type team-slave con-name team0-2 ifname eth2 master team0

注释:nmcli connection 添加类型为 team的成员

          配置文件名  team0-1  网卡为 eth1  主设备为  team0

整体译为:为主设备team0添加两张网卡,eth1和eth2;

3、为tem0配置ip地址的命令是:

nmcli connection modify team0 ipv4.method manual ipv4.addresses 

“IP 地址 / 子网掩码”    connection.autoconnect yes

4、激活team0的命令是:      

nmcli connection up team0

第三、链路聚合的实际应用场景有那些?

答:当服务器提供比较重要的服务时,只准备一张网卡是远远不够的,因为一但网卡出现故障,客户就无法访问,这就会造成客户流失,体验感差;

这个时候就可以运用链路聚合的方法来解决,将多张网卡绑定在一起创建一张虚拟网卡,从而实现网卡热备份,流量轮询式负载均衡;

以此来保障服务器能够正常提供服务,给用户以良好的体验;

注意事项:

在创建虚拟网卡和添加成员时,如果命令敲错了,一定要删除错误的信息,以免造成通信混乱;

删除的命令是:nmcli  connection delete team0  (team0或team x)

查看team0的信息命令是:     teamdctl   team0  state  

以上.......

(本篇完)

祝:开心!

罗贵

2019-03-24

基础配置信息

常用的三种Bond模式

配置过程以mode=6为例,其它7种模式请参考扩展阅读

mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。 mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

物理接口

2015610165454336.jpg (274×145)

CentOS版本

复制代码代码如下:

datanode01:~>cat /etc/redhat-release

CentOS release 6.4 (Final)

禁用NetworkManager

复制代码代码如下:

#立即关闭禁用NetworkManager并禁用开机自启动

/etc/init.d/NetworkManager stop

chkconfig NetworkManager off

/etc/init.d/network restart

关闭iptables和selinux(可选)

复制代码代码如下:

#立即关闭iptables并禁用开机自启动

/etc/init.d/iptables stop

chkconfig iptables off

#立即关闭selinux并永久禁用

setenforce 0

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config

修改主机名

复制代码代码如下:

vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=namenode01

#刷新生效

hostname namnode01

source /etc/sysconfig/network

配置IP

私有地址

复制代码代码如下:

cd /etc/sysconfig/network-scripts

[root@datanode09 network-scripts]# cat ifcfg-eth3

DEVICE=eth3

ONBOOT=yes

BOOTPROTO=none

IPADDR=10.129.46.19

NETMASK=255.255.255.0

IPV6INIT=no

USERCTL=no

双网卡绑定

复制代码代码如下:

cd /etc/sysconfig/network-scripts

#编辑eth0

cat >ifcfg-eth0 <<EOF

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

MASTER=bond0

EOF

#编辑eth2

cat >ifcfg-eth2 <<EOF

DEVICE=eth2

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

MASTER=bond0

EOF

#编辑bond0

cat >ifcfg-bond0 <<EOF

DEVICE=bond0

TYPE=Ethernet

ONBOOT=yes

BOOTPROTO=none

IPADDR=10.3.3.214

NETMASK=255.255.255.0

GATEWAY=10.3.3.1

IPV6INIT=no

USERCTL=no

EOF

#设置bond参数,注意mode选择

cat >/etc/modprobe.conf <<EOF

alias bond0 bonding

options bond0 miimon=100 mode=6

EOF

#加入开机自启动参数

cat >>/etc/rc.local <<EOF

ifenslave bond0 eth0 eth2

EOF

#重启网卡

service network restart

#使绑定网卡立即生效

ifenslave bond0 eth0 eth2

#测试绑定网络

ping 10.3.3.1

常用3种网卡绑定模式对比

mode=0

中断任意一条链路或恢复链路,网络0丢包

优点:流量提高1倍

缺点:需要接入同一交换机做聚合配置,无法保证物理交换机高可用(Cisco似乎有解决方案?)

mode=1

中断任意一条链路丢失1-3个包(秒),恢复链路时0丢包

优点:交换机无需配置

缺点:如上

mode=6

中断任意一条链路0丢包,恢复链路时丢失10-15个包(秒)

优点:交换机无需配置,流量提高1倍


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7156393.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存