知识卡片

公网与集群网分离的原理

专业/工作 · 492.a

内容

把 Ceph 的网络拆成 Public Network 和 Cluster Network 两张独立网络,收益体现在两个层面:性能上,OSD 之间复制 PG、心跳检测、故障恢复和数据再平衡这些集群内部流量全部走 Cluster Network,不再和 Monitor/MDS 与 OSD 的通信、客户端请求这些对外流量抢占同一条链路带宽;安全上,用一张不对外暴露的私有网络承载节点间数据同步,天然屏蔽了来自公网方向的恶意流量。发散:这是”控制面/内部同步流量”与”客户端请求流量”物理隔离的通用做法——只要一个系统的节点间流量(复制、选主心跳、重平衡)体量大到可能干扰对外服务质量,拆分两张网络几乎是标准操作,与[[上下文切换是网络IO延迟的根源]]里绕开内核走 RDMA/DPDK 是同一类”从网络层榨取性能”的思路,只是一个动的是拓扑、一个动的是协议栈;Kafka、Elasticsearch 等系统的内外网分离也是同一个道理。

参考来源

《Ceph分布式存储实战》第13章《Ceph运维与排错》