两个网络平面是什么
Ceph 集群里同时跑两类流量:客户端读写走「公网」,OSD 之间的副本复制与心跳走「集群网」。把两者拆到不同网卡和交换机上,复制流量就不会跟业务读写抢带宽,出故障时也能按平面快速缩小范围。
基本信息
| 适用平台 | Ceph 集群(Nautilus 及以后,以官方文档为准) |
|---|---|
| 关键配置 | public_network / cluster_network |
| 配置文件 | /etc/ceph/ceph.conf 的 [global] 段 |
| 权限要求 | root 或可写 ceph 配置的账号 |
典型使用场景
- 大容量集群:副本复制流量常占到总带宽一半,拆网避免业务延迟抖动
- 多机架部署:集群网只在存储节点之间可达,公网按业务网段规划
- 安全审计要求:复制流量不出存储专用网段,防火墙策略好落地
- 扩容规划:新增节点时按平面分别规划地址,避免后期改网要动全集群
最小配置示例
最小配置示例
[global]
public_network = 10.10.0.0/24 # 客户端访问 MON 与 OSD 的网段
cluster_network = 10.20.0.0/24 # OSD 之间复制与心跳的网段
# 每个存储节点两张网卡分别接入两个平面两个平面的分工
| 平面 | 承载流量 | 断开后的表现 |
|---|---|---|
| public 公网 | 客户端读写、MON 选举通信 | 业务读不到数据,但数据本身不丢 |
| cluster 集群网 | 副本复制、OSD 心跳、恢复回填 | OSD 被判离线,进入降级并触发回填 |
验证是否生效
验证是否生效
ceph -s # 看健康状态与降级 PG 数
ceph osd metadata 0 | grep -E 'front|back' # 确认 OSD 实际绑定的网卡
ceph osd df tree # 看各节点容量与数据分布两个平面在三层可互通即可,但 MTU 必须一致;集群网若走小 MTU,复制大包被分片后会明显拖慢恢复速度。
已经跑着业务的集群改网络平面风险很高:先确认 MON 在两个网段都可达,再逐节点滚动重启,避免一次性失联丢掉仲裁。
落地检查清单
- 每节点双网卡的绑定方式要和交换机侧一致,做链路聚合需交换机同步启用对应协议
- 集群网建议不配默认网关,避免复制流量被路由到公网出口
- MON 在两个平面各有一个地址,写入 monmap 后核对客户端能否分别连通
- 记录每台存储节点两个平面的地址与网卡名,扩容时按同一份表格规划
拆网本身不产生吞吐,收益来自隔离:如果复制流量远小于业务流量,改善主要体现在故障定位速度与安全策略可落地。