2. PI System架构回顾与单点故障分析

在讨论高可用与灾备之前,必须先把 PI System 的典型部署拓扑摊开来看。PI System 并不是一个单一软件,而是一组协同工作的角色:PI Data Archive 负责时序数据的存储与检索,PI AF Server 承载资产模型与计算上下文,SQL Server 为 AF 提供配置数据库,接口节点(PI Interface / PI Connector)从控制系统采集数据,客户端与分析工具消费数据。高可用工程的第一步,就是识别这些角色中哪些一旦失效会导致整条数据链断裂。

典型部署拓扑与数据流

一个中等规模工厂的典型拓扑通常包含:两台接口节点分别连接 DCS 与 PLC,通过 PI Buffer Subsystem 缓存数据后写入 PI Data Archive 集群;PI AF Server 与 SQL Server 部署在应用层;客户端通过 PI Vision、PI DataLink 或第三方系统访问。数据从现场到消费端的路径是:控制系统 → 接口节点 → PI Buffer → PI Data Archive → PI AF Server → 客户端。这条链上任何一环失效,都会造成数据丢失或服务中断。

PI System 典型部署拓扑与单点故障标注 DCS 控制系统 OPC DA / UA PLC / RTU Modbus / OPC 接口节点 A PI Interface + Buffer ⚠ 单节点采集 接口节点 B PI Interface + Buffer ⚠ 单节点采集 PI Data Archive 主节点 + 集体成员 ⚠ 主节点故障影响写入 PI AF Server 资产模型 / 计算 ⚠ 单实例服务 SQL Server AF 配置数据库 共享存储 / SAN 归档文件与队列 PI Vision Web 客户端 PI DataLink / SDK Excel / 第三方 ⚠ 红色标注为单点故障(SPOF):接口节点、PI Data Archive 主节点、PI AF Server、SQL Server、共享存储均需冗余设计

单点故障识别与故障模式分析

单点故障(SPOF)是指系统中一旦失效就会导致整体服务中断的组件。在 PI System 中,最容易被忽视的 SPOF 往往不是服务器本身,而是接口节点的采集通道和PI Buffer 的落盘位置。如果接口节点与 PI Data Archive 之间的网络中断,而 Buffer 又配置在本地磁盘且磁盘故障,那么这段时间的现场数据将永久丢失。

下面给出一份可直接用于现场排查的故障模式与影响分析(FMEA)清单示例。严重度(S)、发生度(O)、可探测度(D)按 1~5 分评估,风险优先数 RPN = S × O × D,RPN 越高越需要优先处理。

组件 故障模式 影响 S O D RPN 建议措施
接口节点 单节点宕机 该通道数据中断,Buffer 停止写入 43224 部署冗余接口节点,配置自动故障转移
PI Data Archive 主节点服务停止 所有写入与查询中断 52110 配置 PI Collective,主备自动切换
PI AF Server 服务崩溃或主机故障 资产模型与计算不可用 42216 AF 高可用集群或虚拟机 HA
SQL Server 数据库不可访问 AF 配置无法加载,新模型无法发布 42216 SQL AlwaysOn 可用性组
共享存储 LUN 或阵列故障 归档文件损坏,历史数据丢失 51315 RAID + 异地备份 + 归档复制
网络链路 核心交换机故障 接口与服务器之间全部断连 52110 双上联、堆叠或 VPC 冗余

从拓扑到冗余设计的判断逻辑

识别 SPOF 之后,需要判断哪些组件必须做冗余、哪些可以接受短时中断。判断依据通常有三条:数据是否可重采、中断是否影响安全或合规、恢复时间目标(RTO)与恢复点目标(RPO)。例如,DCS 的历史数据如果 Buffer 未落盘且接口宕机,数据无法重采,RPO 实际为无穷大,这类节点必须做冗余。而 PI AF Server 短时不可用通常只影响展示与计算,若业务允许 15 分钟恢复,则可用虚拟机 HA 而非完整集群。

在实际项目中,建议先画出一张“数据流 + 依赖关系”图,再逐节点标注:该节点失效后,数据是丢失、延迟还是仅不可查。只有区分清楚这三种后果,才能合理分配冗余预算。

常见误区与检查要点

  • 只关注服务器冗余,忽略接口层。 PI Data Archive 做了 Collective,但接口节点仍是单机,采集侧依然是 SPOF。
  • Buffer 与接口同机同盘。 接口主机磁盘故障时,Buffer 文件与采集程序一起丢失,缓存机制形同虚设。
  • AF 与 SQL 部署在同一台物理机。 主机故障时两者同时不可用,且 SQL 的恢复往往比 AF 更慢。
  • 未验证故障转移。 配置了 Collective 或 AlwaysOn,但从未做过切换演练,实际切换时间与数据一致性未知。
  • 忽略时间同步。 多节点架构中,若各服务器时间偏差过大,故障切换后会出现数据时间戳错乱,影响后续分析。

完成本节分析后,应形成一份属于自己环境的 SPOF 清单,并标注每个故障模式的 RPN 与建议措施。这份清单将直接作为后续高可用方案设计与灾备演练的输入。