Linux bond配置脚本
#!/bin/bash ################################################################### # File Name: network_bond.sh # Author: xunyin # E-mail: lnhxzwb@126.com # Created Time: 2024年08月13日 #================================================================== #声明:本程序基于CENTOS7.X系统测试,其它系统请根据实际修改测试后使用 ################################################################### # 定义网络接口名称 net_name1='eth0' net_name2='eth1' bond_name='bond1' # 定义数组 nets=("$net_name1" "$net_name2") # 定义路径 path='/etc/sysconfig/network-scripts' # IP地址 ip='192.168.0.11' mask='255.255.255.192' gw='192.168.0.1' # Bond 模式,根据需要选择相应模式:mode=0(balance-rr),mode=1(active-backup), mode=2(balance-xor),mode=3(broadcast),mode=4(802.3ad),mode=5(balance-tlb) 等 BOND_MODE=1 # 链路监控频率,单位为毫秒 BOND_MIIMON="100" # 判定链路失败前的延迟,单位为毫秒 BOND_DOWNDELAY="200" # 判定链路恢复前的延迟,单位为毫秒 BOND_UPDELAY="200" # bond接口配置 bond_add() { cat >${path}/ifcfg-${bond_name} << EOF NAME="${bond_name}" DEVICE="${bond_name}" TYPE="Bond" BOOTPROTO="none" IPADDR=${ip} NETMASK=${mask} GATEWAY=${gw} ONBOOT="yes" BONDING_OPTS="mode=${BOND_MODE} miimon=${BOND_MIIMON} downdelay=${BOND_DOWNDELAY} updelay=${BOND_UPDELAY}" EOF } # 从属接口配置 network_conf() { for net in "${nets[@]}" do # 判断接口设备是否存在 net_dev=$(ip addr show ${net} | wc -l) if [ "$net_dev" -ge 2 ];then # 配置接口 cat >${path}/ifcfg-${net} << EOF DEVICE=${net} NMAE=${net} TYPE=Ethernet ONBOOT=yes BOOTPROTO=none DEFROUTE=yes MASTER=${bond_name} SLAVE=yes EOF else echo "${net}设备不存在,请检查" exit 0 fi done } main() { bond_check=$(lsmod | grep bonding | wc -l) if [ $bond_check -ge 1 ];then bond_add network_conf else echo "bond 模板未加载,请检查!" modprobe --first-time bonding bond_add network_conf fi #重启网卡使配置生效 systemctl restart network } main
温馨提示:如无特殊说明,本站文章均为作者原创,转载时请注明出处及相应链接!