bonding

boding制作

       问题:一个网卡一个IP没有容错性

    bonding是LINUX中将多网卡绑定虚拟成一块网卡,实现多网卡共同拥有一个IP,这项技术早在Sun和Cisco中被称为Trunking和Etherchannel技术。

    原理:正常情况下,网卡只接受MAC为自身的数据,其他都会过滤掉,而每张网卡都有自己且唯一的MAC,通过boding,修改了驱动程序中的MAC,将两张网卡的MAC的地址改为一个,达到将多网卡虚拟成一张网卡的目的。

        bonding模式:

        Mode 0 Round-robin 按顺序传输数据包,第一个slive到左后一个slave,提供了负载均衡和容错功能

        Mode 1 :Active-backup 只有一个物理网卡处于激活状态,其他的slive只有在已激活的slave故障后才会激活,未激活的slive每隔一段时间会探测已激活slive的状态,提供了容错机制。

        Mode 3 :Broadcase 每个slave都是激活状态,在每个slave上都会传输数据包,较好的容错机制。

          以上为常用策略,还有其他一些策略较为少见在此不做介绍。

    材料:CentOS 6 系统、网卡三张

        操作:

        下面是我实验的操作系统,网卡及状态

            bonding

        准备工作做完后,下面我们开始制作bonding:

 1 .   创建bonding的配置文件

        touch /etc/sysconfig/network-scripts/ifcfg-bond0

        bonding

        注意:一定要在上述目录下建立前缀是ficfg的配置文件,因为此目录为网卡读取配置文件的目录。

            编辑bonding配置文件

          bonding

            DEVICE                 网卡名

            BOOTPROTO        设置静态或动态IP

            IPADDR                IP

            BONDING_OPTS    bonding模式

2.       更改物理网卡的配置文件

            bonding

            bonding

            bonding

            MASTER                slave所属

3.        查看NetworkManager服务并禁用,bonding与其冲突。

            bonding

4.        重启Network服务

            bonding

5.        ifconfig查看ip状态

            bonding

          bonding

            bonding创建成功,eth0、eth1、eth3 没有UP BROADCAST RUNNING SLAVE MULTICAST 为bond0一部分无独立IP,MAC地址都相同,我们也可以查看bond0及物理网卡的状态:

            bonding

            bonding

 6.       测试

            现在每个slave都是激活状态,我们断开eth0网卡的网络连接,虚拟机中模拟断开网络连接可以点击下图中箭头所指的小电脑断开连接。

            bonding

            bonding

            查看bond0状态

            bonding

                bonding

                eth0已经停止工作,其他网卡正查工作,所以bond0正常工作。

             现在我们将所有网卡都关闭连接

                bonding

                bonding

                bonding

                当所有网卡都down掉后,bond0才会停止工作,以上是bonding的Round-robin模式,建立其他两种模式只需更改bond0的配置文件中n的值(0:Round-robin;1:Active-backup;3:Broadcast):

             BONDING_OPTS=“miimon=100 mode=n”

7.         删除bonding

            删除bonding有两种办法:    

            一种是暂停bonding服务,卸载bonding的模块,删除配置文件,更改其他网卡的配置文件,后重新启动网络服务。

            ifconfig bond0 down

            rm -rf ifcfg-bond0

            rmmodbonding

            service network restart

            另一种是暂停bonding服务,删除bonding的配置文件,更改其他网卡的配置文件,重启系统。

            ifconfig bond0 down

            rm -rf ifcfg-bond0

            shutdown -r now

      欢迎批评指正!!!


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

(0)
liu-linuxliu-linux
上一篇 2017-03-22 19:48
下一篇 2017-03-23 20:05

相关推荐

  • OpenStack Glance安装配置过程记录

    Glance是作为OpenStack的虚拟机的Image(镜像)服务, 它提供了一系列的REST API, 用来管理、查询虚拟机的镜像, 它支持多种后端存储介质, 例如用本地文件系统作为介质、Swift(OpenStack Object Storage)作为存储介质或者S3兼容的API作为存储介质。 Glance作为OpenStack的一个核心的系统, 被设…

    2017-09-14
  • 起航——学习Linux工具之VMware Workstation

    一:安装VMware(Windows平台) 二:创建一台虚拟机 到此为止我们就创建了一个拥有一颗CPU、1GB内存和一块20GB硬盘的虚拟机,接下来就可以愉快的安装操作系统了 ^_^  

    2018-03-26
  • ☞Linux进程管理与性能分析

    Linux进程管理与性能分析 概述 系统维护的一个重要工作就是监控Linux系统的运行状态是否正常,分析系统资源的使用情况,进而对系统进行优化,提高其性能。在实际环境中,系统稳定性尤为重要,可以说系统的稳定性关系到企业的存亡。因此,第一时间掌握CPU、Memory、IO、Network的等系统资源的状态则可以在系统出现问题时及时解决,把损失降到最低。&nbs…

    Linux干货 2016-09-11
  • 早安

    既来之,则安之。好好学习,努力奋斗!!!#linux#

    Linux干货 2017-07-11
  • Python内置数据结构

    Python内置数据结构 数值型 Int,float,complex,bool 序列对象 字符串:str  列表:list   数组:tuple 键值对 集合:set    字典:dict 数值型 Int,float,complex,bool都是class,1,5.0,2+3j都是对象即示例 Int:python3的int就是长整形,且没有大小限制,受限于内…

    Linux干货 2018-03-26
  • bash变量和逻辑运行

    bash 特性及bash脚本编程初步       终端,附着在终端的接口程序:      GUI:KDE,GNome,Xfce      CLI: /etc/shells              b…

    Linux干货 2016-12-23

评论列表(1条)

  • PowerMichael
    PowerMichael 2017-04-25 20:29

    写的很好,学习到不少东西。不过文中由错别字哦