O ORPAON
SCADA 与上位机

SCADA 冗余与高可用:双机热备、RAID 与 7×24 运行

很多现场,操作工盯着的 SCADA 其实还是一台服务器。这台机器一停,产线不会等你去找备用硬盘。高可用不是许可证上的一个选项,而是一组要先想清楚的决定:哪些东西要同步、切换怎么测、现场能容忍哪一类故障。这篇文章说明单机部署在什么情况下会变成停线风险,热备与集群必须对齐什么——实时库、历史库、画面工程、通信通道——RAID 在服务器里承担哪一层,再给一张按层级写的验收表,最后点到网络隔离与权限。我们在架构层交付过冗余集群、双机热备、数据库 RAID1、7×24 运行和界面秒级刷新。这些是工程手段,不是对外发布的现场可用率数字,而且只有现场做过切换试验才站得住。

单机部署在什么情况下会变成停线风险

一台 SCADA 服务器适合试点线、试验室,或是几小时没有上位机画面也能继续生产的现场。一旦班组靠这张画面组织生产、靠报警提前发现问题,或者质量与能耗报表还从同一台机器读历史,单机就不合适了。

真正伤人的往往不是戏剧性的死机。更常见的是磁盘写满、系统更新卡住、电源模块烧掉、网卡掉线,下一班才发现趋势打不开。问题不是服务器会不会坏,而是没有它产线还能撑多久,以及回来时那几分钟的数据还在不在。

  • 连续生产、没有空窗:离散制造产线、流程装置、水务泵站群或厂务系统,等不起一台机器重装
  • 画面就是操作位:启停、配方下发、报警确认都在这张屏上完成,不只是在机旁面板上
  • 历史和运行时在同一块盘:磁盘一坏,现场画面和质检、能耗要用的证据一起没了
  • 通信驱动只装在这一台:PLC、OPC、网关会话跟着主机一起断,即使搬来备用电脑,通道没建好也看不见现场
  • 7×24 值班但夜班人手薄:当班能确认报警,却没法在凌晨两点把服务器镜像恢复出来

上面这几条里占了两条或以上,单机就不再是省钱,而是默认接受:服务器故障等于可以停产。

热备与集群要同步什么

再买一份许可、旁边再放一台电脑,还不是热备。切换要成立,备机必须已经握着操作工切过去那几秒里用得上的副本。四样东西最容易拖到第一次真切才被想起:实时库、历史库、画面工程、通信通道。

我们在交付里把冗余集群和双机热备当成架构选择,而不是报价单上的勾选项。两台机器要约定谁是主机、状态怎么拷、切换时操作工看见什么。幸存节点上的界面秒级刷新,只有背后的点位还在被采集时才有意义。

  • 实时库:当前点值、报警状态、联锁和内存里的设定值。备机哪怕落后几秒,班组按画面操作就已经是错的
  • 历史库:趋势、事件和工艺曲线。盘上做 RAID1 不等于第二台机器上有副本;切换后历史断档是质量和审计问题,不只是 IT 问题
  • 画面工程:画面、点位绑定、脚本、用户权限和多语言资源。运行时起来对着昨天的工程文件,库是新的画面也会是错的
  • 通信通道:PLC 路径、OPC UA/DA 会话、网关链路以及绑在哪块网卡上。通道只活在主机上,备机启动看见的就是一座空厂

一个能落地的试验:操作工正在看趋势、确认报警时,把主机拔掉。如果备机拿不出同一批点位、同一份报警一览和刚过去那一段历史,这套双机还不能算冗余系统。

RAID 与它所在的那台服务器

数据库盘做 RAID1,挡的是一块盘坏掉。它挡不住主板故障、操作系统卡死、两面镜子一起被加密,也挡不住从没做过放电试验的 UPS。磁盘冗余和应用冗余不在同一层;方案里把两层写在一起,现场就会出现「已经做了 RAID,产线照样停」。

