文章详情页 您现在的位置是:网站首页>文章详情

网络高可用——bond

图片丢失 Jeyrce.Lu 发表于:2020年5月27日 09:36 分类:【服务器 1759次阅读

什么是bond

将多张物理网卡进行绑定,组成一张逻辑网卡对外提供网络服务,这种技术叫做bond。这是一种在生产场景中非常常用的网络冗余技术,通过bond,可以实现损坏一张网卡、断掉一路网络的情况下网络依然可用,或者实现带宽扩容和流量负载均衡。查看操作系统内核是否支持bond:

jeeyshe@jeeyshe-PC:~$ cat /boot/config-4.15.0-30deepin-generic |grep -i bonding
CONFIG_BONDING=m

bond常用模式

(1)mod=0负载平衡(balance-rr)round-robin方式,如两个网卡组成bond时,数据包会轮流从两个网卡eth0和eth1通过,直到数据全部传输完毕。典型特点是带宽=网卡带宽之和,但是当其中之一网路出现故障,整个网络会出现问题。

(2)mod=1主备模式(backup-active),两个网卡组成bond0,但是同一时间仅有一块网卡工作,当另一网卡或网络出现故障,可自动切换另一块网卡工作,以此达到本地网络冗余的目的。

以上为bond常用的两种模式,尤其是主备模式。除此之外还有一些其他的模式:balance-xor平衡模式、broadcast广播模式、802.3ad动态聚合模式、balance-tlb适配器负载均衡模式、balance-alb适应性负载均衡模式等等。

配置bond

假设当前有eth0和eth1两块网卡,插着两根网线。

(1)配置物理网卡eth0、eth1

[root@jeeyshe network-scripts]#cat ifcfg-eth0    
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes         //可以没有此字段,就需要开机执行ifenslave bond0 eth0 eth1命令了。


[root@lixin network-scripts]#cat ifcfg-eth1    
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

(2)配置逻辑网卡bond0

[root@jeeyshe network-scripts]#cat ifcfg-bond0     //需要我们手工创建
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.0.0.10
NETMASK=255.255.255.0
DNS2=4.4.4.4
GATEWAY=10.0.0.2
DNS1=10.0.0.2
[root@jeeyshe network-scripts]#

(3)操作系统加载bond

[root@jeeyshe ~]# cat/etc/modprobe.conf  //不存在则手动创建(也可以放在modprobe.d下面)
alias bond0 bonding
options bond0 miimon=100 mode=1    //bond检查链路时间100ms,模式为mod=1(主备)

[root@jeeyshe etc]# modprobe bonding

(4)确认bond状态

// ifconfig 可以查看到eth0、eth1、bond0三个UP状态的网卡

[root@jeeyshe etc]# cat/proc/net/bonding/bond0
Ethernet Channel BondingDriver: v3.7.1 (April 27, 2011)
  
Bonding Mode: load balancing(round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
  
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr:00:50:56:28:7f:51
Slave queue ID: 0
  
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr:00:50:56:29:9b:da
Slave queue ID: 0

(5)测试bond效果

// ifdown关掉eth0网卡,发现eth1和bond0处于UP状态,网络服务不中断

// 恢复两个网卡的网络

// ifdown关掉eth1网卡,发现eth0和bond0处于UP状态,网络服务不中断

由此,我们就实现了网络冗余。我们实际生产中,两条网线分别从两个网络服务商拉过来接在服务器上,做好bond,当其中任意网络中断,服务器都可处于不中断服务状态。

版权声明 本文属于本站  原创作品,文章版权归本站及作者所有,请尊重作者的创作成果,转载、引用自觉附上本文永久地址: http://blog.lujianxin.com/x/art/ucddxaz6tk5j

文章评论区

作者名片

图片丢失
  • 作者昵称:Jeyrce.Lu
  • 原创文章:61篇
  • 转载文章:3篇
  • 加入本站:1837天

站点信息

  • 运行天数:1838天
  • 累计访问:164169人次
  • 今日访问:0人次
  • 原创文章:69篇
  • 转载文章:4篇
  • 微信公众号:第一时间获取更新信息