linux bond 脚本,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?<
#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<
#
#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
總結
以上是生活随笔為你收集整理的linux bond 脚本,Linux--网卡聚合简单脚本(bond0)(示例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电影《忠犬八公》定档 日本版曾感动无数人
- 下一篇: Linux加法简单程序,Android应