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计算)暂停,优先保障控制逻辑和联锁输出。
- 通信降级:当主通信链路中断时,切换至备用链路;若备用链路带宽不足,可降低采集频率或只采集关键测点。
五条原则的协同关系
冗余提供备用能力,隔离保证备用能力独立,无单点消除隐藏风险,故障域划分控制影响范围,降级运行提供最后一道防线。五者协同,才能构成完整的AVEVA平台高可用设计。
工程落地检查要点
在实际项目中,建议按以下顺序推进高可用设计:先识别关键业务功能,再列出支撑这些功能的所有组件,然后逐一判断是否存在单点、是否需要冗余、冗余之间是否隔离、故障域是否合理、降级策略是否可执行。以下检查表可作为设计评审的参考:
| 检查项 | 典型问题 | 建议措施 |
|---|---|---|
| App Engine冗余 | 主备心跳超时设置过长 | 心跳1~2秒,判定3~5周期 |
| Historian冗余 | 主备共享同一存储 | 独立存储或分布式存储 |
| 通信驱动 | 单驱动节点采集全部PLC | 按区域拆分驱动节点 |
| 许可证服务 | 单台License Server | 冗余部署或离线授权 |
| 网络链路 | 主备走同一交换机 | 独立交换机/VLAN |
| 降级预案 | 未定义降级触发条件 | 明确触发阈值与恢复流程 |
高可用设计的最终验证手段是故障注入测试:在调试或试运行阶段,主动断开主节点网络、关闭主Historian服务、拔掉主交换机电源,观察系统是否按预期切换、降级、恢复。只有经过验证的冗余和降级策略,才是真正可用的高可用能力。