2. 硬件与网络规划:服务器选型、网络拓扑与IP规划

大家好,我是你们的老朋友。今天咱们聊聊集群部署里最“烧钱”也最“烧脑”的一步——硬件与网络规划。说实话,我见过太多项目,代码写得漂漂亮亮,结果上线前发现服务器扛不住,或者网络成了瓶颈。嗯,这章咱们就把这些坑提前填上。

2.1 服务器选型:CPU、内存、磁盘怎么搭?

选服务器,说白了就是“按需分配”。别一上来就追求顶配,也别抠门到连基本负载都扛不住。我个人习惯先问三个问题:跑什么业务?数据量多大?峰值并发多少?

2.1.1 CPU:核心数与主频的博弈

CPU选型,核心看两点:计算密集型还是IO密集型。

  • 计算密集型(比如AI训练、视频转码):主频越高越好,核心数也要够。我建议至少32核起步,主频3.0GHz以上。
  • IO密集型(比如Web服务器、消息队列):核心数多比主频高更重要。我曾经给一个高并发API网关配了64核低主频CPU,效果比32核高主频好得多。
我的经验:别盲目追求最新代CPU。上一代旗舰型号往往性价比最高,而且生态成熟,驱动问题少。

2.1.2 内存:越大越好?不,够用就好

内存这东西,少了卡死,多了浪费。我一般按这个公式估算:

总内存 = 操作系统预留(2-4GB) + 应用内存 + 缓存内存 + 20%余量

举个例子,一个跑着Java应用的节点,JVM堆设了16GB,操作系统和缓存再占4GB,那我至少配32GB。为什么?因为GC的时候内存会飙高,留点余量防止OOM。

注意:别忽略ECC内存。集群环境里,内存错误会导致数据静默损坏。我吃过这个亏,后来所有服务器强制配ECC。

2.1.3 磁盘:SSD还是HDD?这是个问题

磁盘选型,我总结了一个“三看”原则:

  1. 看IOPS需求:数据库、日志收集这类高随机读写场景,必须上NVMe SSD。我曾经用SATA SSD跑MySQL,结果IO等待飙到80%。
  2. 看容量需求:冷数据存储、备份归档,用HDD组RAID5或RAID6,性价比最高。
  3. 看可靠性:关键业务节点,建议SSD+HDD混合。SSD放热数据,HDD放冷数据,再用缓存加速。

对了,磁盘接口也别搞混。NVMe走PCIe通道,延迟最低;SATA SSD虽然便宜,但4K随机读写差很多。你想想看,一个集群几百台机器,每台慢一点,整体性能就崩了。

2.2 网络拓扑设计:交换机、路由器、防火墙怎么摆?

网络拓扑,说白了就是“怎么把机器连起来”。我见过最惨的案例:一个团队把所有服务器接到同一台交换机上,结果广播风暴直接干趴了整个集群。

2.2.1 分层架构:核心层、汇聚层、接入层

标准做法是三层架构:

  • 核心层:负责高速转发,用万兆甚至40G交换机。别省钱,这里出问题整个集群都废了。
  • 汇聚层:做策略控制、VLAN间路由。我习惯在这里做链路聚合,提高带宽和冗余。
  • 接入层:直接连服务器。端口密度要高,支持PoE更好(方便管理IPMI)。
关键点:核心层和汇聚层之间一定要做冗余链路。我用过MLAG(多链路聚合组),效果不错,故障切换时间小于50ms。

2.2.2 交换机选型:背板带宽和包转发率

选交换机,别只看端口数。两个核心指标:

  • 背板带宽:决定了交换机能不能“线速转发”。公式:端口数 × 端口速率 × 2。比如48口万兆交换机,背板带宽至少960Gbps。
  • 包转发率:每秒能处理多少数据包。一般用Mpps(百万包/秒)衡量。我建议不低于100Mpps。

我曾经图便宜买了个背板带宽不够的交换机,结果集群内部通信延迟从0.1ms飙到5ms,排查了三天才发现是交换机瓶颈。嗯,从那以后我再也不省这个钱了。

2.2.3 防火墙:南北向与东西向

防火墙部署,我分两个维度:

  • 南北向:集群入口和出口。用硬件防火墙做NAT、端口映射、DDoS防护。吞吐量至少10Gbps。
  • 东西向:集群内部流量。用软件防火墙(比如iptables、Open vSwitch)做微隔离。我习惯在每个节点上做白名单策略。
避坑指南:我曾经把防火墙策略做得太严,结果Kubernetes的NodePort通信全被拦了。后来我学乖了,先放通所有流量,再逐步收紧。

2.3 IP地址规划与子网划分

IP规划,看着简单,但做不好后面全是坑。我见过一个团队把管理IP和业务IP混在一起,结果网络故障时连不上服务器。

2.3.1 子网划分原则

我一般按功能划分VLAN和子网:

用途 网段示例 掩码 可用IP数
管理网络 10.0.0.0/24 255.255.255.0 254
业务网络 10.0.1.0/22 255.255.252.0 1022
存储网络 10.0.4.0/24 255.255.255.0 254
高可用VIP 10.0.5.0/28 255.255.255.240 14

为什么要分开?你想想看,如果管理流量和业务流量抢带宽,你连SSH都卡,还怎么排查问题?

2.3.2 IP地址分配策略

我习惯用静态分配+DHCP保留的方式:

  • 核心节点(控制节点、网关):静态IP,写在配置里,永不改变。
  • 计算节点:DHCP保留,基于MAC地址分配固定IP。方便扩容,又不担心IP冲突。
  • 临时节点(测试、CI/CD):DHCP动态分配,用完回收。
小技巧:IP地址最后一位用编号规则。比如控制节点用.1-.10,计算节点用.11-.200。这样看IP就知道是什么角色。

2.3.3 子网掩码与CIDR

别再用传统的A/B/C类划分了,CIDR才是正道。举个例子:

# 传统方式
192.168.1.0 255.255.255.0 → 254个IP

# CIDR方式
192.168.1.0/24 → 254个IP
192.168.1.0/25 → 126个IP(更灵活)

我一般用/24作为最小单位,/22作为业务网段。为什么?因为/24刚好256个IP,去掉广播和网络地址,剩254个,够一个机柜用了。

2.4 知识体系总览

说了这么多,咱们用一张图把核心逻辑串起来。下面这张SVG图,展示了我做硬件与网络规划时的思考框架:

硬件与网络规划核心框架 服务器选型 网络拓扑设计 IP地址规划 CPU:核心数/主频 内存:容量/ECC 磁盘:SSD/HDD/混合 核心层/汇聚层/接入层 交换机:背板带宽/包转发率 防火墙:南北向/东西向 子网划分:VLAN/掩码 分配策略:静态/DHCP CIDR:灵活划分 输出:高可用、高性能、易扩展的集群基础设施 三大模块相互依赖,缺一不可。选型错误会导致后续所有工作白费。

这张图我每次做集群规划都会先画一遍。你想想看,服务器选型决定了性能上限,网络拓扑决定了通信效率,IP规划决定了管理复杂度。三者缺一不可。

总结一下:硬件与网络规划,不是一次性工作。随着业务增长,你可能需要扩容、升级。所以一开始就要留好扩展空间,比如交换机预留端口、IP地址预留网段。我见过太多集群因为初期规划太死,后期扩容时不得不推倒重来。

好了,这章的内容就到这儿。记住,硬件规划是地基,地基不稳,上面盖的楼再漂亮也没用。下一章咱们聊聊操作系统和基础环境配置,到时候见。

可可精品资料库