网络接口配置-bonding

bonding

     就是将多块网卡绑定同一个IP地址对外提供服务,可以实现高可用或是负载均衡,当 然,直接给两块网卡设置同一个IP地址是不可能的,通过bonding,虚拟一块网卡对外提供链接,这样即使一块网卡坏了可以经行自动切换,而不会影响业务的正常的通信

Bonding的工作模式

mode 0

轮转(round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力(负载均衡时需要交换的硬件作支撑)物理网卡被修改为相同的mac地址

mode 0bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannelfoundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解 决办法是,两个网卡接入不同的交换机即可。

 blob.png

mode 1 active-backup

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

blob.png

 mode 3broadcast

广播策略:在所有的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

网络接口配置-bonding     blob.png

  mode=6平衡负载模式,有自动备援,不必”Switch”支援及设定。mode6模式下无需配置交换机,因为                 做bonding的这两块网卡是使用不同的MAC地址。

网卡别名

我们都知道在生活中有一个这样一个场景,我们出差到其他地方或是没有那么方便去接入一个有线网络的时候(因为流动性很大,不可能为你提供特定的一个有线网络),我们能用到的只有无线网,但是是回到家里又的自己改回静态网络,又的手工分配地址,这时候该怎么办呢?在windows中我们会这样做,利用windows提供的备用设备这一项来进行设定,把备用设备改成家里的静态地址就可以满足上面的场景。但是在linux中我们依然有解决办法,这的用到网卡别名。

如图所示,把网卡etc1设置成自动获取地址,把网卡别名设置成静态地址,同样也可以满足上述场景。值得一说的是只能把备用地址设置成静态地址,把etc1网卡设置成动态地址。在linux中有更强大的功能,可以把一张网卡地址设置有多个网卡别名,而且这几个网卡地址是同时生效的,这远远比windows灵活的多

linux实现方式如下图:

网络接口配置-bonding blob.png

具体配置:

  blob.png

   blob.png

windows实现方式:如下图

  blob.png

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

(0)
yywan1314yywan1314
上一篇 2016-09-05
下一篇 2016-09-05

相关推荐

  • 源码包编译安装MariaDB-10.1.22

    源码包编译安装MariaDB-10.1.22 1、获取源码包        mariadb-10.1.22.tar.gz 2、编译环境及依赖关系     yum groupinstall -y Development Tools yum -y install …

    Linux干货 2017-03-16
  • 高可用keepalived+haproxy实现动静分离

    高可用keepalived+haproxy: 实验环境: clientIP为:172.18.254.149 VIRROUTEIP为:172.18.61.5 keepalived+haproxy机器1IP为172.18.61.1 keepalived+haproxy机器2IP为172.18.61.2 server1IP为172.18.61.3 server2I…

    2017-05-17
  • N25第二周博客作业

    第二周博客作业: 1、linux上的文件管理命令都有哪些,其常用的使用方法及其相关示例演示。                    有  cp  mv&nbsp…

    Linux干货 2016-12-06
  • CentOS7系统用户空间管理进程systemd详解

    概述:     系统启动过程中,当内核启动完成,后加载根文件系统,后就绪的一些用户空间的服务的管理工作,就交由init进行启动和管理,在CentOS6之前的init的管理方式都类似,相关的内容我们在之前的文章中也做出过介绍。在CentOS7上,init变成了systemd,其管理方式也发生了重大的变化,本章就跟大家欧一…

    Linux干货 2016-09-21
  • Linux基础学习总结(三)

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次: [leexide@leeblog ~]$who | cut -d" " -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 last -n&nbs…

    Linux干货 2016-10-03
  • 编译内核——制作最适合自己系统的内核

    编译内核: ·程序包的编译安装:         ./configure ,make ,make install ·前提:开发环境(开发工具、开发库),头文件:/usr/include ·开源:源代码–>可执行格式    &nbsp…

    Linux干货 2016-09-11

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-05 11:43

    写的不错,图文并貌,有理论也有实践。继续保持。