zoukankan      html  css  js  c++  java
  • linux双网卡绑定为逻辑网卡

    网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。

    生产环境服务器为:DELL

    网卡为:光纤

    bond需要修改涉及的网卡配置文件

    /etc/network-scripts/ifcfg-em1
    /etc/network-scripts/ifcfg-em2
    

      

    需要新增配置文件

    /etc/network-scripts/ifcfg-bond0
    

      

    为了方便快速配置,我将配置文件放到了U盘(U盘中需要四个文件,配置好的ifcfg-em1,ifcfg-em2,ifcfg-bond0,脚本cfg.sh)中,通过脚本形式快速配置。

    ifcfg-em1内容如下

    DEVICE=em1
    NAME=em1
    HWADDR=80:18:44:ea:8b:b0
    TYPE=Ethernet
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes
    NM_CONTROLLED=no
    BOOTPROTO=none
    USERCTL=no
    

      

    ifcfg-em2内容如下

    DEVICE=em2
    NAME=em2
    HWADDR=80:18:44:EA:8B:B1
    TYPE=Ethernet
    ONBOOT=yes
    NM_CONTROLLED=no
    BOOTPROTO=none
    USERCTL=no
    MASTER=bond0
    SLAVE=yes
    

      

    ifcfg-bond0内容如下

    DEVICE=bond0
    TYPE=Bond
    NAME=bond0
    BOOTPROTO=none
    ONBOOT=yes
    IPADDR=10.16.28.216
    PREFIX=24
    USERCTL=no
    BONDING_MASTER=yes
    IPV4_FAILURE_FATAL=yes
    IPV6INIT=no
    BONDING_OPTS="mode=4 miimon=100 downdelay=200 updelay=200 lacp_rate=1 xmit_hash_policy=2"
    BONDING_SLAVE_0=em1
    BONDING_SLAVE_1=em2
    NM_CONTROLLED=no
    GATEWAY=10.16.28.4
    

      

    cfg.sh脚本内容如下

    #脚本需要两个参数,本机需要配置的IP地址,本机的网关地址
    ip=$1
    gw=$2
    #判断是否给定参数,执行脚本时没有给定参数,脚本退出
    if [ $ip = '' -o $gw = '' ]
    then
    	echo 'ip or gateway wrong'
    	exit
    fi
    #备份设备上原来的网卡信息,我的网卡名称为em1和em2
    cp /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-em1.bak
    cp /etc/sysconfig/network-scripts/ifcfg-em2 /etc/sysconfig/network-scripts/ifcfg-em2.bak
    #将准备好的网卡配置文件拷贝到指定目录
    cp /media/OMSA71-CENT/boot/ifcfg-* /etc/sysconfig/network-scripts/
    #将原网卡hwaddr信息恢复到配置文件
    cd /etc/sysconfig/network-scripts/
    sed -i s/`grep HWADDR ifcfg-em1`/`grep HWADDR ifcfg-em1.bak`/ ifcfg-em1
    sed -i s/`grep HWADDR ifcfg-em2`/`grep HWADDR ifcfg-em2.bak`/ ifcfg-em2
    #替换配置文件中ip地址信息为本机ip地址
    sed -i s/10.16.28.216/$ip/ ifcfg-bond0
    #替换配置文件中网关地址信息为本机网关地址
    sed -i s/10.16.28.4/$gw/ ifcfg-bond0
    #查看更改后的配置信息
    grep 10.16.28 ifcfg-bond0
    #修改服务器启动方式为命令行方式,而不是图形界面形式
    sed -i s/id:5:/id:3:/ /etc/inittab
    sleep 5
    #关闭iptables和selinux
    servcie iptables stop
    chkconfig iptables --level 12345 off
    setenforce 0
    sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config
    #人工重启设备,使配置生效[init 6]
    

      

    脚本执行示例

    #配置ip地址为10.16.28.200,配置网关地址为10.16.28.5
    sh -x cfg.sh 10.16.28.200 10.16.28.5
    

      

  • 相关阅读:
    JavaScript的性能优化:加载和执行
    JS获取图片的原始尺寸
    深入理解js构造函数
    Revit二次开发 获取缩略图
    WPF listbox分页
    WPF ListBox 图片显示及分页
    Revit禁用RibbonPanel
    C# excel 单元格居中
    WPF TreeView
    WPF ListView绑定数据
  • 原文地址:https://www.cnblogs.com/micmouse521/p/8058028.html
Copyright © 2011-2022 走看看