设为首页 收藏本站
查看: 2117|回复: 2

[经验分享] Linux--网卡聚合简单脚本(bond0)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-3-23 11:15:20 | 显示全部楼层 |阅读模式
#!/bin/bash
#by:cai

#修改系统语言包,将zh_CN.UTF-8 改成 zh_CN.GB18030
#输入命令:如vi  /etc/sysconfig/i18n (注意改好之后必须重启一下系统才行)
sed -i -e 's/^/#/g' -e 1i\LANG="zh_CN.GB18030" /etc/sysconfig/i18n
source /etc/sysconfig/i18n
echo "##########################################################"
echo "注意:如果在输入的过程中输错,请按ctrl+backspace键删除。"
echo "##########################################################"

bond_explain () {
   echo "#########################################################################"
   echo "
    mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
    mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.
    mode=2表示balance-x,提供负载均衡和冗余功能。
    mode=3表示broadcast,这个模式提供容错性。
    mode=4表示802.3ad,提供了ethtool的迅速,以及使用了802.3ad模式
    mode=5表示balance-tlb,自动适应负载均衡,自动切换故障。在此基础上Ethtool支持驱动。
    mode=6表示在5模式的基础上优化了arp的广播信息。"
    echo "###########################################################################"
    read -p "请你输入一种你要的聚合方式(mode=1):" MODE
    read -p "请问你要创建聚合的名称(bond0):" BOND
    read -p "请输入你要设置的ip(192.168.0.10):" IP
    read -p "请输入你要设置的netmask(255.255.255.0):" NETMASK
    read -p " 请输入你要设置的gateway(192.168.0.1):" GATEWAY
}
bond_explain
network_explain () {
    echo "###############################################"
    echo "您现阶段可以用的网卡,如下:"
#   echo `ifconfig -a | grep   -i  link | awk  '{print $1}' `
    echo `ifconfig -a | grep   -i  "Link encap" | awk '{print $1}' `
    echo "################################################"
    read -p   "麻烦你选择你要的网卡做聚合(eth0 eth1):"  NIC
    echo $NIC >> .tmp.txt
    NIC_num=`awk '{print NF }' .tmp.txt`

   for i in `seq $NIC_num`
    do
        NIC_true=`awk -v  a=$i '{ print $a }' .tmp.txt`
        DIR_NIC=/etc/sysconfig/network-scripts
        if [ $NIC_true == $NIC_true ];then
        cp $DIR_NIC/ifcfg-$NIC_true  $DIR_NIC/ifcfg-$NIC_true.bak
#       cat /dev/null > $DIR_NIC/ifcfg-$NIC_true

#       cat >> $DIR_NIC/ifcfg-$NIC_true <<EOF
#           BOOTPROTO=none
#           TYPE=Ethernet
#           DEVICE=$NIC_true
#           ONBOOT=yes
#           MASTER=$BOND
#           SLAVE=yes
#EOF
####    或者
    echo "DEVICE=$NIC_true
            MASTER=$BOND
            SLAVE=yes" >> $DIR_NIC/ifcfg-$NIC_true
#           
    sed -i -e "/^ONBOOT/"d -e /^DEVICE/a\ONBOOT=yes $DIR_NIC/ifcfg-$NIC_true
    sed -i -e "/^NM_CONTROLLED/"d -e /^DEVICE/a\NM_CONTROLLED=no $DIR_NIC/ifcfg-$NIC_true
    sed -i -e "/^BOOTPROTO/"d -e /^DEVICE/a\BOOTPROTO=none $DIR_NIC/ifcfg-$NIC_true
     
    fi
done
     rm -rf .tmp.txt
#    cat >>$DIR_NIC/ifcfg-$BOND<<EOF
#           
#               DEVICE=$BOND
#               ONBOOT=yes
#               NM_CONTROLLED=no
#               BOOTPROTO=static
#               IPADDR=$IP
#               NETMASK=$NETMASK
#               GATEWAY=$GATEWAY         
#EOF
#或者

        echo    "DEVICE=$BOND
                ONBOOT=yes
                NM_CONTROLLED=no
                BOOTPROTO=static
                IPADDR=$IP
                NETMASK=$NETMASK
                GATEWAY=$GATEWAY" >> $DIR_NIC/ifcfg-$BOND

#

echo " modify modprobe.d/bond.conf"
echo "##### for bond configure ######" >> /etc/modprobe.d/bond.conf
echo "alias ${BOND} bonding" >> /etc/modprobe.d/bond.conf
echo "options ${BOND} miimon=100 ${MODE}" >> /etc/modprobe.d/bond.conf
}
network_explain
echo "全部配置完成,等待重启网卡中。(ok)"
sleep 3
service network restart   



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-354069-1-1.html 上篇帖子: RHEL7用samba作为文件服务器 下篇帖子: centos 7 添加永久静态路由 Linux 网卡
累计签到:125 天
连续签到:1 天
发表于 2017-3-26 01:03:47 | 显示全部楼层


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表