linux bonding的原理及其实现,Linux bonding 之balance-alb 原理介绍及其实现

要求:

首先要安装bonding driver 和 ifenslave。bonding driver

是实现网卡绑定的软件基础,它在很多系统中都作为模块而加载。ifenslave 是实现网卡绑定的一个实用工具。

检查系统是否符合这两个要求:

[root@node1 bin]# lsmod | grep bond

bonding

65128  0

说明该模块已经加载

ifensalve 一般在/sbin 路径下面

[root@node1 bin]# which ifenslave

/sbin/ifenslave

说明该使用工具也存在。

balance-alb 的原理:

网卡绑定有很6种mode, balance-alb 不依赖于swith 的特殊配置,这里讨论此种模式。

网络通信中,两个节点想要通信,必须先知道源与目标的MAC地址。为了让系统能快速地找到远程节点的MAC,每一个本地的内核都保存有一个即时的查询表

(ARP缓存)。 ARP中有映射远程主机的IP对应的MAC地址的一个列表。地址解析协议

(ARP)缓存是一个TSR的数据结构,由本地的内核来管理的。Default ARP缓

存中留有last 10 mins本地系统与之通信的节点的IP地址(和对应的MAC地址)。当一个远程MAC存在于本地ARP

缓存中,转换远程节点的IP地址为MAC地址

可以直接通信。然而,系统在知道一个远程IP,但MAC不在本地ARP缓存中时,是这

样来获取远程MAC的:本地主机发送一个Broadcast

package,询问各节点是否有对

应的IP。回应是唯一的。在回应包中就包含此MAC。在收到返回包后,本地节点就会在本地ARP缓存中记录远程MAC。

而网卡绑定以后,这个ip可能拥有多个mac地址,究竟将哪个mac地址返回给client,这个就取决于bonding

driver。那balance-alb 来说,就是通过arp

协商决定的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。这样就实现了网络负载均衡。当其中的一个slave

失败,就会由其他的slave来接管,从而提高了网卡的容错能力。

balance-alb 的实现(这里通过修改配置文件实现)

vi /etc/sysconfig/network-script/ifcfg-eth0

DEVICE=eth0

USERCTL=no

ONBOOT=yes

MASTER=bond0

SLAVE=yes

BOOTPROTO=none

vi /etc/sysconfig/network-script/ifcfg-eth1 (同上,把eth1改为eth0 即可)

vi /etc/sysconfig/network-script/ifcfg-bond0

DEVICE=bond0

IPADDR=192.168.1.1

NETMASK=255.255.255.0

NETWORK=192.168.1.0

BROADCAST=192.168.1.255

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

添加 bonding 模块:

vi /etc/modules.conf

alias bond0 bonding

options bond0 mode=balance-alb miimon=100

# reboot

a4c26d1e5885305701be709a3d33442f.png

balance-alb 与 RAC 的Private Network

根据balance-alb,对于只有两个节点的bonding只能提高容错机制,只有在3个或3个以上的节点时,才可能实现workload

balance。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值