centos(9) 网卡HA 的实现 --bond

本文介绍了如何在CentOS 9中通过bond技术实现网卡高可用性(HA),包括配置虚拟网络接口ifcfg-bond0的方法,以及如何解除bond设置,提供Linux双网卡绑定和负载均衡的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网卡HA是什么意思,顾名思义, 就是通过特点的技术来实现网卡的高可用性。

linux 自带的bond技术可以实现 linux 双网卡绑定和负载均衡。 

本文就以笔者自己的实验环境为例来搭建 网卡的HA,以及如果去除bond.


一、搭建 HA

 第一步:配置设定文件 

1) 建立虚拟网络接口ifcfg-bond0的配置文件。

vim /etc/sysconfig/network-scripts/ifcfg-bond0
然后加入以下的内容:

#虚拟设备的名称 
DEVICE=bond0
IPADDR=192.168.110.22
NETMASK=255.255.255.0
NETWORK=192.168.110.0
GATEWAY=192.168.110.1
#BONDING_OPTS="mode=1 arp_interval=60 arp_ip_target=+192.168.110.1"
#miimon是指定隔多长时间进行链路监测,单位是ms
#mode是表示绑定口的工作模式,有0-6共7种,常用的是0和1 ,后面几种不太清楚是干什么的, 怎么用
#mode=1表示是acitve-backup的方式, 两张卡一用一备的状态
#mode=0表示是round-robin的方式, 同时工作工作在负载均衡状态 
#mode=2 表示是balance-xor,表示提供负载均衡和和耐故障功能
#mode=3表示是broadcast,广播策略,耐故障功能。把数据以广播的方式,发给包含在该bond口内的所有网口
#mode=4表示是802.3ad IEEE 802.3ad动态链接集合
#mode=5表示是balance-tlb 自动适应传输负载均衡策略。
#mode=6表示是balance-alb 自动适应负载均衡策略
BONDING_OPTS="mode=1 miimon=100"USERCTL=noONBOOT=yesBOOTPROTO=none


2). 修改/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0#指定master就是bond0
SLAVE=yes#这个最好是显式的给出
BOOTPROTO=none #启动时不使用任何的协议

3). 修改/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0#指定master就是bond0
SLAVE=yes#这个最好是显式的给出
BOOTPROTO=none #启动时不使用任何的协议


4). 修改/etc/modprobe.conf

加入以下的两行

alias bond0 bonding
alias eth0 e1000

 第二步:加载bonding模块

1) 加载模块

modprobe bonding

2)确认模块是否加载成功


第三步:确认网络

1. 重启网络

service network restart
或者是

/etc/init.d/network restart

2. 查看状态



由上面可以看出,

1) 现在的bonding  的模式是active-backup, mode=1

2)   现在active 的网口 是eth0

3)  他们使用的物理地址是一样的。 


如下的内容,引用自Linux网口绑定 Litvip Linux 爱好者 

如果我们要设置多个bond口,比如物理网口eth0和eth1组成bond0,eth2和eth3组成bond1,
那么网口设置文件的设置方法和上面第1步讲的方法相同,只是/etc/modprobe.d/bonding.conf的设定就不能像下面这样简单的叠加了:

?
1
2
3
4
alias bond0 bonding
options bonding mode=1 miimon=200
alias bond1 bonding
options bonding mode=1 miimon=200

正确的设置方法有2种:
第一种,你可以看到,这种方式的话,多个bond口的模式就只能设成相同的了:

?
1
2
3
alias bond0 bonding
alias bond1 bonding
options bonding max_bonds=2 miimon=200 mode=1

第二种,这种方式,不同的bond口的mode可以设成不一样:

?
1
2
3
alias bond0 bonding
options bond0 miimon=100 mode=1
install bond1 /sbin/modprobe bonding -o bond1 miimon=200 mode=0

仔细看看上面这2种设置方法,现在如果是要设置3个,4个,甚至更多的bond口,你应该也会了吧!

引用结束


二、去除HA

这部分的内容好像在网上没有找到, 以下是笔者自己的摸索,记录下来的内容,方便以后自己的使用。

1)  停用bond0

ifdown bond0

2) 删除

/etc/sysconfig/network-scripts/ifcfg-bond0

3) 将eth0与 eth1 设置 回去

DEVICE=eth0
USERCTL=no
ONBOOT=yes
#MASTER=bond0
#SLAVE=yes
HWADDR=00:50:56:09:01:05
BOOTPROTO=static
IPADDR=192.168.110.15
NETMASK=255.255.255.0

4)  去除bonding的相关设定

5) 重启机器

就可以




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值