文章目录
1. bond模式介绍
2. centos组bond1
2.1 准备
2.1.1. 检查是否支持bond
[root@localhost ~]# modinfo bonding |more
filename: /lib/modules/4.14.0-115.el7a.0.1.aarch64/kernel/drivers/net/bonding/bonding.ko.xz
author: Thomas Davis, tadavis@lbl.gov and many others
description: Ethernet Channel Bonding Driver, v3.7.1
version: 3.7.1
license: GPL
alias: rtnl-link-bond
rhelversion: 7.6
srcversion: 766C451412AF817D317DE2C
depends:
intree: Y
name: bonding
vermagic: 4.14.0-115.el7a.0.1.aarch64 SMP mod_unload modversions aarch64
2.1.2. 查看有没有bonding kernel module
[root@localhost ~]# modinfo bonding | head -n 3
filename: /lib/modules/4.14.0-115.el7a.0.1.aarch64/kernel/drivers/net/bonding/bonding.ko.xz
author: Thomas Davis, tadavis@lbl.gov and many others
description: Ethernet Channel Bonding Driver, v3.7.1
2.1.3. 内核加载bonding module
modprobe bonding
2.2 修改网络配置文件
2.2.1 备份
mkdir ~/if.bak
cp /etc/sysconfig/network-scripts/ifcfg-eth* ~/if.bak/
2.2.2 服务准备
service NetworkManager stop # 关闭NetworkManager服务
chkconfig NetworkManager off # 关闭NetworkManager自启动服务
iptables -F # 清空防火墙
或者
systemctl stop NetworkManager # 关闭NetworkManager服务
systemctl disable NetworkManager # 关闭NetworkManager自启动服务
iptables -F # 清空防火墙
2.3 配置bond0文件
enp189s0f0:当前ip的网口
组bond0–model1模式的网口:enp197s0; enp198s0
2.3.1 bond0
[root@localhost network-scripts]# cat ifcfg-bond0
OTPROTO=none
NAME=bond1
TYPE=Bond
ONBOOT=yes
IPADDR=90.90.140.205
NETMASK=255.255.254.0
GATEWAY=90.90.140.1
BONDING_MASTER=yes
DEVICE=bond0
BONDING_OPTS="mode=1 miimon=100"
HWADDR=20:28:3e:c9:03:b0
2.3.2 enp197s0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp197s0
DEVICE=enp197s0
ONBOOT=yes
MASTER=bond0
SLAVE=yes
2.3.3 enp198s0
[root@localhost network-scripts]# cat ifcfg-enp198s0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp198s0
DEVICE=enp198s0
ONBOOT=yes
MASTER=bond0
SLAVE=yes
2.3.4 enp189s0f0
当前ip的网口需要把开机启动关闭,就是下面"ONBOOT"选项
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp189s0f0"
UUID="4eb647c1-a5d5-4684-8c4a-bf71f5d63911"
DEVICE="enp189s0f0"
ONBOOT="no"
IPADDR="90.90.140.217"
PREFIX="23"
GATEWAY="90.90.140.1"
#IPV6_PRIVACY="no"
2.3.5 生效和查看状态
service network restart
2.3.6 查看bond0状态
如果MII Status
是up
的就说明bond
是配置好的
[root@localhost network-scripts]# 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: enp197s0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: enp197s0
MII Status: up
Speed: 25000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 54:13:10:ba:e1:50
Slave queue ID: 0
Slave Interface: enp198s0
MII Status: up
Speed: 25000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 54:13:10:ba:e1:51
Slave queue ID: 0
可以通过nmcli con
查看所有网口的状态
[root@localhost network-scripts]# nmcli con
NAME UUID TYPE DEVICE
bond1 ad33d8b0-1f7b-cab9-9447-ba07f855b143 bond bond0
enp197s0 4b63ada7-b9d5-50a4-9ba0-4a3d167cc118 ethernet enp197s0
enp198s0 ca8c5c96-5679-ffb8-9421-1c4af3f32281 ethernet enp198s0
enp189s0f0 4eb647c1-a5d5-4684-8c4a-bf71f5d63911 ethernet --
enp189s0f1 3825d240-3aa1-457f-930d-5ed0d1ec1460 ethernet --
注:重启时验证下,bond的ip205是否可以使用。
如果不行,ping下GATEWAY=90.90.140.1
。
2.3.7 bond 组成配置好的标志
执行 ip a可以看到 组bond 的网口mac地址一样
[root@localhost network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens9f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
link/ether c4:44:7d:38:d7:d6 brd ff:ff:ff:ff:ff:ff
3: ens9f1: <BROADCAST,MULTICAST,SLAVE> mtu 1500 qdisc mq master bond0 state DOWN group default qlen 1000
link/ether c4:44:7d:38:d7:d6 brd ff:ff:ff:ff:ff:ff
2.4 删除bond
ifconfig bond0 down
rm -f ifconfig-bond0
vim ifcfg-eth0 # 修改组bond的两个网口
vim ifcfg-eth1 # 修改组bond的两个网口
删除:
MASTER=bond0
SLAVE=yes
Service network restart # 重启服务
cd /etc/sysconfig/network-scripts/
rmmod bonding
注: bond配置解释:
DEVICE=bond0 设备名
ONBOOT=yes 开机自启
BOOTPROTO=static 设置ip获取协议dhcp|static
IPADDR=6.6.6.6 这是IP
PREFIX=8 这是子网掩码
GATEWAY=6.6.6.1 设置网关
BONDING_OPTS="miimon=100 mode=0 primary=eth0"
mode 绑定模式:
0负载均衡模式
1准备模式
3镜像模式
miimon 多长时间测试物理网卡是否联通
primary 指定主网卡