董柯芳,瞿 青,钱炎超
(浙江中控技术股份有限公司研发中心,浙江 杭州 310051)
在传统的分布式控制系统(distributed control system,DCS)的实际应用中,存在计算机硬件和操作系统的更新速度与上位机系统软件的更新速度脱节的情况。物理机一旦部署,更新换代较为困难,会造成资源、成本的浪费[1]。目前,很多DCS供应商已经大规模采用工作站虚拟化部署方案代替计算机的方式,以缓解计算机、操作系统的更新换代压力,降低用户的硬件、安装和维护成本,提升系统维护的效率。
中控提出的ECS-700控制系统虚拟化解决方案,将控制系统工作安排与虚拟化技术有机整合,通过采用瘦客户机(即小型行业专用商用计算机)访问虚拟机,实现了对传统物理机作为控制系统工作站方式的替代。该方案在帮助工业企业降低成本的同时,提高了自动化水平和设备可靠性。
不同于基本的软件测试,虚拟化方案的测试需要考虑更多方面。本文设计的测试方法以方案架构及实施为基础,从不同角度出发,包括:虚拟化平台自身的实用性和稳定性;控制系统软件部署在虚拟化平台上的运行情况;瘦客户机连接及其他外部设备等多个层面的测试内容。
ECS-700控制系统的虚拟化涉及将控制系统的操作员站、工程师站等节点分配给虚拟机而不是物理机。因此,必须根据控制系统及相关工作站的部署方式,设计合理的虚拟化架构,继而搭建测试环境[2]。
通过虚拟化部署的控制系统的关键点是添加虚拟化架构。虚拟化架构由管理系统所需的软硬件组成,包括ESXi 主机、vSphere Client及 VCenter Server等。其中:vSphere是VMware的一套解决方案,其两个核心组件是ESXi(Hypervisor)和VCenter Server;vSphere Client是虚拟机操作平台软件[3]。ECS-700控制系统工作站虚拟化架构如图1所示。
图1 ECS-700控制系统工作站虚拟化架构图
控制系统工作站虚拟化方案只是对控制系统工作站进行虚拟化,并未改变下位机控制站的环境,实现简便,提升了可行性。整体架构从下至上可分为三层,分别是控制节点层、虚拟化服务器集群层和终端层。
①控制节点层。该层布署控制节点及其相关控制网络,部署方式与传统控制系统下位机一致。
②虚拟化服务器集群层。该层包括生产服务器群和备份服务器,采用的是VMware vSphere虚拟化平台。其中,生产服务器群的作用是为虚拟化平台及运行在该平台上的虚拟机提供硬件。虚拟机可作为工程师站、操作员站等备份服务器,对生产服务器的运行数据进行相应的存储备份,从而保障数据的安全运行。在网络连接部分,生产服务器除了配置虚拟化平台管理相关的网络,还需要预留两个网口,用于连接控制网。
③终端层。终端连接设备用于连接服务器上创建的虚拟机,在确保瘦客户机与虚拟机网络连通的前提下,通过远程桌面协议(remote desktop protocol,RDP)等通信协议连接虚拟机,作为工程师站、操作员站等。
ECS-700控制系统虚拟化方案重点关注虚拟化环境与ECS-700系统上位机软件和相关配套软件的兼容性,以及软件的典型组态在虚拟化环境长期运行的稳定性及性能。除此之外,还需对虚拟化平台基础功能、虚拟化环境配套ECS-700系统上位机软件时的网络划分及网络延时、瘦客户机访问、Avamar备份软件基本功能等进行测试。ECS-700控制系统虚拟化方案主要测试项如图2所示。
图2 ECS-700控制系统虚拟化方案主要测试项
本文对比物理机上ECS-700上位机软件的测试场景和实际结果,测试ECS-700系统工作站虚拟化部署标准化方案的可行性。针对提炼出的测试重点拓展测试内容,可有效保障测试设计的充分性和完整性[4]。
由于增加了虚拟化服务集群,网络结构与使用计算机时不同。对此,需要验证虚拟化网络对控制系统软件没有影响,并比较与物理架构网络延迟的差异。
3.1.1 虚拟交换机测试
VMware虚拟化平台提供了标准交换机和分布式交换机两种虚拟交换机类型,用于提供主机和虚拟机的网络连接,以及管理虚拟机的流量。其中:标准交换机可以检测与其虚拟端口进行逻辑相连的交换机,只在本地有效,且只能被一台主机识别并使用;分布式交换机用于连接虚拟机端口,可以跨主机进行交换,在虚拟机之间进行内部流量转发或通过连接到上行链路连通外部网络。
①为单台ESXi主机配置标准交换机,分配上行链路并添加端口组,从而测试添加该网口的虚拟机之间的网络能否连通。
②创建分布式交换机,将所有主机都添加在该交换机下并分配上行链路,从而测试单台主机和不同主机之间各网段能否正常通信。
3.1.2 端口组策略设置测试
端口组策略的设置内容包括混杂模式、MAC地址更改、伪传输。本文使用控制变量的方式尝试每种设置,在保证虚拟机各网段通信正常的同时,还需测试控制系统软件中不同虚拟机之间的数据传输情况,如ECS-700控制系统软件的组态发布功能和监控实时值。
3.1.3 网络延迟测试
网络框架搭建完成后,本文采用ping命令查看各网段,测试网络延迟。虚拟化网络架构如图3所示。
图3 虚拟化网络架构图
为保证虚拟机以及控制系统软件在虚拟机上的运行性能,在服务器上创建虚拟机时需要注意服务器的CPU、内存、存储等基本信息,并根据ECS-700控制系统上位机软件的标准配置,计算在该配置下一台ESXi主机可以创建并运行多少台虚拟机。在保证使用的CPU、内存、存储小于总数时,还要测试各虚拟机在运行状态下是否拥有良好的性能[5]。
由于虚拟机没有物理连接,监视器、鼠标和键盘不能直接连接,而是使用瘦客户机通过网络远程连接到虚拟机。因此,需要测试瘦客户机连接虚拟机后,虚拟机在单屏、双屏、四屏等多种情况下的响应速度和流畅度是否与物理机相近,从而测试出一台瘦客户机同时连接虚拟机的最大数量。
3.3.1 响应速度、操作流畅度测试
瘦客户机作为终端连接各工程师站和操作员站,操作的流畅度和灵敏性是用户的关注重点。采用对比测试的方式,比较通过瘦客户机连接的方式和直接使用物理机的延迟是否接近,以及控制系统监控软件能否流畅运行。
3.3.2 并发访问测试
并发访问测试[6]是在虚拟机和控制系统软件能正常运行的情况下,测试一台瘦客户机最多同时能连接几台虚拟机。
3.3.3 双屏、四屏环境测试
不同的瘦客户机型号支持连接的最大显示器数量不一样。对此,使用wyse3040连接单、双屏使用,模拟现场单、双屏连接场景;使用wyse5070连接四屏使用,模拟现场四屏连接场景。
为保证数据的安全性,需要对备份恢复功能进行测试,保证备份数据的完整、正确。该方案选用的备份软件为Avamar。当生产服务器运行异常时,可以从备份服务器上获取工程师站、操作员站等虚拟机数据,在生产服务器上加载运行。
3.4.1 备份功能测试
备份模式包括增量备份、完全备份、自动备份(按照配置的备份策略进行备份)、手动备份。首先,测试备份任务能否正确执行;备份完成后,查看备份数据的正确性和完整性。
3.4.2 备份恢复
备份内容恢复的方式包括恢复到原始虚拟机、恢复到另一台已有的虚拟机和恢复到新的虚拟机。备份恢复测试是通过比对恢复前后的内容,验证备份恢复的正确性和完整性,
3.4.3 备份性能测试
当备份内容较多时,记录备份时间,观察服务器端和用户端的CPU使用率和网络使用率。
瘦客户机连接虚拟机的方式不同于传统计算机,还需对外部连接设备进行测试,保证设备能在瘦客户机上使用,包括存储设备、狗授权设备(物理狗、网络狗)、操作员键盘等。
确保控制系统软件在该平台虚拟机上能够正常运行并使用,是验证该方案可行性的基础。将基本功能测试和性能测试的结果与物理机上的结果进行对比,可保证功能使用正常且性能基本相似。此外,还要进行长期测试,验证软件在虚拟机上能够长期、稳定运行。
3.6.1 基本功能测试
基本功能测试方法和内容与在物理机上部署时一致。如果相关软件的自动化测试[7]脚本已经比较成熟,可以利用自动化测试代替手工进行基本功能验证。
3.6.2 性能测试
性能测试是使用现场组态,通过比对物理机的测试结果,检验虚拟机的性能是否通过。
3.6.3 长期测试
长期测试是使用典型组态规模,利用自动化脚本涵盖监控软件的主要功能,持续运行规定时间(一般为2周),查看软件是否正常运行、虚拟机性能状态以及有无资源泄漏、内存持续增长等情况。使用vCenter配置一定阈值的监控事件报警,以查看长期测试过程中报警的触发次数及触发原因。
现场使用过程中,可能会出现异常断电或服务器宕机等情况。因此,需要验证在出现该类异常情况时,虚拟化平台是否能够正常恢复,即进行异常场景测试[8]。这可以通过断电重启的方式模拟异常场景。场景设计包括单台生产服务器断电、两台生产服务器断电、备份服务器断电。
目前,控制系统工作站虚拟化的方案已在现场实施部署,有效帮助用户解决了传统物理机作为控制系统工作站带来的问题。
现已有将近十个现场在使用该方案。典型现场试用案例有邯钢老区退城整合项目。经现场反馈,采用控制系统工作站虚拟化方案极大地简化了部署和配置,节省了时间和精力,降低了维护和管理成本。该测试设计涵盖现场使用的各个阶段,保证了虚拟化平台以及控制系统软件的正常运行。
控制系统工作站虚拟化方案在现场使用情况正常、稳定,与测试结果相符,虚拟化平台及虚拟机自身的稳定性和安全性较高,工程师站、操作员站可在虚拟机上正常运行。在该方案的虚拟化平台及配套硬件基础上,DCS控制软件能够长期高性能运行;瘦客户机采用RDP协议连接虚拟机使用,操作无卡顿,软件运行流畅。
控制系统工作站虚拟化方案在现场的成功应用,证明了本文测试方法的完整性和可靠性[9],也充分体现了该方案的可行性和优势。
测试设计的完整性保证了虚拟化方案在现场的正常使用。通过测试可以发现少许控制系统在虚拟机上运行的特有缺陷,且控制系统软件对虚拟化平台存在特殊设置要求(如分布式交换机的安全配置),因此有效提高了虚拟化方案的安全性和可靠性[10]。虚拟化技术与控制系统工作站的结合打破了操作系统和物理硬件之间的从属关系。经测试验证和现场使用反馈,在控制系统工作站中引入虚拟化技术,不仅能完全替代传统工作站的部署方式、缓解操作系统和计算机更新换代的压力,还能有效提升系统维护的效率以及计算机资源的利用率、延长系统的寿命。该研究有利于企业减员增效。