1. 课程导入与PI System高可用灾备全景

在流程工业、电力、水务、制药等连续生产场景中,PI System 往往承担着"运行数据底座"的角色:现场仪表与 DCS/PLC 的数据经接口采集进入 PI Data Archive,再由 PI AF 建立资产模型与计算上下文,最终通过 PI Vision、PI Web API 等通道呈现给操作、工艺、设备与管理层。一旦这条链路中断,损失的不只是"看不到趋势图",而是历史数据缺口、KPI 计算失真、报警与绩效系统连锁失效。因此,本课程的第一个核心认知是:高可用与灾备不是给 PI 加一个"备份插件",而是围绕数据从产生到消费的整条链路做分层设计。

一、先看清对象:PI System 的组件与各自的可用性诉求

PI System 并非单一软件,而是一组协同组件。理解高可用,必须先区分每个组件"怕什么"。

  • PI Interface(接口):负责从 DCS、PLC、OPC Server、 historians 采集数据。它最怕的是采集节点宕机导致的数据丢失。PI 接口通常自带缓冲(Buffering),当 PI Data Archive 不可达时把数据暂存本地,恢复后回填,这是第一道数据保护。
  • PI Data Archive(PI DA):时序数据核心,存储压缩后的历史数据。它是整个体系的"心脏",可用性要求最高,通常采用 PI Collective(集合)实现多成员冗余。
  • PI AF Server:承载资产模型、模板、分析计算。它依赖 PI DA,同时被 PI Vision、PI Web API 依赖,属于"模型中枢"。
  • PI Vision:Web 可视化层,用户直接访问。它本身可多实例部署,通过负载均衡对外提供服务。
  • PI Web API:面向 REST 的访问层,供第三方系统、移动端、报表工具调用,同样需要多实例与负载均衡。

可以看到,不同组件的可用性策略并不相同:接口靠缓冲,PI DA 靠集合,AF 靠故障转移,Vision/Web API 靠横向扩展。把它们混为一谈,是灾备设计中最常见的误区。

二、从单点到集群:可用性的四个层级

建立整体视图时,可以用"层级"来组织认知。第一层是单点部署:所有组件装在一台服务器上,适合试点与小型场景,但任何一次硬件故障都会导致全线中断。第二层是组件冗余:PI DA 组成 Collective,接口启用缓冲,AF 配置为高可用对。第三层是同城高可用:在同一城市的不同机房或不同机架部署冗余成员,抵御单机房断电、网络中断。第四层是异地灾备:在数百公里外的站点保留数据副本与可切换的服务实例,应对区域性灾难。

需要强调的是,层级不是越高越好,而是要与业务连续性目标(RTO/RPO)匹配。RTO 指允许的中断时长,RPO 指允许丢失的数据量。例如某化工厂要求"关键装置数据 RPO≤5 分钟、RTO≤30 分钟",那么接口缓冲周期、Collective 同步方式、异地复制频率都要围绕这两个数字反推,而不是凭感觉堆机器。

PI System 高可用与灾备全景视图 数据自下而上流动,可用性策略逐层叠加 现场层 DCS / PLC 过程控制系统 OPC Server 数据接入网关 仪表 / 传感器 现场信号源 第三方系统 LIMS / MES 采集层 PI Interface 主实例 本地缓冲 Buffering 断点续传 PI Interface 备实例 接口冗余 / 故障切换 避免单点采集中断 缓冲数据回填 PI DA 恢复后自动补数 保障 RPO 核心层 PI Data Archive Collective 成员1(主) / 成员2(备) 数据同步 · 自动故障转移 时序数据心脏 PI AF Server 高可用 资产模型 · 模板 · 分析 主备节点 / 故障转移 模型中枢 数据复制 / 异地副本 同城同步 · 异地异步 灾备站点数据副本 支撑 RTO / RPO 服务层 PI Vision 多实例 负载均衡 · 会话保持 可视化访问入口 PI Web API 多实例 REST 接口 · 横向扩展 第三方集成通道 负载均衡 / 反向代理 健康检查 · 流量分发 统一对外地址 业务连续性目标: RTO(允许中断时长) 与 RPO(允许丢失数据量) 共同决定各层冗余策略的取舍

三、把"高可用"和"灾备"分开看

很多团队把两者混用,导致设计目标模糊。可以这样区分:高可用(HA)解决的是"局部故障不中断",例如一台 PI DA 成员宕机,Collective 自动把读写切到另一成员,用户几乎无感知;灾备(DR)解决的是"区域灾难后能恢复",例如机房整体断电,需要在异地站点用数据副本重建服务。HA 追求的是秒级到分钟级的切换,DR 追求的是小时级甚至更长的恢复,但必须保证数据副本可用。

两者在 PI System 中的落点也不同。HA 主要依赖 PI Collective、AF 高可用对、Vision/Web API 多实例;DR 则依赖数据复制机制、异地副本、以及一套经过演练的切换与回切流程。一个常见的错误是:只做了 Collective,就以为"已经有灾备了"。实际上 Collective 成员通常在同一机房或同城,无法抵御区域性灾难。

四、一个可参考的目标设定示例

下面给出一个教学示例(参数为合理假设,用于说明方法,不代表任何实际项目实测值)。假设某装置区有 3 套 DCS,约 12000 个位号,关键 KPI 看板 15 个,要求:

指标目标值对应设计动作
RPO(数据丢失)≤ 5 分钟接口缓冲周期设为 1 分钟,PI DA 集合同步间隔 ≤ 1 分钟
RTO(服务恢复)≤ 30 分钟AF 主备切换脚本化,Vision/Web API 通过负载均衡摘除故障节点
异地副本延迟≤ 15 分钟异步复制任务每 5 分钟增量同步一次
演练频率每季度 1 次模拟主成员宕机、模拟机房断电,记录实际切换耗时

这张表的意义在于:先定目标,再定架构。如果 RPO 要求是 0,那么接口缓冲和同步机制都要重新设计;如果 RTO 允许 4 小时,就没必要为秒级切换投入过高成本。目标不同,架构选择完全不同。

学习建议:在进入后续章节前,先梳理自己所在环境的"组件清单 + 当前部署方式 + 业务连续性要求"三件事。带着这三张底牌去学 Collective、AF 高可用、数据复制和切换演练,会比单纯记概念有效得多。

五、本课程将覆盖的主线

围绕上述全景,后续内容会沿着几条主线展开:PI Data Archive Collective 的成员规划、同步机制与故障转移验证;PI AF 的高可用部署与模型一致性保障;PI Interface 的缓冲、冗余与数据回填;PI Vision 与 PI Web API 的横向扩展和负载均衡;同城与异地数据复制方案;以及切换演练、监控告警与日常运维检查。每一条主线都会落到具体的配置对象、参数和判断依据上,而不是停留在"要做高可用"的口号层面。