vault backup: 2026-11-07 16:33:44

This commit is contained in:
cheney
2026-11-07 16:33:55 +08:00
commit 7015312702
1208 changed files with 132432 additions and 0 deletions
+155
View File
@@ -0,0 +1,155 @@
网卡的bond(绑定)是一种网络技术,它允许将多个物理网络接口卡(NIC)组合成一个单一的逻辑通道,以提高网络吞吐量并提供冗余。以下是网卡绑定的一些关键点:
1. **提高带宽**:通过将多个网卡绑定在一起,可以增加可用的网络带宽,因为数据可以通过多个网卡同时传输。
2. **冗余**:如果其中一个网卡出现故障,绑定可以自动切换到另一个网卡,从而减少网络中断的风险。
3. **负载均衡**:绑定还可以在多个网卡之间分配网络流量,这称为负载均衡,有助于更均匀地使用网络资源。
以下是Linux网卡绑定(bonding)模式及其对应配置值的详细表格:
## 网卡Bonding模式对应关系表
| **Mode编号** | **模式名称** | **Linux内核名称** | **负载均衡** | **容错性** | **交换机要求** |
| ---------- | ----------- | ------------- | -------- | ------- | --------- |
| **mode=0** | 负载均衡(轮询) | balance-rr | ✅ 轮询方式 | ✅ | 不需要特殊配置 |
| **mode=1** | 主备模式 | active-backup | ❌ | ✅ 高可用 | 不需要特殊配置 |
| **mode=2** | 负载均衡(XOR哈希) | balance-xor | ✅ 基于哈希 | ✅ | 不需要特殊配置 |
| **mode=3** | 广播模式 | broadcast | ❌ | ✅ 高冗余 | 不需要特殊配置 |
| **mode=4** | 动态链路聚合 | 802.3ad | ✅ 动态聚合 | ✅ | 需要支持LACP |
| **mode=5** | 适配器传输负载均衡 | balance-tlb | ✅ 自适应 | ✅ | 不需要特殊配置 |
| **mode=6** | 适配器负载均衡 | balance-alb | ✅ 自适应 | ✅ | 不需要特殊配置 |
## 各模式详细说明
### **mode=0 (balance-rr) - 轮询负载均衡**
- **特点**:数据包按顺序轮流从每个slave接口发送
- **优点**:带宽叠加,负载均衡
- **缺点**:数据包可能乱序到达
- **适用场景**:需要高带宽,不严格要求包顺序
### **mode=1 (active-backup) - 主备模式**
- **特点**:只有一个接口活跃,其他作为备份
- **优点**:高可用性,配置简单
- **缺点**:不能增加带宽
- **适用场景**:关键业务需要冗余备份
### **mode=2 (balance-xor) - XOR哈希策略**
- **特点**:基于源/目的MAC地址的XOR运算选择出口
- **优点**:同会话流量走同一接口,避免乱序
- **缺点**:负载均衡不够精细
- **配置示例**:
```bash
# 哈希策略选项
xmit_hash_policy=layer2 # 默认,基于MAC地址
xmit_hash_policy=layer2+3 # 基于MAC+IP
xmit_hash_policy=layer3+4 # 基于IP+端口
```
### **mode=3 (broadcast) - 广播模式**
- **特点**:所有数据包在所有接口发送
- **优点**:极高冗余性
- **缺点**:网络开销大,浪费带宽
- **适用场景**:极端可靠性要求
### **mode=4 (802.3ad/LACP) - 动态链路聚合**
- **特点**:需要交换机支持LACP协议
- **优点**:标准协议,兼容性好,智能负载均衡
- **缺点**:依赖交换机配置
- **交换机配置要求**:
```bash
# 配置LACP参数
lacp_rate=slow # 默认,每30秒发送LACPDU
lacp_rate=fast # 每秒发送LACPDU(1秒)
```
### **mode=5 (balance-tlb) - 适配器传输负载均衡**
- **特点**:根据每个slave的负载情况动态分配
- **优点**:不需要特殊交换机
- **缺点**:只均衡出站流量,入站流量由当前slave处理
### **mode=6 (balance-alb) - 适配器负载均衡**
- **特点**:mode=5的增强版,包含ARP协商
- **优点**:出入站流量都均衡,无需交换机支持
- **缺点**:可能引起ARP刷新问题
## 常用配置参数
### 1. **基础参数**
```bash
BONDING_OPTS="mode=1 miimon=100"
```
- **miimon=100**:每100ms检查链路状态(毫秒)
- **downdelay=200**:链路down后等待200ms再禁用
- **updelay=200**:链路恢复后等待200ms再启用
### 2. **主备模式专用参数**
```bash
BONDING_OPTS="mode=1 miimon=100 primary=eth0"
```
- **primary=eth0**:指定主接口
- **primary_reselect=always**:主接口恢复后是否切回
### 3. **LACP模式专用参数**
```bash
BONDING_OPTS="mode=4 miimon=100 lacp_rate=fast xmit_hash_policy=layer3+4"
```
## 配置文件示例
### RHEL/CentOS/Fedora
```bash
# /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="mode=4 miimon=100 lacp_rate=fast"
# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
ONBOOT=yes
```
### Ubuntu/Debian
```bash
# /etc/network/interfaces
auto bond0
iface bond0 inet static
address 192.168.1.100
netmask 255.255.255.0
bond-mode 4
bond-miimon 100
bond-lacp-rate 1
bond-slaves eth0 eth1
```
## 状态检查命令
```bash
# 查看bonding状态
cat /proc/net/bonding/bond0
# 查看网络接口统计
ip link show bond0
# 查看bonding模块参数
cat /sys/class/net/bond0/bonding/mode
cat /sys/class/net/bond0/bonding/slaves
```
## 选择建议
1. **需要高可用性**:mode=1(主备模式)
2. **需要带宽聚合且交换机支持LACP**:mode=4(802.3ad)
3. **需要带宽聚合但交换机不支持LACP**:mode=0或mode=6
4. **需要极致的冗余性**:mode=3(广播模式)
5. **服务器负载均衡**:mode=2或mode=4
选择bond模式时,请确保了解网络环境和业务需求,并在测试环境中验证后再部署到生产环境。