ifenslave双网卡绑定单IP

ifenslave不知道有没有朋友了解呢?它是一款linux下的负载均衡工具,那么现在我们就来简单说一下这个ifenslave负载均衡工具吧。根据我们前面的网卡负载平衡设置,这个工具中的改动原理也很简单,有些类似。这款工具是一种粘合和分离式的软件,可以将数据包有效的分配,通常结合交换机和路由使用。

工作原理很简单,我举个例子,不一定成功,但能说明原理:建一个组,把eth0和eth1加进去

#ifenslave bond0 eth0 #ifenslave bond0 eth1 #ifconfig bond0 [ip] [submark]

这个时候会新建一个bond0虚拟设备,使用我设置的IP地址,这个时候eth0和eth1工作模式变成了混杂模式,什么数据都收。但数据过来之后由 ifenslave的底层驱动来作负载均衡,决定哪些数据规组里面的哪个成员(eth0,eth1)处理。

大家在注意这个解决方案的配置文件,其中有一句:

options bond0 miimon=100 mode=1

使用这个ifenslave负载均衡工具达到平衡的目的,应该是0,1是热备状态。

miimon是毫秒数,每100毫秒触发检测线路稳定性的事件。

mode= 是ifenslave的工作状态。

一共有7种方式:

=0: (balance-rr) Round-robin policy: (平衡抡循环策略):传输数据包顺序是依次传输,直到最后一个传输完毕, 此模式提供负载平衡和容错能力。

=1: (active-backup) Active-backup policy:(主-备份策略):只有一个设备处于活动状态。 一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得。 此模式提供了容错能力。

=2:(balance-xor) XOR policy:(广播策略):将所有数据包传输给所有接口。 此模式提供了容错能力。

=3:(balance-xor) XOR policy:(平衡策略): 传输根据原地址布尔值选择传输设备。 此模式提供负载平衡和容错能力。

=4:(802.3ad) IEEE 802.3ad Dynamic link aggregation.IEEE 802.3ad 动态链接聚合:创建共享相同的速度和双工设置的聚合组。

=5:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡):没有特殊策略,第一个设备传不通就用另一个设备接管第一个设备正在处理的mac地址,帮助上一个传。

=6:(balance-alb) Adaptive load balancing:(适配器传输负载均衡):大致意思是包括mode5,bonding驱动程序截获 ARP 在本地系统发送出的请求,用其中之一的硬件地址覆盖从属设备的原地址。就像是在服务器上不同的人使用不同的硬件地址一样。

这款负载均衡工具的7种工作方式。

 

 在生产环境下,防止单点故障是经常要考虑的因素,像数据库的异地备份,集群调度端的热备,挂载存储的多路经,路由器的冗余。对于数据大多都有复制,同步手 段。对于数据传输链路也是要考虑的,多路经便是其中的一种。一般服务器连接交换机,路由器,存储都是采用多条链路来防止单点故障的,linux下可以采用 网卡绑定的方式来实现,网卡绑定就是将两块以上的物理网卡抽象成一个逻辑的网卡像bond0,管理员不再考虑ethN这样的物理网卡,呵呵,这里的道理和 逻辑卷相似!不过这种绑定不仅可以以轮循的方式工作,也可以以主备的方式工作。
    
    >Linux 以太网绑定常见工作模式
        模式 0 (平衡轮循) - 轮循策略,所有接口都使用。采用轮循方式在所有 Slave 中传输封包;任何 Slave 都可以接收。
        模式 1 (主动备份) - 容错。一次只能使用一个 Slave 接口,但是如果该接口出现故障,另一个 Slave 将 接替它。
        模式 3 (广播) - 容错。所有封包都通过所有 Slave 接口广播。

    一个关于网卡绑定的详细资料:http://blog.csdn.net/xrb66/article/details/7863285

    下面我给出简单的配置方法:
    1. vi /etc/sysconfig/network-scripts/ifcfg-bond0  #用户以后要用到的逻辑接口,配置dns,gateway正对此接口就行
      DEVICE="bond0"
      BOOTPROTO="none"
      ONBOOT="yes"
      IPADDR=192.168.0.60
      NETMASK=255.255.255.0
      USERCTL=no
      BONDING_OPTS="mode=1 miimon=50"    #选择工作模式,检测时间间隔
      2. vi /etc/sysconfig/network-scripts/ifcfg-eth0  #eth0,eth1隶属于bond0,绑定配置好后,用户不再担心其配置,
      DEVICE="eth0"                                    #只需要在发生故障时,替换新的网卡即可!
      BOOTPROTO="none"
      ONBOOT="yes"
      MASTER=bond0
      SLAVE=yes
      USERCTL=no  
  3. vi /etc/sysconfig/network-scripts/ifcfg-eth1
      DEVICE="eth1"
      BOOTPROTO="none"
      ONBOOT="yes"
      MASTER=bond0
      SLAVE=yes
      USERCTL=no
  4. 配置系统加载 binding 模块:     
     vi /etc/modprobe.d/bonding.conf
       alias bond0 bonding
  5.附加 Slave 接口到 bond0 : 
     vi /etc/rc.d/rc.local
       ifenslave bond0 eth0 eth1
  6.重启主机测试:
      cat /proc/net/bonding/bond0
      关掉活动的网卡,再
      cat /proc/net/bonding/bond0

转自:http://blog.csdn.net/cupidove/article/details/39203743

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值