CentOS 7.2 bond实现网卡聚合链路(双网卡绑定)脚本及验证(适合云平台)

简介:

使用bond实现网卡聚合链路脚本:


[plain] view plain copy print?

  1. #!/bin/bash  

  2. #创建一个名为bond0的链路接口  

  3. IP=192.168.101.1  

  4. GATE=192.168.101.254  

  5. ETH1=eno1  

  6. ETH2=eno2  

  7. ETH3=eno3  

  8. ETH4=eno4  

  9. modprobe bonding  

  10. cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-bond0  

  11. DEVICE=bond0  

  12. TYPE=Bond  

  13. NAME=bond0  

  14. BONDING_MASTER=yes  

  15. BOOTPROTO=static  

  16. USERCTL=no  

  17. ONBOOT=yes  

  18. IPADDR=$IP  

  19. PREFIX=24  

  20. GATEWAY=$GATE  

  21. BONDING_OPTS="mode=1 miimon=100"  

  22. EOF  

  23. cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-bond1  

  24. DEVICE=bond1  

  25. TYPE=Bond  

  26. NAME=bond1  

  27. BONDING_MASTER=yes  

  28. USERCTL=no  

  29. BOOTPROTO=none  

  30. ONBOOT=yes  

  31. BONDING_OPTS="mode=1 miimon=100"  

  32. EOF  

  33. cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH1  

  34. TYPE=Ethernet  

  35. BOOTPROTO=none  

  36. DEVICE=$ETH1  

  37. ONBOOT=yes  

  38. MASTER=bond0  

  39. SLAVE=yes  

  40. EOF  

  41. cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH2  

  42. TYPE=Ethernet  

  43. BOOTPROTO=none  

  44. DEVICE=$ETH2  

  45. ONBOOT=yes  

  46. MASTER=bond0  

  47. SLAVE=yes  

  48. EOF  

  49. cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH3  

  50. TYPE=Ethernet  

  51. BOOTPROTO=none  

  52. DEVICE=$ETH3  

  53. ONBOOT=yes  

  54. MASTER=bond1  

  55. SLAVE=yes  

  56. EOF  

  57. cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH4  

  58. TYPE=Ethernet  

  59. BOOTPROTO=none  

  60. DEVICE=$ETH4  

  61. ONBOOT=yes  

  62. MASTER=bond1  

  63. SLAVE=yes  

  64. EOF  

  65. systemctl restart network  

  66. ping $GATE -c 1  

  67. reboot  

#!/bin/bash
#创建一个名为bond0的链路接口
IP=192.168.101.1
GATE=192.168.101.254
ETH1=eno1
ETH2=eno2
ETH3=eno3
ETH4=eno4
modprobe bonding
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
TYPE=Bond
NAME=bond0
BONDING_MASTER=yes
BOOTPROTO=static
USERCTL=no
ONBOOT=yes
IPADDR=$IP
PREFIX=24
GATEWAY=$GATE
BONDING_OPTS="mode=1 miimon=100"
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-bond1
DEVICE=bond1
TYPE=Bond
NAME=bond1
BONDING_MASTER=yes
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
BONDING_OPTS="mode=1 miimon=100"
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH1
TYPE=Ethernet
BOOTPROTO=none
DEVICE=$ETH1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH2
TYPE=Ethernet
BOOTPROTO=none
DEVICE=$ETH2
ONBOOT=yes
MASTER=bond0
SLAVE=yes
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH3
TYPE=Ethernet
BOOTPROTO=none
DEVICE=$ETH3
ONBOOT=yes
MASTER=bond1
SLAVE=yes
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH4
TYPE=Ethernet
BOOTPROTO=none
DEVICE=$ETH4
ONBOOT=yes
MASTER=bond1
SLAVE=yes
EOF
systemctl restart network
ping $GATE -c 1
reboot



验证:

1.查看bond0状态:

