4. AVEVA平台高可用设计原则

高可用不是“买两台服务器”这么简单。在AVEVA工业平台(如System Platform、AVEVA Historian、AVEVA Operations Management Interface等)中,高可用设计需要从架构层面回答五个问题:哪些组件必须冗余、冗余之间如何隔离、单点故障藏在哪里、故障域如何划分、故障发生时系统如何降级运行。这五条原则相互支撑,缺一不可。

冗余:不是重复,而是可切换的备用能力

冗余的核心是“当主用组件失效时,备用组件能够接管其职责”。AVEVA平台中常见的冗余对象包括:应用服务器(App Engine)冗余对、历史数据库(Historian)冗余对、通信驱动(如OPC DA/UA、Modbus TCP驱动)冗余对、网络链路冗余以及GR节点冗余。

以App Engine冗余为例,典型配置为“主/备”模式:主引擎负责实时计算与输出,备引擎通过心跳与状态同步保持热备状态。当主引擎在设定时间内(例如3个心跳周期,每个周期2秒)未响应,备引擎自动提升为主用。这里的关键参数包括心跳间隔、故障判定阈值、切换超时和回切策略。心跳间隔过短会增加网络负担,过长则延长切换时间;一般建议心跳间隔1~2秒,故障判定3~5个周期,切换时间控制在5~10秒内。

冗余设计需要避免“假冗余”:两台服务器共享同一台交换机、同一路电源、同一个存储,实际上并没有形成独立故障域。因此冗余必须与隔离配合使用。

隔离:让冗余真正独立

隔离是指冗余组件之间在物理或逻辑上保持独立,避免一个故障同时影响主用和备用。AVEVA平台高可用设计中,隔离至少应覆盖以下层面:

  • 网络隔离:主备服务器接入不同的交换机,或使用独立的VLAN与物理链路,避免单台交换机故障导致主备同时失联。
  • 电源隔离:主备服务器分别接入不同的UPS或PDU,避免单路电源故障同时断电。
  • 存储隔离:Historian冗余对不应共享同一SAN LUN或同一NAS挂载点,否则存储故障会导致主备同时不可用。
  • 进程隔离:不同关键服务(如App Engine、Historian、通信驱动)尽量运行在独立进程或独立节点上,避免一个进程崩溃拖垮整个平台。

隔离的代价是成本与复杂度上升,因此需要结合故障域划分来决定隔离粒度。

无单点:识别并消除隐藏的单点故障

单点故障(SPOF)是指系统中某个组件失效后,整个系统或关键功能不可用。AVEVA平台中常见的隐藏单点包括:

  • 许可证服务器(License Server)——若只有一台且未冗余,许可证服务中断会导致所有节点无法启动。
  • 全局目录(Galaxy Repository)——System Platform的Galaxy数据库若部署在单节点SQL Server上,该节点故障将导致整个平台无法管理。
  • 时间同步源——所有节点依赖同一NTP服务器,若该服务器失效,可能导致Historian数据时间戳混乱。
  • 通信驱动节点——所有PLC数据通过单一驱动节点采集,该节点故障将导致全厂数据中断。

消除单点的方法包括:对关键服务做冗余部署、将集中式服务拆分为分布式、使用负载均衡或故障转移集群。对于无法消除的单点,应明确其影响范围并制定降级预案。

故障域划分:控制故障影响范围

故障域是指一个故障能够影响的最大范围。AVEVA平台高可用设计的目标不是“永不故障”,而是“故障发生时影响可控”。故障域划分通常按以下维度进行:

划分维度示例目标
按工艺区域公用工程、反应釜区、罐区分别部署独立App Engine一个区域故障不影响其他区域
按功能层次采集层、计算层、展示层分离展示层故障不影响数据采集
按网络分区控制网、监控网、管理网之间用防火墙隔离广播风暴或网络攻击被限制在单区
按地理位置主控室与远程I/O站分别部署单点物理灾害不导致全损

故障域划分需要与冗余策略结合:同一故障域内可以不做冗余,但跨故障域的关键路径必须有冗余或降级方案。

降级运行策略:故障时的有序退让

降级运行是指当部分组件失效时,系统主动关闭非关键功能,保留核心功能继续运行。AVEVA平台中常见的降级策略包括:

  • 数据采集降级:当Historian主节点故障时,备节点接管;若备节点也不可用,通信驱动可切换为本地缓存模式,将数据暂存于驱动节点,待Historian恢复后补传。
  • 画面展示降级:当OMI服务器负载过高或部分节点故障时,可关闭历史趋势、报警汇总等非关键画面,仅保留实时流程图和关键报警。
  • 计算降级:当App Engine冗余对切换失败时,可临时将非关键计算逻辑(如报表统计、KPI计算)暂停,优先保障控制逻辑和联锁输出。
  • 通信降级:当主通信链路中断时,切换至备用链路;若备用链路带宽不足,可降低采集频率或只采集关键测点。
降级策略必须提前定义并测试,明确“谁来决定降级、降级后哪些功能保留、何时恢复、恢复顺序是什么”。建议在调试阶段模拟主节点断电、网络断开、Historian磁盘满等场景,验证降级逻辑是否按预期执行。

五条原则的协同关系

冗余提供备用能力,隔离保证备用能力独立,无单点消除隐藏风险,故障域划分控制影响范围,降级运行提供最后一道防线。五者协同,才能构成完整的AVEVA平台高可用设计。

AVEVA平台高可用设计五原则协同关系 高可用 设计目标 冗余 主/备可切换 隔离 网络/电源/存储独立 无单点 消除隐藏SPOF 故障域划分 控制影响范围 降级运行 有序退让保核心 提供备用 保证独立 消除风险 限制范围 最后防线

工程落地检查要点

在实际项目中,建议按以下顺序推进高可用设计:先识别关键业务功能,再列出支撑这些功能的所有组件,然后逐一判断是否存在单点、是否需要冗余、冗余之间是否隔离、故障域是否合理、降级策略是否可执行。以下检查表可作为设计评审的参考:

检查项典型问题建议措施
App Engine冗余主备心跳超时设置过长心跳1~2秒,判定3~5周期
Historian冗余主备共享同一存储独立存储或分布式存储
通信驱动单驱动节点采集全部PLC按区域拆分驱动节点
许可证服务单台License Server冗余部署或离线授权
网络链路主备走同一交换机独立交换机/VLAN
降级预案未定义降级触发条件明确触发阈值与恢复流程

高可用设计的最终验证手段是故障注入测试:在调试或试运行阶段,主动断开主节点网络、关闭主Historian服务、拔掉主交换机电源,观察系统是否按预期切换、降级、恢复。只有经过验证的冗余和降级策略,才是真正可用的高可用能力。