示例
- 添加bond
sudo /bin/nmcli con add type bond ifname bond0 mode active-backup miimon 100
sudo /bin/nmcli con add type bond ifname bond0 mode balance-alb miimon 100 updelay $UPDELAY
- 配置ip等信息
sudo /sbin/ifconfig $DEVICE $IPADDR netmask $NETMASK >
if [ "$GATEWAY" != "" ];then
FLAG=`/sbin/route -n | grep $DEVICE | grep $GATEWAY`
if [ "$FLAG" == "" ];then
DEST=`/sbin/route -n | grep $GATEWAY | awk '{ print $1 }'`
if [ "$DEST" == "0.0.0.0" ];then
del;
return 1;
fi
fi
sudo /sbin/route add default gw $GATEWAY dev $DEVICE >
if [ $? -ne 0 ];then
del;
return 1;
fi
fi
sudo /sbin/ifenslave $DEVICE $DEV_LIST
stop() {
status;
if [ $? -eq 1 ];then
echo "Nothing to do, Not bonding." > ${G_TEMP_FILE} 2>&1
return 1;
fi
version=`cat /etc/redhat-release | awk -F"release" '{print $2}' | awk '{print $1}'`
if [[ "$version" == "8.6" ]];then
sudo systemctl start NetworkManager
sudo /bin/nmcli connection delete bond-bond0
sudo systemctl stop NetworkManager
else
echo -$DEVICE > /sys/class/net/bonding_masters
fi
sudo /sbin/rmmod bonding > ${G_TEMP_FILE} 2>&1
sudo /sbin/service network restart > ${G_TEMP_FILE} 2>&1
active_dev
echo "Success" > ${G_TEMP_FILE} 2>&1
}
init() {
if [ "$ONBOOT" == "yes" ];then
start;
else
echo "Nothing to do." > ${G_TEMP_FILE} 2>&1
fi
}
case "$1" in
init)
init;
;;
start)
start;
;;
stop)
stop;
;;
restart)
stop;
start;
;;
status)
status;
;;
*)
echo "Usage: $0 {init|start|stop|restart|status}"
exit 1;
;;
esac
if [ $? -eq 0 ];then
echo "$1: 成功"
else
echo "$1: 失败"
fi
if [ $1 != "status" ];then
restart_routeAndVirtualip >> ${G_LOGS_FILE}
fi
echo -e "`date "+20%y-%m-%d %H:%M:%S"` $1: `cat ${G_TEMP_FILE}`" >> ${G_LOGS_FILE}
exit $?