[plain] view plain copy print?

  1. [root@localhost ~]# cat /proc/net/bonding/bond0  

  2. Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)  

  3.   

  4. Bonding Mode: fault-tolerance (active-backup)  

  5. Primary Slave: None  

  6. Currently Active Slave: eno2    #当前主接口  

  7. MII Status: up  

  8. MII Polling Interval (ms): 100  

  9. Up Delay (ms): 0  

  10. Down Delay (ms): 0  

  11.   

  12. Slave Interface: eno2  

  13. MII Status: up  

  14. Speed: 1000 Mbps  

  15. Duplex: full  

  16. Link Failure Count: 0  

  17. Permanent HW addr: 2c:76:8a:51:d2:09  

  18. Slave queue ID: 0  

  19.   

  20. Slave Interface: eno1  

  21. MII Status: up  

  22. Speed: 1000 Mbps  

  23. Duplex: full  

  24. Link Failure Count: 0  

  25. Permanent HW addr: 2c:76:8a:51:d2:08  

  26. Slave queue ID: 0  

[root@localhost ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eno2    #当前主接口
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eno2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 2c:76:8a:51:d2:09
Slave queue ID: 0

Slave Interface: eno1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 2c:76:8a:51:d2:08
Slave queue ID: 0


2.测试,宕掉当前主接口,看是否切换


[plain] view plain copy print?

  1. [root@localhost ~]# ifdown eno2  

  2. Device 'eno2' successfully disconnected.  

  3. [root@localhost ~]# cat /proc/net/bonding/bond0  

  4. Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)  

  5.   

  6. Bonding Mode: fault-tolerance (active-backup)  

  7. Primary Slave: None  

  8. Currently Active Slave: eno1    #切换成功  

  9. MII Status: up  

  10. MII Polling Interval (ms): 100  

  11. Up Delay (ms): 0  

  12. Down Delay (ms): 0  

  13.   

  14. Slave Interface: eno1  

  15. MII Status: up  

  16. Speed: 1000 Mbps  

  17. Duplex: full  

  18. Link Failure Count: 0  

  19. Permanent HW addr: 2c:76:8a:51:d2:08  

  20. Slave queue ID: 0  

[root@localhost ~]# ifdown eno2
Device 'eno2' successfully disconnected.
[root@localhost ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eno1    #切换成功
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eno1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 2c:76:8a:51:d2:08
Slave queue ID: 0



本文转自 guowang327 51CTO博客,原文链接:http://blog.51cto.com/guowang327/1937418,如需转载请自行联系原作者
相关文章
|
4月前
|
Ubuntu 网络协议 Linux
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
187 0
|
6月前
|
Ubuntu 网络协议 Linux
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
本文对比了Linux主要发行版CentOS、Rocky Linux、Ubuntu及国产Kylin在网卡配置与包管理上的差异。
301 1
|
7月前
|
网络协议 Linux Python
Python脚本配置Centos静态ip地址
这是一个Python脚本,用于自动化配置CentOS系统的静态IP地址。脚本创建或修改文件,填写接口名(如ens33)、IP地址、子网掩码、网关和DNS。运行时需替换变量值并使用`sudo`以管理员权限执行。完成配置后,它会重启网络服务。注意,用户应根据实际网络环境调整参数。
183 4
Python脚本配置Centos静态ip地址
|
7月前
|
网络协议 Shell Linux
Shell脚本配置Centos静态ip地址
这是一个用于在CentOS上设置静态IP的Shell脚本摘要: - 脚本交互式获取用户输入的IP地址、子网掩码、网关和DNS。 - 使用`sed`命令动态更新`/etc/sysconfig/network-scripts/ifcfg-ENS33`配置文件。 - 修改`BOOTPROTO`为`static`,并设置IP、NETMASK、GATEWAY和DNS1字段。 - 用`systemctl restart network`重启网络服务。 - 提示用户新配置的静态IP信息。
205 5
|
6月前
|
Linux
Linux——Centos8虚拟机添加网卡未显示
Linux——Centos8虚拟机添加网卡未显示
127 0
|
6月前
|
网络协议 Linux
Linux——Centos8.2如何重启网卡服务
Linux——Centos8.2如何重启网卡服务
131 0
|
8月前
|
Ubuntu Java Linux
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
177 2
|
8月前
|
Ubuntu 应用服务中间件 Linux
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
173 2
|
8月前
|
Linux
centos bond配置文件示例
centos bond配置文件示例
158 2
|
8月前
|
Linux
centos bond多网关配置 bond多网关路由
centos bond多网关配置 bond多网关路由
95 2

热门文章

最新文章