云计算Linux——bond配置和正则表达式(三)
一、bond配置
1.1什么是bond?
全称:网卡绑定 / 链路聚合 把多张物理网卡(比如 ens33 + ens37)绑在一起,虚拟成一张网卡(叫 bond0)
大白话:把 2 个甚至更多网卡,合成 1 个虚拟网卡(bond0),让网速更快、更稳定、断一张不影响业务。
1.2 bond作用
服务器一般不止 1 个网口(eth0、eth1、ens33、ens37…),bond 就是把它们绑定成一个逻辑网卡,实现 3 个核心作用:
① 冗余高可用(坏一个不宕机)
- 一张网卡坏了、网线断了
- 另一张自动顶上
- 业务不断、不丢包、不卡顿这叫 主备模式(active-backup)
② 带宽叠加(网速变快)
- 2 张千兆网卡绑定 → 近似 2G 带宽
- 4 张绑一起 → 更快这叫 负载均衡模式(balance-rr 等)
③ 自动故障切换
- 哪张网卡出问题自动切走
- 不用人工拔线重启
1.3 配置方法
简单来说多 就是多加一份网卡如ens36
新建两个文件ifcfg-ens36 ifcfg-bond ens36可以复制ens33 里面ip 或者其他改一下 bond 加一些东西 。可以用1.动态DHCP 2.用静态要把IP 重新配置填写好(IP、子网掩码、网关、nds 等)3.检查防护墙,重新启动 ,ping一下网站是否可以ping通。

具体步骤
1.4 网络绑定配置指南
1.4.0 查看现有网络接口UUID
执行命令查看当前网络接口配置:
nmcli connection
输出示例显示ens33和ens37接口的UUID信息。

此步可忽略
1.4.1 创建新网络接口配置文件
复制ens33配置作为ens36模板
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36
修改ens36配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens36
更新以下参数:
ifcfg-ens36 具体内容
TYPE=Ethernet
BOOTPROTO=none
NAME=ens36
DEVICE=ens36
ONBOOT=yes
NETBOOT=YES
USERCTL=no
MASTER=bond0
SLAVE=yes
1.4.2 配置绑定接口
创建bond0配置文件 本人现在整理有静态和DHCP两种方法,以上仅个人看法仅供参考。
vi /etc/sysconfig/network-scripts/ifcfg-bond0
1.4.2.1 静态IP配置方案
DEVICE=bond0
TYPE=Bond
NAME=bond0
BONDING_MASTER=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes
BONDING_OPTS="mode=1 miimon=100"

1.4.2.2 DHCP配置方案
DHCP 自动获取(如果网络有 DHCP 服务器)
DEVICE=bond0
TYPE=Bond
NAME=bond0
BONDING_MASTER=yes
BOOTPROTO=dhcp
ONBOOT=yes
BONDING_OPTS="mode=1 miimon=100"
注意检查和更新ens33和ens36配置文件。
mode 说明:
-
mode=0(balance-rr):负载均衡,需交换机支持端口聚合(LACP 不是必须,但建议交换机配置静态链路聚合)。 -
mode=1(active-backup):主备模式,不需要交换机配置,更稳定。 如果只是简单测试或不确定交换机配置,推荐使用 mode=1。 -
mode=2,(平衡策略)
mode=4,( IEEE 802.3ad 动态链路聚合,需要交换机配置)
mode=5,
mode=6
miimon:指定MII链路监控频率,单位是毫秒(ms)。这将决定驱动检查每个slave链路状态频率。0表示禁止MII链路监控。100可以作为一个很好的初始参考值
1.4.3 验证配置
- 检查绑定状态
cat /proc/net/bonding/bond0
注意事项
确保关闭NetworkManager服务
systemctl stop NetworkManager
systemctl disable NetworkManager
echo "bonding" > /etc/modules-load.d/bonding.conf
- 如需持久化配置,创建模块加载文件防火墙配置可能需要相应调整以允许网络流量
2. 确保dns客户配置文件里面nameserver 114.114.114.114 或者 8.8.8.8如追加一下。

