技术专栏
【shell】海思3536 多网卡绑定聚合——bond技术
0.原理说明
目前网卡绑定mode共有七种(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6
常用的有三种:
- mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
- mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
- mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。
-
海斯3536 启用bond模块命令
1)停止bond模块:关闭网卡后停止模块
ifconfig bond0 down
ifconfig eth0 down
ifconfig eth1 down
modprobe -r bonding
- 1
- 2
- 3
- 4
- 5
- 6
- 7
2)启动bond模块
modprobe bonding mode=0 miimon=100
ifconfig bond0 192.168.2.143 netmask 192.168.240.1 mtu 1500 up
ifenslave bond0 eth0 eth1
route add default gw 192.168.2.1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
modprobe bonding mode=0 miimon=100
mode模式,0表示平衡负载,miimon用来进行链路监测的时间间隔。100即每100ms监测一次链路状态。bonding只监测主机与交换机之间链路。如果交换机出去的链路出问题而本身没有问题,那么bonding认为链路没有问题而继续使用
ifconfig bond0 192.168.2.143 netmask 192.168.240.1 mtu 1500 up
配置IP地址,子网掩码
ifenslave bond0 eth0 eth1
绑定网卡及主网卡,写前面的(eth0)为主网卡
route add default gw 192.168.2.1
设置网关
1.shell脚本
#!/bin/sh
echo "bond reading network configure..."
. /mnt/nand/etc/network.conf
restart() {
if [ $MODE = 0 ] || [ $MODE = 1 ]; then
ifconfig $BONDIFNAME down
ifconfig $IF0 down
ifconfig $IF1 down
modprobe -r bonding
modprobe bonding mode=$MODE miimon=$BONDIFMIIMON
# dhcp
if [ $BONDIFTYPE = 1 ];then
ifconfig $BONDIFNAME up
if [ $PRIMARY = 0 ];then
ifenslave $BONDIFNAME $IF0 $IF1
else
ifenslave $BONDIFNAME $IF1 $IF0
fi
dhcpcd $BONDIFNAME -t 30
# static
else
ifconfig $BONDIFNAME $BONDIFADDR netmask $BONDIFMASK mtu $BONDIFMTU up
if [ $PRIMARY = 0 ];then
ifenslave $BONDIFNAME $IF0 $IF1
else
ifenslave $BONDIFNAME $IF1 $IF0
fi
route add default gw $BONDIFGATEWAY
fi
fi
}
case "$1" in
stop)
modprobe -r bonding
;;
restart)
restart
;;
*)
restart
;;
esac
exit $?
echo "bond networking configure success."
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
<
2.配置文件
MODE=1
BONDIFNAME=bond0
BONDIFTYPE=0
BONDIFADDR=192.168.2.143
BONDIFMASK=255.255.240.0
BONDIFGATEWAY=192.168.2.1
BONDIFMTU=1500
BONDIFMIIMON=100
PRIMARY=0
IF0=eth0
IF1=eth1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
<
3.代码实现
#define DEVICE_NAME_BOND "bond0"
#define DEVICE_NAME_ETH0 "eth0"
#define DEVICE_NAME_ETH1 "eth1"
#define NETWORK_CFG_PATH "/mnt/nand/etc/network.conf"
#define NETWORK_CFG_FMT "\
MODE=%d\n\
BONDIFNAME=%s\n\
BONDIFTYPE=%d\n\
BONDIFADDR=%s\n\
BONDIFMASK=%s\n\
BONDIFGATEWAY=%s\n\
BONDIFMTU=%d\n\
BONDIFMIIMON=100\n\
PRIMARY=%d\n\
IF0=%s\n\
IF1=%s\n"
static int write_network_cfg(void)
{
FILE *fp = NULL;
if (netcfg == NULL)
return -1;
if ((fp = fopen(NETWORK_CFG_PATH, "w")) == NULL)
return -1;
lockf(fileno(fp), F_LOCK, 0);
fprintf(fp, NETWORK_CFG_FMT, 0, DEVICE_NAME_BOND, 0,
"192.168.2.143", "192.168.240.0",
"192.168.2.1", 1500, 0, DEVICE_NAME_ETH0, DEVICE_NAME_ETH1);
fflush(fp);
lockf(fileno(fp), F_ULOCK, 0);
fclose(fp);
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
<
最后在命令行上运行shell脚本即可
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
点赞
收藏
评论
打赏
- 分享
- 举报
评论
0个
手气红包

相关专栏
-
浏览量:1904次2023-08-15 19:14:23
-
浏览量:3552次2020-08-03 11:10:18
-
浏览量:3200次2020-08-17 19:42:53
-
浏览量:3351次2020-08-30 11:44:43
-
浏览量:2721次2024-01-18 15:01:07
-
浏览量:1228次2024-01-24 18:13:58
-
浏览量:5104次2021-08-05 13:56:33
-
2018-06-18 22:47:22
-
2018-04-04 14:06:53
-
浏览量:4457次2018-03-31 20:59:15
-
浏览量:5133次2021-03-16 09:35:08
-
浏览量:6628次2018-06-14 22:53:53
-
浏览量:7445次2018-06-14 23:13:10
-
浏览量:4747次2020-04-15 10:00:55
-
浏览量:3058次2018-04-03 09:48:45
-
浏览量:6742次2021-03-11 14:24:26
-
浏览量:5908次2018-04-03 09:53:34
-
浏览量:2596次2022-01-13 09:00:52
-
浏览量:5588次2020-07-31 11:54:44
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者

在学了在学了!
您的支持将鼓励我继续创作!
打赏金额:
¥1

¥5

¥10

¥50

¥100

支付方式:

举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注