3. 硬件与网络规划:服务器选型建议、网卡冗余(Bonding)、交换机堆叠、IP地址规划、存储架构(共享存储 vs 分布式存储)

各位同学,咱们今天聊点实在的。双机热备这东西,光有软件层面的配置远远不够。硬件和网络规划,才是整个架构的“地基”。地基不稳,上面盖的楼再漂亮,一阵风就倒了。我见过太多项目,软件调得天花乱坠,结果因为网卡单点故障或者存储性能瓶颈,生产环境直接“翻车”。

所以,这一章咱们把硬件和网络规划掰开揉碎了讲。我会结合自己踩过的坑,给你一些真正能落地的建议。

3.1 服务器选型建议:别光看参数,要看场景

选服务器,说白了就是“够用、稳定、有余量”。别盲目追求顶配,也别抠门到连基本冗余都没有。

我个人习惯,先看三个核心指标:CPU、内存、磁盘I/O。

  • CPU:双机热备场景下,主备节点会跑相同的服务。建议至少选择 2 路 Intel Xeon 银牌或金牌系列,主频 2.4GHz 以上。别用低功耗的嵌入式CPU,扛不住突发流量。
  • 内存:安全平台通常需要加载大量规则库和日志索引。我建议至少 128GB 起步。如果你跑的是 SIEM 或大数据分析类平台,256GB 是标配。我在项目中遇到过内存不足导致 OOM Killer 把关键进程杀掉的情况,那叫一个惨。
  • 磁盘:系统盘用两块 SSD 做 RAID1,数据盘根据容量需求选 SAS 或 NVMe。千万别把系统和数据放同一块盘上,否则日志写满时,系统直接卡死。

避坑指南:我曾经选过一款“性价比很高”的国产服务器,结果生产环境跑了三个月,内存频繁报 ECC 错误。后来排查发现是内存条兼容性问题。从那以后,我选服务器只认品牌整机,并且要求厂商提供完整的兼容性测试报告。

3.2 网卡冗余(Bonding):别让一根网线毁了整个架构

双机热备的核心是“心跳”和“数据同步”。如果网卡挂了,心跳断了,备机不知道主机状态,脑裂就来了。

我建议,每台服务器至少配置 4 个物理网口:

  • 2 个用于业务网络(做 Bonding)
  • 2 个用于心跳/同步网络(做 Bonding)

Linux 下的 Bonding 模式,我推荐两种:

模式 特点 适用场景
mode=1 (active-backup) 主备模式,只有一块网卡工作 心跳网络,简单可靠
mode=4 (802.3ad) 动态链路聚合,需交换机支持 LACP 业务网络,提升带宽和冗余

配置示例(RHEL/CentOS):

# /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
BONDING_OPTS="mode=4 miimon=100 lacp_rate=fast"

小技巧:配置完 Bonding 后,记得用 cat /proc/net/bonding/bond0 查看状态。如果看到 "MII Status: up",说明链路正常。我曾经遇到过交换机端口没配 LACP,结果 Bonding 一直报错,排查了半天才发现是交换机配置遗漏。

3.3 交换机堆叠:让网络设备也“热备”

服务器做了冗余,交换机如果单点故障,照样完蛋。所以,我建议核心交换机做堆叠。

堆叠的好处很明显:

  • 逻辑上是一台交换机,管理简单
  • 物理上是多台,一台挂了,流量自动切换到另一台
  • 跨设备链路聚合,服务器可以连到不同的交换机上

嗯,这里要注意:堆叠线缆一定要用原厂的,别图便宜用普通网线。我见过有人用普通六类线做堆叠,结果丢包率高达 30%,业务直接瘫痪。

另外,堆叠的版本要一致。不同固件版本的交换机堆叠在一起,会出现协议不兼容,导致整个堆叠系统重启。这个坑我踩过,教训深刻。

3.4 IP地址规划:简单、清晰、可扩展

IP 地址规划,看似简单,其实最容易出问题。我见过一个项目,IP 地址乱得像蜘蛛网,后期运维排查故障时,光找 IP 就花了半天。

我的规划原则

  • 业务网络:使用独立的 VLAN,比如 VLAN 100,网段 10.10.100.0/24
  • 心跳网络:使用独立的 VLAN,比如 VLAN 200,网段 10.10.200.0/24
  • 管理网络:带外管理口,使用 10.10.0.0/24

举个例子:

角色 业务IP 心跳IP 管理IP
主机 (Node1) 10.10.100.10 10.10.200.10 10.10.0.10
备机 (Node2) 10.10.100.11 10.10.200.11 10.10.0.11
虚拟IP (VIP) 10.10.100.100 - -

警告:心跳网络一定要用直连或独立的二层网络,不要经过三层路由。否则一旦路由出问题,心跳延迟或中断,脑裂风险极高。我曾经在项目中看到有人把心跳 IP 配到了公网网段,结果防火墙策略一改,心跳断了,两个节点同时接管 VIP,业务数据乱成一锅粥。

3.5 存储架构:共享存储 vs 分布式存储

存储是双机热备的“灵魂”。数据放哪里,决定了你的切换速度和数据一致性。

共享存储(SAN/NAS)

  • 优点:成熟稳定,性能高,切换快(秒级)
  • 缺点:成本高,有单点风险(存储控制器挂了就全完)
  • 适用场景:对 RTO/RPO 要求极高的核心业务

分布式存储(Ceph/GlusterFS)

  • 优点:成本低,可扩展,无单点故障
  • 缺点:性能不如共享存储,网络依赖大,切换稍慢
  • 适用场景:日志存储、非核心业务、海量数据场景

我个人习惯,核心安全平台(比如认证、审计)用共享存储,日志和告警数据用分布式存储。这样既保证了关键业务的可靠性,又控制了成本。

避坑指南:我曾经在一个项目中,用 Ceph 做双机热备的共享存储。结果因为网络带宽不足,数据同步延迟高达 30 秒。主备切换时,备机拿到的数据还是 30 秒前的,导致大量告警丢失。后来我们给 Ceph 单独配了 10GbE 网络,才解决问题。所以,分布式存储对网络的要求非常高,千万别忽视。

好了,硬件和网络规划这部分,咱们就聊到这儿。你想想看,这些基础打好了,后面的软件配置才能顺风顺水。下一章,咱们开始讲操作系统和中间件的调优,那又是另一番天地了。