2. 高可用架构基础

在 Lenovo 高可用企业计算集群的设计与实施中,“高可用”不是一句口号,而是一组可以被量化、被验证、被运维的工程指标。理解这些指标,是后续做冗余拓扑、故障切换、容量规划与 SLA 承诺的前提。本节从可用性度量出发,逐步落到单点故障识别与冗余设计原则,并说明它们在 Lenovo 集群中的具体体现。

一、可用性指标与 SLA:把“不宕机”变成数字

可用性(Availability)通常用一段时间内系统可服务时间占比表示:

可用性 = MTBF / (MTBF + MTTR) × 100%

其中 MTBF(Mean Time Between Failures,平均无故障时间)反映系统平均能连续正常运行多久;MTTR(Mean Time To Repair,平均修复时间)反映从故障发生到恢复服务平均需要多久。两者共同决定可用性:提高 MTBF 或降低 MTTR 都能提升可用性,而降低 MTTR 往往更可控、更经济。

业界常用“几个 9”描述可用性等级。以一年 365 天为基准,常见换算如下(示例值,用于理解量级):

可用性等级年允许不可用时间(约)典型场景
99%(2 个 9)87.6 小时一般内部测试环境
99.9%(3 个 9)8.76 小时普通业务系统
99.99%(4 个 9)52.6 分钟核心生产业务
99.999%(5 个 9)5.26 分钟关键交易/金融级

SLA(Service Level Agreement,服务等级协议)就是把可用性目标、故障响应时间、恢复时间目标(RTO)、数据恢复点目标(RPO)等写成可考核的承诺。例如某 Lenovo 集群承载核心数据库,SLA 可约定:可用性不低于 99.99%,RTO ≤ 30 分钟,RPO ≤ 5 分钟。注意:SLA 是“对外承诺”,而 MTBF/MTTR 是“内部度量”,设计时必须让内部指标留有余量,才能稳定兑现 SLA。

RTO 关注“多久恢复服务”,RPO 关注“允许丢多少数据”。二者与 MTTR 相关但不等同:MTTR 是平均修复时间,RTO 是业务可接受的最长中断时间。

二、单点故障:高可用设计的第一敌人

单点故障(SPOF,Single Point of Failure)指系统中某个组件一旦失效,就会导致整体服务中断。识别 SPOF 是高可用设计的第一步。Lenovo 集群中常见的 SPOF 包括:单台管理节点、单条上联链路、单个电源模块、单台存储控制器、单台交换机、单一心跳网络、单实例数据库、单份配置文件等。

识别方法可以按“路径法”进行:从客户端请求出发,沿数据流/控制流逐段检查,任何一段只有唯一实例且无旁路,就是潜在 SPOF。例如:客户端 → 接入交换机 → 负载均衡 → 应用节点 → 数据库 → 存储,若其中任一环节只有单台设备且无冗余,则该环节即为 SPOF。

三、冗余设计原则:从“有备份”到“可切换”

冗余不是简单“多买一台”,而是要让冗余真正可用。核心原则包括:

  • 消除单点:关键路径上每个组件至少两个实例,且相互独立。
  • 故障域隔离:冗余实例应分布在不同机箱、不同机柜、不同供电、不同交换机,避免同一故障同时影响两者。
  • 可检测与可切换:必须有健康检查、心跳与自动/手动切换机制,否则冗余只是“冷备”。
  • 避免共因故障:同一版本缺陷、同一配置错误、同一供电回路都可能让冗余同时失效。
  • 冗余也要可维护:支持在线更换、在线扩容,避免维护本身造成中断。

在 Lenovo 集群中,这些原则体现为:双管理节点/双控制平面、双上联链路与堆叠/M-LAG、双电源与双路供电、RAID 与多路径存储、数据库主备/集群、心跳与仲裁网络分离、配置与镜像统一管理等。下面用一张结构关系图展示“单点故障 → 冗余替换 → 可用性提升”的核心逻辑。

可用性指标与冗余设计关系 可用性度量 MTBF:平均无故障时间 MTTR:平均修复时间 可用性 = MTBF/(MTBF+MTTR) SLA:RTO / RPO 承诺 单点故障(SPOF) 单管理节点 / 单上联链路 单电源 / 单存储控制器 单心跳网络 / 单实例数据库 识别方法:沿数据流逐段检查 冗余设计原则 消除单点 · 故障域隔离 可检测 · 可切换 避免共因故障 冗余可维护 Lenovo 集群中的冗余体现 计算节点 双机热备 / 集群 网络链路 双上联 / 堆叠 / M-LAG 存储 RAID / 多路径 / 双控 供电与管理 双电源 / 双管理节点 目标:降低 MTTR、提升 MTBF,稳定兑现 SLA

四、从指标到落地:一个可参考的可用性估算示例

假设某 Lenovo 集群单节点 MTBF 为 20000 小时,MTTR 为 4 小时,则单节点可用性约为 20000/(20000+4) ≈ 99.98%。若采用双节点主备,且切换时间约 5 分钟(0.083 小时),则系统可用性可提升到约 99.999% 量级(示例估算,实际受切换成功率、共因故障影响)。这说明:冗余的价值不仅在于“多一台”,更在于把 MTTR 从小时级压缩到分钟级。

冗余设计必须验证切换路径。若心跳网络与业务网络共用同一物理链路,链路故障时心跳同时中断,可能导致双节点都认为对方失效,引发脑裂。因此心跳、仲裁、业务网络应分离或至少物理路径独立。

五、实施检查要点

  • 列出关键路径上的所有组件,逐一标注是否存在 SPOF。
  • 为每个 SPOF 设计冗余方案,并确认故障域是否隔离。
  • 配置健康检查与自动切换,定期做切换演练并记录实际 MTTR。
  • 把 SLA 目标拆解为各层的可用性预算,避免单层过度承诺。
  • 监控 MTBF/MTTR 趋势,用真实数据反推设计薄弱点。

掌握这些基础后,后续的集群拓扑、存储双活、网络冗余与故障切换策略,才有统一的度量尺度和设计依据。