放 SCADA 的那台服务器,电源、散热和网络路径都要和现场真正想要的可用程度匹配。双网卡的价值,是把工业网和办公网隔开,而不只是为了把带宽绑在一起。数据库 RAID1、双机热备、冗余集群可以同处一室,若共用一台交换机、一台 UPS、一只机柜风扇,仍会一起倒。

  • 数据库卷做 RAID1:一块盘坏不应拖垮历史库;仍要用恢复演练证明备份读得出来
  • 双电源,加上实际测过续航的 UPS,而不是只看铭牌上的数字
  • 双网卡用途写清楚:一面朝工业网,一面朝办公网或历史库网段,而不是两根线进同一个 VLAN
  • 成对机器的物理分开:同一机柜两台已经强过一台;两台分属两路 UPS、两台接入交换机,才能扛住单机柜故障

层级、冗余手段,以及验收时要证明什么

方案里写「冗余」是测不了的。下表按第三人、没有项目背景也能做试验并记下是或否来写。第三列要用现场自己的数字来填——切换时间、历史缺口、谁有权切换——不要照抄厂商缺省值。

层级冗余手段验收时要测什么
SCADA 运行时双机热备或冗余集群强制主机故障;记录接管时间、客户端是否重连、操作工会话权限是否还在
实时库备机上同步或近同步副本切换后,切断前写入的最后点值和报警状态在幸存节点上还在
历史库卷做 RAID1,再加副本或定期备份恢复一份备份;确认切断造成的历史缺口落在技术协议约定的窗口内
画面工程与权限两台都有带版本的工程副本,用户与角色一致切换后打开同一组画面;核对点位绑定、语言资源和谁能写设定值
通信通道双路径、双网卡、冗余 OPC 或驱动会话掐断一条路径;确认点位继续刷新,若范围内含断网续传则缺口能补回

我们在项目上采用的架构层做法包括冗余集群、双机热备、数据库 RAID1、7×24 运行和界面秒级刷新。这些是验收项,不是现场可用率百分比。三年数据转入历史库是数据层的另一项决定,应写在 RAID 与副本设计旁边,而不是代替它们。

网络隔离与权限:点到可用性需要的那一层

办公网能灌进工业网,或一个被盗用的账号能同时停掉两台节点,高可用就会一起塌。这不是一篇 OT 安全专文;下面几条是切换试验和审厂时会直接碰到的。

大规模项目里,我们做过工业网与办公网物理隔离、千兆光纤三层交换,服务器双网卡隔离、RAID1、分级授权和高风险文件过滤。权限、角色与审计按现场安全要求配置。相关设计和文档可按项目范围提供,并配合审厂、验收和第三方评估;具体结论以项目证据为准。

  • 工业网与办公网隔离,避免广播风暴或桌面侧恶意软件把两台 SCADA 一起拖垮
  • 双网卡按用途绑定:工艺流量走一面,办公或历史库流量走另一面,不要随手桥接
  • 写权限、配方下发和工程访问落到具名角色上,并留下谁改过什么的审计记录
  • SCADA 主机上过滤高风险文件类型;U 盘拷安装包,是两台机器装上同一份不该装的软件的常见路径

若现场已有 OT 安全体系,SCADA 冗余应放进这套体系里,而不是另起一套。上表里的验收试验仍然适用:隔离做得好但切不过去,还不能算高可用系统。

小结

画面就是操作位、历史和运行时在同一块盘、夜班恢复不了主机时,单机 SCADA 就是停线风险。热备与集群只有在实时库、历史库、画面工程和通信通道对齐时才算数。RAID1 保护的是磁盘,不是主板;双网卡只有真正隔离网络时才保护网络。

把层级、手段和试验写进技术协议。冗余集群、双机热备、数据库 RAID1、7×24 运行和界面秒级刷新是我们交付的工程做法;有人把主机拔掉、现场画面还在,它们才算落地。

核对现场 SCADA 的冗余设计

把现有服务器布置、是否已有第二台主机、以及没有上位机画面时产线还能撑多久发给我们,我们可以给出单点故障诊断思路和分阶段冗余建议。

联系我们