zoukankan      html  css  js  c++  java
  • Linux 双网卡绑定

    Linux 双网卡绑定

    1 什么是bind

    bind 是多网卡绑定的一种称谓。通俗来说,bind 是一种网卡集群的技术,可以将多块网卡 配置为主备或者负载均衡,它会虚拟出一块物理上不存在的网卡(通常名字为bond0),并与 参与绑定的物理网卡持有相同的IP地址。

    bind有两种模式: 网卡主备、负载均衡.假设参与绑定的物理网卡分别是eth0和eth1.对于 绑定模式的理解如下:

      mode=1:主备模式,只有主网卡eth0工作,eth1作为备用网卡并不工作,eth1的作用就是
              等待eth0无法正常使用时,它顶替eth0继续工作。
     mode=0:负载均衡模式,两块网卡都工作,提供两倍带宽。
    

    2 为什么要bind

    • 高可用

      一套业务是由多个功能组件组成的。任何一个组件不能工作者会导致业务无法正常运行, 为了避免因组件故障而影响业务,很多组件都出现了主备模式,实际就是有一个同样功能 的备用组件,当正常工作的组件异常(坏掉了),备用的直接顶替原有组件工作。

      在主机中的网络保障,就是通过双网卡绑定技术来实现的,可以保证业务在网络层可持 续不间断 .

    • 提高网络吞吐量

      很多大企业每天处理几T甚至几十T的数据,有庞大的带宽支持下,还需要网卡同样支持 处理如此多的数据包,基于各种原因,有时候一个网卡无法满足如此大的数据量,此时 添加一块网卡,进行双网卡绑定为负载均衡模式,可以提高一倍的吞吐量。

    3 如何配置

    1. 在操作系统上添加两块网卡
    2. 查看设备名

      ifconfig -a
      或者
      ip a
      

      示例:

      eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
         inet 10.211.55.14  netmask 255.255.255.0  broadcast 10.211.55.255
         inet6 fdb2:2c26:f4e4:0:21c:42ff:fe26:8b74  prefixlen 64  scopeid 0x0<global>
         inet6 fe80::21c:42ff:fe26:8b74  prefixlen 64  scopeid 0x20<link>
         ether 00:1c:42:26:8b:74  txqueuelen 1000  (Ethernet)
         RX packets 2163  bytes 650492 (635.2 KiB)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 212  bytes 23989 (23.4 KiB)
         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      

      其中eth0即为设备名。一般情况下CentOS/RHEL 中网卡的设备名是 ethN的格式或者ensN等, N为非负整数。 所以新添加的网卡,一般为eth0,eth1等,这里以此为例。

    3. 配置网卡的网络参数 网卡配置时,参数及值不区分大小写。因此不用特别在意。
      • 确认配置文件 在Linux系统中,网卡的配置文件存放在 /etc/sysconfig/network-scripts 路径中。 网卡对应的配置文件以如下格式命名:

        ifcfg-<设备名>
        
      • 修改物理网卡配置 此配置应用于eth0和eth1,请分别配置

        DEVICE=<设备名>
        TYPE=Ethernet
        ONBOOT=yes
        BOOTPROTO=none
        MASTER=bond0
        SLAVE=yes
        
        参数说明
        • DEVICE #网口名eth0
        • TYPE #ethernet表示以太网接口
        • ONBOOT=yes #LINUX在启动时激活该网口
        • BOOTPROTO=none #使用什么协议激活网口, none表示不使用任何协议, static表示设置静态IP, dhcp表示动态获取IP
        • MASTER=bond0 #指定虚拟网口的名字(主人)
        • SLAVE=yes #备用(从设备)
      • 配置虚拟网卡 一般虚拟网卡我们配置成bondN,第一个虚拟网卡为bond0,根据网卡配置文件的命名规则, 该虚拟网的配置文件为名 ifcfg-bond0 ,在该文件中添加以下内容:

        DEVICE=bond0
        TYPE=Ethernet
        ONBOOT=yes
        BOOTPROTO=static
        IPADDR=192.168.150.50
        NETMASK=255.255.255.0
        GATEWAY=192.168.150.1
        
    4. 配置绑定模式及监测 在路径/etc/modprobe.d/中新建一个文件,可随意命名,便于区分该文件的作用即可。 比如物命名为bind.conf. 在该文件中添加以下两行内容:

      alias bond0 bonding
      options bond0 miimon=100 mode=1
      

      miimon是用来进行链路监测的:miimon=100表示系统每100ms监测一次链路连接状态,如果有一条线路不同就转入另一条线路。
      mode=1表示属于主备模式。

    5. 配置物理网卡与虚拟网卡之间的绑定关系及开机启动 /etc/rc.d/rc.local文件中加入如下语句:

      ifenslave bond0 eth0 eth1
      
    6. 重启服务器

      reboot
      

    4 查看当前使用的网卡

    cat /proc/net/bonding/bond0|grep "Currently Active Slave"
    

    示例:

    Currently Active Slave: eth0
    

    此示例表示eth0 为当前正在使用的网卡,eth1为备用

    Author: halberd.lee

    Created: 2019-08-02 Fri 10:28

    Validate

  • 相关阅读:
    15,scrapy中selenium的应用
    14,UA池和代理池
    13,scrapy框架的日志等级和请求传参
    12,scrapy框架之post请求
    11,scrapy框架持久化存储
    10,Scrapy简单入门及实例讲解
    09.移动端数据爬取
    08.Python网络爬虫之图片懒加载技术、selenium和PhantomJS
    07.验证码处理
    vue的ref与$refs
  • 原文地址:https://www.cnblogs.com/halberd-lee/p/11287078.html
Copyright © 2011-2022 走看看