科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道Linux双网卡绑定实现负载均衡和失效保护

Linux双网卡绑定实现负载均衡和失效保护

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。

作者:IT168 来源:IT168 2008年4月14日

关键字: 系统安全 Linux

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

  那也就是说在主备模式下,当一个网络接口失效时(例如主交换机掉电等),不回出现网络中断,系统会按照cat /etc/rc.d/rc.local里指定网卡的顺序工作,机器仍能对外服务,

  起到了失效保护的功能.

  可以查看到bond0的工作状态  [root@localhost ~]# cat /proc/net/bonding/bond0

  Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)

  Bonding Mode: fault-tolerance (active-backup)

  Primary Slave: None

  Currently Active Slave: eth0

  MIIStatus: up

  MII Polling Interval (ms): 100

  Up Delay (ms): 0

  Down Delay (ms): 0

  Slave Interface: eth0

  MII Status: up

  Link Failure Count: 0

  Permanent HW addr: 00:0c:29:c2:b3:44

  Slave Interface: eth1

  MII Status: up

  Link Failure Count: 0

  Permanent HW addr: 00:0c:29:c2:b3:4e

  以上是一种实现方法.公司的数据库服务器上采用了另一种配置方法

  主要区别在网卡的配置文件上:

  vi ifcfg-eth0

  DEVICE=eth0

  #USERCTL=no

  BOOTPROTO=none

  ONBOOT=yes

  MASTER=bond0

  SLAVE=yes

  ifcfg-eth1中也加入红色的两行,

  /etc/rc.local中的ifenslave bond0 eth0 eth1 可以省略掉.

  在虚拟机中试验一下效果.

  从另一台机器ping我们刚才设置的IP地址,然后在虚拟机vmware下面,点其中的一个网卡

  选中disconnect(断开)

  可以看到ping只是出现了两个time out后就又恢复了正常.说明我们的配置起作用了.

  需要说明的是如果想做成负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,还需要设置交换机的端口.

  从原理分析一下(bond运行在mode 0下):

  mode 0下bond所绑定的网卡的IP都被修改成一样的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。

  所以mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章