Linux--网卡聚合简单脚本(bond0)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux--网卡聚合简单脚本(bond0)相关的知识,希望对你有一定的参考价值。
#!/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
本文出自 “Chuny” 博客,请务必保留此出处http://chuny.blog.51cto.com/7755843/1909276
以上是关于Linux--网卡聚合简单脚本(bond0)的主要内容,如果未能解决你的问题,请参考以下文章