网络接口配置-bonding

网络接口配置-bonding

•Bonding

就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。

Bonding的工作模式

•Mode 0 (balance-rr) 轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力

•Mode 1 (active-backup) 活动-备份(主备)策略:在绑定中,只有一个slave被激活。当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见

•Mode 3 (broadcast) 广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力。

Bonding配置

创建bonding设备的配置文件

/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS=“miimon=100 mode=1”

/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no

miimon是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路

•查看bond0状态:/proc/net/bonding/bond

下面我们来用实验进行说明:

实验之前我们要关掉NetworkManager服务

首先虚拟机要保证有两块网卡:

网络接口配置-bonding

配置/etc/sysconfig/network-scripts/ifcfg-bond0

# vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
IPADDR=172.18.18.200
NETMASK=255.255.255.0
GATEWAY=172.18.18.1
BONDING_OPTS="miimon=100 mode=0"

配置/etc/sysconfig/network-scripts/ifcfg-eth0

vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no

配置/etc/sysconfig/network-scripts/ifcfg-eth1

vim /etc/sysconfig/network-scripts/ifcfg-bond1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no

此次我们已经配置完成

重启网络服务

查看网络状态

[root@centos6 ~]# ifconfig

网络接口配置-bonding

查看bond0状态

cat /proc/net/bonding/bond

网络接口配置-bonding

此时我们断掉eth0

网络接口配置-bonding

此时我们在查看bond0状态

cat /proc/net/bonding/bond

网络接口配置-bonding

此时

ping 172.18.18.200 仍然可以ping通

原创文章,作者:sixijie,如若转载,请注明出处:http://www.178linux.com/43334

(0)
sixijiesixijie
上一篇 2016-09-05 08:48
下一篇 2016-09-05 08:48

相关推荐

  • keepalived+lvs-dr实现高可用负载均衡

    keepalived+lvs-dr实现高可用负载均衡 实验拓扑 实验要求 RS1与RS2地址为172.18.27.201/202 VS1和VS2地址为172.18.27.103/200,VIP为172.18.27.254 VS1和VS2实现lvs-dr负载均衡及高可用性,且vs为sorry sever。 keepalived是单主模式。 实验步骤 各个主机安…

    2017-05-14
  • 变量

    变量     在shell脚本中,单独的字符或者命令只能引用一次,对于变量,我们可以多次引用,且对变量的赋值修改方便。对于一条很长的命令或者频繁使用的路径等,我们可以赋值给一个变量,比如获得系统中所有用户的uid,要输入很长的一段命令,我们如果每次使用都输入命令是件很麻烦的事情,如果赋值变量,那么就会很方便。设置变量userui…

    Linux干货 2017-08-06
  • 性能调优概述

    大纲: 一、概述 二、什么是性能调优?(what) 三、为什么需要性能调优?(why) 四、什么时候需要性能调优?(when) 五、什么地方需要性能调优?(where) 六、什么人来进行性能调优?(who) 七、怎么样进行性能调优?(How) 八、总结 注,硬件配置:CUP Xeon E5620 x 2 8核心, 内存 16G , 硬盘 RAID 10,操作…

    Linux干货 2015-02-10
  • shell编程的常见实例

    1. 写一个脚本/root/bin/argsnum.sh 用户输入一个文件路径并查找文件中空白行的个数 ,如果用户没有输入路径则自动退出  实验结果如下: 如果不输入任何路径程序会自动退出:实验结果如下: 用其他方法验证是不是有两行空行: (个人总结): 1.   read 命令,如果用 -p 来做提示信息,则不支持\n换行,这…

    Linux干货 2016-08-12
  • sed和awk的用例及pam安全措施-第十五周

    总结sed和awk的详细用法; sed用法 sed(Stream EDitor)是一款流编辑器,用来对文本进行过滤与替换操作。其原理是:通过文件或管道读取文件内容,但是sed默认并不直接修改源文件,而是一次仅读取文件的一行至模式空间(pattern space)根据sed指令进行编辑并输出结果后清除模式空间,即所有的操作都是在模式空间中进行的。 语法格式 s…

    2017-06-05
  • 日志管理

    日志管理学习笔记

    2018-02-08

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-10 11:59

    有理论有实操,很不错。