1.4.4 重启网络服务
根据系统类型选择对应方法:
使用 systemctl(推荐)
执行以下命令重启网络服务:
sudo systemctl restart network
对于使用 NetworkManager 的系统(如 CentOS 8+),需停用其托管接口或改用 nmcli 配置绑定。更稳妥的方法是直接操作 network 服务:
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager # 临时禁用
sudo systemctl restart network
若需保留 NetworkManager,可通过 nmcli 配置绑定,但建议优先使用传统脚本方式。
1.4.5 验证 bond0 状态
检查绑定接口状态:
cat /proc/net/bonding/bond0
ip a
输出应显示两个从属接口(如 ens33、ens36)及 bond0 的 IP 信息。

测试网络连通性:
ip a show bond0
ping 8.8.8.8 -c 4
ping baidu.com -c 4
若能成功 ping 通外部地址,说明配置生效。

1.4.6 持久化配置(可选)
若重启后绑定失效,需确保以下配置正确:
- 文件
/etc/modules-load.d/bonding.conf存在且内容完整。 ifcfg-bond0中的BONDING_OPTS参数与需求一致。
注意补充:设置bond时虚拟机可能会有适配器mac冲突,需要在重新生成一下。
![]()

二、正则表达式(部分)
2.1文本处理工具:(文本三剑客)
egrep 匹配并输出关键词所在的行
sed 修改、查找、替换文本的关键词/行内容
awk 已列为单位提取并输入列内容(一般会以指定的符号作为分割符)
2.2 正则表达式基础
正则表达式:把我们用户的需本处理工具 + 特殊符号的表达方式
元字符:指的是文本处理工具(三剑客) 使用求,转换为文的特殊符号
2.3 基础元字符匹配
单字符与范围匹配:点(.)匹配任意单个字符;中括号([])匹配括号内任意一个字符,支持范围表示(如[a-z]);上箭头(^)在中括号内表示取反,在中括号外表示行首锚定。
次数匹配逻辑:星号(*)表示前一个字符出现零次或多次;加号(+)表示前一个字符出现一次或多次;问号(?)表示前一个字符出现零次或一次。
精确次数控制:大括号({})用于精确控制次数,{n} 表示恰好 n 次,{n,} 表示至少 n 次,{n,m} 表示 n 到 m 次。


2.4 元字符运用案例
① . 代表有且只有一个字符,案例:
[root@localhost opt]# grep 'a.c' 1.txt
abc
a c
aBc
a?c
② [] 表示匹配中括号中任意一个字符,案例:
[root@localhost opt]# egrep 'a[bB ]c' 1.txt
abc
a c
aBc
③ [^] 表示先匹配中括号中任意一个字符,然后取反案例:
[root@localhost opt]# egrep 'a[^bB ]c' 1.txt
a?c
④ [a-z] [A-Z] [a-Z] [0-9]
分别表示匹配"小写字母" "大写字母" "大小写字母" "0-9数字"
[root@localhost opt]# egrep 'a[a-Z0-9]c' 1.txt
abc
a1c
aBc
表示:0~255 区间
0~9: [0-9]
10~99: [1~9][0-9]
100~199: 1[0-9][0-9]
200~249: 2[0-4][0-9]
250~255: 25[0-5]
egrep^ '[0-9]|[1~9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]'$
加上首尾限制^$
⑤ 匹配次数:
* 表示前面的一个字符出现0次1次或多次
+ 表示前面的一个字符出现1次或多次
? 表示前面的一个字符出现0次或1次 案例:
[root@localhost opt]# egrep 'ab*c' 1.txt
abc
abbc
ac
[root@localhost opt]# egrep 'ab+c' 1.txt
abc
abbc
[root@localhost opt]# egrep 'ab?c' 1.txt
abc
ac
{n} 表示前一个字符出现n次
{n,} 表示前一个字符至少出现n次
{n,m} 表示前一个字符至少出现n次,最多出现m次 案例:
[root@localhost opt]# egrep 'ab{2}c' 1.txt
abbc
[root@localhost opt]# egrep 'ab{8}c' 1.txt
abbbbbbbbc
[root@localhost opt]# egrep 'ab{3,}c' 1.txt
abbbbbbbbc
abbbbbc
[root@localhost opt]# egrep 'ab{2,5}c' 1.txt
abbc
abbbbbc
⑥ 分组 () 小括号内的多个字符视为一个整体,案例:
[root@localhost opt]# egrep '(ab)+' 1.txt
abc
abbc
abbbbbbbbc
abbbbbc
ababababa
abbbabbb
[root@localhost opt]# egrep '(ab){2}' 1.txt
ababababa
[root@localhost opt]# egrep '(ab){3,}' 1.txt
ababababa
更多推荐

所有评论(0)