bonding
就是将多块网卡绑定同一个IP地址对外提供服务,可以实现高可用或是负载均衡,当 然,直接给两块网卡设置同一个IP地址是不可能的,通过bonding,虚拟一块网卡对外提供链接,这样即使一块网卡坏了可以经行自动切换,而不会影响业务的正常的通信
Bonding的工作模式
mode 0
轮转(round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力(负载均衡时需要交换的硬件作支撑)物理网卡被修改为相同的mac地址
mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解 决办法是,两个网卡接入不同的交换机即可。
mode 1 (active-backup)
活动–备份策略:在绑定中只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的mac地址只有一个外部端口上可见
mode 3(broadcast)
广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力
Bonding 配置
创建banding 设备的配置文件ifcfg-bond0
/etc/sysconfig/network-scripts/ifcfg-bond0 //
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS= “miimon=100 mode=0” //这里的mode就是改变mode
创建bind的网卡eth0
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none //激活此接口时使用什么协议来配置接口属性,常用的有dhcp 、bootp 、static 、none
MASTER=bond0
SLAVE=yes
USERCTL=no
创建bind的网卡eth1
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。mode6模式下无需配置交换机,因为 做bonding的这两块网卡是使用不同的MAC地址。
网卡别名
我们都知道在生活中有一个这样一个场景,我们出差到其他地方或是没有那么方便去接入一个有线网络的时候(因为流动性很大,不可能为你提供特定的一个有线网络),我们能用到的只有无线网,但是是回到家里又的自己改回静态网络,又的手工分配地址,这时候该怎么办呢?在windows中我们会这样做,利用windows提供的备用设备这一项来进行设定,把备用设备改成家里的静态地址就可以满足上面的场景。但是在linux中我们依然有解决办法,这的用到网卡别名。
如图所示,把网卡etc1设置成自动获取地址,把网卡别名设置成静态地址,同样也可以满足上述场景。值得一说的是只能把备用地址设置成静态地址,把etc1网卡设置成动态地址。在linux中有更强大的功能,可以把一张网卡地址设置有多个网卡别名,而且这几个网卡地址是同时生效的,这远远比windows灵活的多
linux实现方式如下图:
具体配置:
windows实现方式:如下图
原创文章,作者:yywan1314,如若转载,请注明出处:http://www.178linux.com/43068
评论列表(1条)
写的不错,图文并貌,有理论也有实践。继续保持。