基于Xen的工业过程综合监控平台设计与实现
2014-08-08叶莹韩冰陈鹏王薇
叶莹+韩冰+陈鹏+王薇
收稿日期:2013-06-24
基金项目:国家“863”计划重点项目(2011AA110202)
作者简介:叶 莹(1980—),男,湖北咸宁人,工程师,学士,研究方向:现场工业控制及系统应用。
文章编号:1003-6199(2014)02-0034-04
摘 要:随着现代工业生产自动化水平的提高,监控平台已经成为自动控制系统中必不可少的部分;近年来信息化技术的发展要求工业企业破除各装置之间存在的“自动化孤岛”壁垒,实现统一的系统监控、身份认证以及软硬件平台的高度可靠。本文基于Xen实现统一监控虚拟化软硬件平台,并在其上完成主流监控软件(Ifix/PIMS/VXSCADA)的部署,进行冗余热备机制和高度可用性等技术的试验,实现异构监控平台的统一部署、统一接入和即插即用。
关键词:虚拟化技术;工业控制;监控平台
中图分类号:TN081文献标识码:A
The Design and Implementation of a Comprehensive Monitoring Platform for Industrial Process Based on Xen
YE Ying1, HAN Bing1,CHEN Peng1,2,WANG Wei1
(1.Zhejiang SUPCON Research Limited Company, Hangzhou,Zheijiang 310053, China;
2.Institute of Cyber-Systems and Control Zhejiang University, Hangzhou,Zheijiang 310053, China)
Abstract:With the development of the automation technologies in modern industrial production, SCADA has become an essential part in automatic control system. The development of information technology requires industrial enterprises to break the barriers known as “isolated automation island” between each device, realizes the unity of the system monitoring, the identity authentication and high reliable software/hardware platform. In this paper, a unified monitoring software/hardware platform based on virtualization technology has been designed with the help of Xen, and several mainstream SCADA software (Ifix/PIMS/VXSCADA) are deployed on the platform. Besides, redundant hot standby mechanism and high availability technologies are studied to realize the unified deployment/access and plugandplay of different SCADA software.
Key words:virtualization technology;industrial control;Supervisory Control And Data Acquisition (SCADA)
1 引 言
随着微电子技术、计算机控制技术、工业以太网技术及现场总线技术的发展,作为通用的自动化系统开发与实施工具软件——工控组态软件日渐成熟。由于其在构建工业控制系统的过程中免去了大量烦琐的编程工作,极大地提高了自动化系统开发、实施和运行管理过程中的工作效率,近年来,工控组态软件在中小型工业过程控制工程、工业自动化工程中越来越受到欢迎[1]。
目前,世界上有不少专业软件/硬件/系统厂商生产和提供各种组态软件产品,如Ifix,PIMS,VXSCADA,组态王等,这些产品在工业控制系统中得到了广泛的应用,为提升我国工控企业的自动化水平做出很大的贡献;然而,各组态软件间的兼容性较差,很难进行信息的交互,形成了企业内部的“信息孤岛”;控制算法和核心指令均通过监控计算机实施,一旦软硬件出现问题,就会对企业生产造成巨大的损失,且系统的恢复以及维护均需要专业人员现场完成,工作量巨大。信息化技术的发展对工矿企业的自动化系统提出了更高的要求,即具有高度的信息互通互联、统一身份认证、即插即用以及高度的安全性/可用性,同时系统配置、维护和升级简单方便。
传统的监控系统和组态软件均采用C/S架构,其优点是客户端响应速度快,处理能力强。这种模式比较适用于在小规模、并发用户少且有安全性保障的局域网环境中运行。但随着信息技术以及用户需求的发展,传统C/S架构的监控系统暴露出许多问题,其局限性表现在如下几个方面[2]:
1)部署困难。除了要安装服务器软件外,对每台客户机都要安装专用的客户端软件,对于大型分布式系统来说,不便于管理。
2)监控系统软件产品大都缺乏开放的标准,一般不能跨平台运行。在多数情况下,客户端的操作系统是不同的,与此对应的客户端程序也是不同的。
3)移植性差。如果用户分布范围广,造成系统维护难度大,移植、升级困难,成本较高。
4)可扩充性差。对于服务器端的数据库,它必须同每一个活动的客户端保持连接,服务器有限的系统资源将被用于频繁应付与客户端之间的连接,无法及时响应数据请求,系统性能不断下降。
基于上述现有工业监控系统平台的不足,本研究引入基于Xen的虚拟化技术对硬件资源进行整合,实现了统一监控虚拟化软硬件平台,并基于虚拟机完成了主流监控软件(Ifix/PIMS/VXSCADA)的安装和部署,通过统一的虚拟机监视器(Virtual Machine Monitor,VMM)对运行在虚拟机之上的数据服务/监控服务应用进行配置和管理,同时虚拟化技术的引入可进行动态迁移,实现不宕机情况下应用程序的转移[3],保证工业现场监控连续性。为达到监控和管理工业生产的目的,需要实现对虚拟机桌面进行访问和操作,本研究使用身份认证机制,实现用户权限的识别,最终实现了异构监控平台的统一访问、即插即用和高度安全性/可用性。
计算技术与自动化2014年6月
第33卷第2期叶 莹等:基于Xen的工业过程综合监控平台设计与实现
2 虚拟化技术分析
虚拟化技术是指在一个计算机硬件平台上模拟多个独立的、结构和实际硬件相同的虚拟硬件系统,在每个虚拟硬件系统上都可以运行不同的操作系统,即客户操作系统 [3]。虚拟化的概念最早由IBM公司在上世纪六十年代提出,并成功运用在IBM大型机System/360上[4]。虚拟化技术能够动态组织多种计算资源,实现透明化的可伸缩计算系统架构,从而可以灵活构建满足多种应用需求的计算环境,提高计算资源的使用效率,除此之外虚拟化技术还有降低管理成本、提高使用灵活性、提高安全性、更高的可用性、更高的可扩展性、互操作性和投资保护、改进资源供应等特点[5]。因此,虚拟化技术是IT基础设施和资源管理方式的变革,降低了资源使用者和资源之间的联系度[6]。
从虚拟化的目的来分,虚拟化技术可分为平台虚拟化、资源虚拟化、应用程序虚拟化和表示层虚拟化等[7],本文主要对平台虚拟化中的系统级虚拟化技术进行研究,通过隐藏控制平台的实际物理特性,为用户提供符合要求的虚拟主机的硬件及软件配置。平台虚拟化技术的核心是虚拟机监视器(VMM),它提供能够模拟硬件资源且与物理主机相似的虚拟机(VM)。虚拟机上运行的操作系统称为客户操作系统(GOS),VMM可以在同一台物理主机上虚拟出多个VM,并且做到各个VM之间相互隔离并可以安装不同的操作系统。从功能角度来分析,VMM作用是对各个VM的资源进行调度、分配和管理,保证各个GOS安全运行[8、9]。
3 基于Xen技术的虚拟化监控系统开发
方法
3.1 Xen虚拟化技术
Xen是剑桥大学开发的虚拟机管理软件[6],通过修改操作系统内核避免对所有硬件的模拟,使其相对于全虚拟化有更高的性能,但虚拟机所能安装的操作系统局限于一些开源的操作系统,如NetBSD, GNU/Linux, FreeBSD和Plan 9等系统,对于Windows操作系统则不能运行。自Xen3.0版本后,通过引入Intel VT和AMD-V技术,使得Xen不修改操作系统内核也能达到较高的虚拟化性能,大大扩展了应用范围;同时还支持32位、64位及PAE虚拟机,保存及恢复虚拟机,动态迁移等功能,能够应用于服务器的在线维护,在线升级和动态负载均衡等方面[10]。Xen主要分为四大核心子系统: CPU虚拟化、内存虚拟化、I/O设备虚拟化,以及网络虚拟化,在此不再赘述。
3.2 基础硬件设备
Xen从3.0版本开始通过使用Intel VT-X和AMD-V等技术实现对硬件虚拟化的支持,提高了Xen的兼容性,使得非开源的Windows操作系统也能应用于Xen虚拟机。目前主流的监控组态软件大部分是基于封闭的windows系统开发的,Xen3.0的推出为实现异构监控系统的综合监控平台开发奠定了技术基础。如图2所示,本研究选用了采用VT-x 技术的IBM X3850 X5(1台),IBM System x3650 M3(2台)服务器作为构建虚拟化系统的硬件支持。
3.3 统一监控平台设计
对虚拟机的访问可通过远程登录的方式进行操作。传统的远程登录方式有Windows系统自带的远程登录软件,RealVNC等软件。在较大规模的工业控制现场中,存在多个用户同时访问同一系统监控画面的可能,而如何避免在查看监控时的相互干扰和如何控制查看监控时的权限是虚拟化监控系统集群必须要解决的两个问题,常规远程登录软件无法解决。本文研究设计了统一监控平台,这其中包括身份认证系统,访问控制系统和远程登录系统,实现对虚拟机访问的综合统一控制。
3.3.1 身份认证模块设计
身份认证模块开发使用Web Service技术,在统一监控客户端输入用户信息,用户信息被传递到Web Service服务器,该服务器上配置了身份认证服务,在用户信息到达后,该服务访问数据库,数据库使用MySQL数据库存储用户身份信息,包括用户名、密码、权限等信息。身份认证服务获取用户信息后进行判断,把验证结果返回到统一监控客户端。其数据流向如图1所示:
图1 身份认证系统结构图
图2 身份认证对话框
当统一监控客户端接收到验证信息后,客户端对验证信息进行解析。如果验证失败,显示失败原因,本模块中失败原因分为用户名错误,密码错误,验证服务未开启三种情况。如果验证正确,客户端会得到该用户的权限,分为0级,1级,2级和3级,每一级拥有对不同监控系统进行管理的权限,对应关系如表1所示:
表1 权限分配表
权限分配表
1级
2级
3级
0级
供电系统
给水泵汽轮机
电液控制系统
炉膛安全
监控系统
锅炉室
模拟监控
全局权限
客户端会根据不同的权限级别把对应于各系统的连接按钮变为可用,对于不拥有访问权限的监控系统,对应的连接按钮变为不可用状态,从而达到分权限对监控系统进行访问的目的。
3.3.2 访问控制模块设计
在工业控制现场,较多的使用一个系统作为一个监控工程,当遇到两个或两个以上用户同时对同一监控工程访问时,需要保证每个用户监控不相互干扰。
本文中采用建立多个虚拟机的方法,如供电系统监控,建立4台虚拟机安装供电系统监控软件,在无用户访问时,虚拟机处于挂起状态。通过身份认证后的用户访问供电系统监控软件时,统一监控客户端先访问到WEB服务器的访问控制服务,获取供电系统监控虚拟机的占用情况,为用户分配一个空闲的虚拟机并激活,再通过远程登录的方式查看操作虚拟机桌面。
3.3.3 远程登录模块设计
为实现对虚拟机桌面的访问,开发远程登录模块。在该模块中加入网络通信状态的实时监测,负责检测与虚拟机通信状态,并保证通信中断恢复后的重新登录。
3.4 虚拟化监控方案架构及效果
通过使用Xen技术构建虚拟机,开发统一监控平台,能够构建一套完整的支持工业监控的虚拟化系统。虚拟机创建时分配单核CPU,1G内存和30G磁盘。为了验证该虚拟化监控系统,本文选用Ifix/PIMS/ VXSCADA等几款常用的工业生产监控软件构建虚拟化监控系统,根据Xen虚拟机配置方法,完成动态迁移功能设置,每个虚拟机上搭载的服务如图3所示。
图3 虚拟机搭载服务示意图
图4 统一监控平台运行效果
在每个监控软件上配备模拟监控工程,实现组态信息的发布及监控,实际运行的效果如图4,统一监控端实现了对多个虚拟机统一访问的功能。
各个虚拟机在监控软件运行情况下对10分钟内CPU和内存占用情况进行统计,经平均后统计结果如表2。
表2 各虚拟机主要资源占用统计
序号
CPU(%)
内存(M)
1
12
132
2
30
413
3
32
435
4
45
513
5
43
602
6
35
451
7
36
413
8
31
389
图5 动态迁移测试配置图
基于Xen的虚拟化技术能够进行动态迁移和运行时负载均衡[5],提高工业监控系统的连续性和稳定性。为了展示虚拟化系统高可用性,进行动态迁移实验。动态迁移是虚拟机由一个物理主机转移到另一个物理主机的过程,可以在不影响用户使用的情况下实现对物理机的维护和升级,进行了如图4的演示验证方案。
表3 监控中断时长统计表
序号
监控中断
时长(ms)
最大中断
时长(ms)
最小中断
时长(ms)
平均中断
时长(ms)
1
963
2
840
3
983
4
1226
5
1309
6
892
7
982
8
934
9
961
10
927
1309
840
1001.7HOST A通过网络对XenDomain提供存储空间,HOST B使用NFS导出的目录运行一个虚拟机,HOST C是目标主机,HOSTB主机上的虚拟机转移后在HOST C上运行。HOST B源机上运行中控VXSCADA软件。在迁移过程中的停机时间与主机CPU,内存等硬件设置及负载等多种因素有关,在文献[11]中有对相关问题的深入研究,虚拟机的停机时间在数百毫秒至数千毫秒不等。接下来对本解决方案下开发的软件及虚拟机内部署服务连续性进行实验验证。
统一监控平台具有通信检测及通信恢复重连功能,虚拟机动态迁移时会造成通信的瞬时中断,平台内部可以通过统计监控中断时间得到虚拟机服务中断时长,完成测试。
本文进行10次试验统计服务中断时间,试验结果如表3所示。在10次测试中,统一监控平台都实现了对虚拟机通讯的监测,并在虚拟机迁移后实现监控的自动开启。 VXSCADA监控服务中断时长均在在2秒以内,基本可以满足工业监控需求。基于上述技术,可以为用户提供不间断的监控服务,实现监控平台的高可靠性/高可用性。
从以上分析和实际验证效果可以得出,本研究在所开发的系统上成功部署了多种主流工业监控软件,实现了异构监控平台的统一访问、即插即用和高度安全性/可用性,该系统能够取代传统的硬件配置方式应用于工业化生产监控过程。
4 结 论
本文使用Xen技术创建了服务器集群的虚拟化软硬件基础平台,在其上部署工业监控软件,为保证工业监控的安全性/可用性,开发统一监控平台,对用户身份进行验证,并对用户访问监控软件进行控制,形成了一整套基于异构组态软件的工业控制虚拟化监控方案,并通过试验验证了其有效性。未来将会对资源分配策略、迁移策略等方面技术进行深入研究,进一步提高虚拟化技术稳定性及高效性。
随着工业自动化技术的发展以及虚拟化技术的进一步成熟,虚拟化技术有望在更多的工业自动化领域得到推广。
参考文献
[1] 罗媛,工控组态软件的开发[D].贵州:贵州大学,2008.
[2] 张修建,基于Web的工业污水远程监控系统的设计与实现[D].秦皇岛:燕山大学,2011.
[3] 石磊,邹德清,金海,Xen 虚拟化技术[M].武汉:华中科技大学出版社,2009.
[4] PADEGSA.System/360 and Beyond, IBM Journal of Research and Development[J].Vol25(5), p377-390, 1981.
[5] 张小虎,基于Xen的系统监测技术研究[D].西安:西安工业大学,2011.
[6] DAVID CHISNALL,The Definitive Guide to the Xen Hypervisor[J]. Prentice Hall. Nov.,2007.
[5] 江雪 基于XEN虚拟机的动态迁移技术研究[M].上海:上海交通大学,2009.
[7] 曹欣 半虚拟化技术分析与研究[D].杭州:浙江大学,2008.
[8] 惠新忠 XEN虚拟I/O优化策略[D].大连:大连理工大学,2010.
[9] 孟江涛 XEN虚拟机研究[D].杭州:电子科技大学,2010.
[10]陈小军,张璟 虚拟化技术及其在制造业信息化中的应用综述[J].计算机工程与应用,2010,46(23):25-30.
[11]江雪,李小勇,虚拟机动态迁移的研究[J].计算机应用,2008,28(9),2375-2385.
本文进行10次试验统计服务中断时间,试验结果如表3所示。在10次测试中,统一监控平台都实现了对虚拟机通讯的监测,并在虚拟机迁移后实现监控的自动开启。 VXSCADA监控服务中断时长均在在2秒以内,基本可以满足工业监控需求。基于上述技术,可以为用户提供不间断的监控服务,实现监控平台的高可靠性/高可用性。
从以上分析和实际验证效果可以得出,本研究在所开发的系统上成功部署了多种主流工业监控软件,实现了异构监控平台的统一访问、即插即用和高度安全性/可用性,该系统能够取代传统的硬件配置方式应用于工业化生产监控过程。
4 结 论
本文使用Xen技术创建了服务器集群的虚拟化软硬件基础平台,在其上部署工业监控软件,为保证工业监控的安全性/可用性,开发统一监控平台,对用户身份进行验证,并对用户访问监控软件进行控制,形成了一整套基于异构组态软件的工业控制虚拟化监控方案,并通过试验验证了其有效性。未来将会对资源分配策略、迁移策略等方面技术进行深入研究,进一步提高虚拟化技术稳定性及高效性。
随着工业自动化技术的发展以及虚拟化技术的进一步成熟,虚拟化技术有望在更多的工业自动化领域得到推广。
参考文献
[1] 罗媛,工控组态软件的开发[D].贵州:贵州大学,2008.
[2] 张修建,基于Web的工业污水远程监控系统的设计与实现[D].秦皇岛:燕山大学,2011.
[3] 石磊,邹德清,金海,Xen 虚拟化技术[M].武汉:华中科技大学出版社,2009.
[4] PADEGSA.System/360 and Beyond, IBM Journal of Research and Development[J].Vol25(5), p377-390, 1981.
[5] 张小虎,基于Xen的系统监测技术研究[D].西安:西安工业大学,2011.
[6] DAVID CHISNALL,The Definitive Guide to the Xen Hypervisor[J]. Prentice Hall. Nov.,2007.
[5] 江雪 基于XEN虚拟机的动态迁移技术研究[M].上海:上海交通大学,2009.
[7] 曹欣 半虚拟化技术分析与研究[D].杭州:浙江大学,2008.
[8] 惠新忠 XEN虚拟I/O优化策略[D].大连:大连理工大学,2010.
[9] 孟江涛 XEN虚拟机研究[D].杭州:电子科技大学,2010.
[10]陈小军,张璟 虚拟化技术及其在制造业信息化中的应用综述[J].计算机工程与应用,2010,46(23):25-30.
[11]江雪,李小勇,虚拟机动态迁移的研究[J].计算机应用,2008,28(9),2375-2385.
本文进行10次试验统计服务中断时间,试验结果如表3所示。在10次测试中,统一监控平台都实现了对虚拟机通讯的监测,并在虚拟机迁移后实现监控的自动开启。 VXSCADA监控服务中断时长均在在2秒以内,基本可以满足工业监控需求。基于上述技术,可以为用户提供不间断的监控服务,实现监控平台的高可靠性/高可用性。
从以上分析和实际验证效果可以得出,本研究在所开发的系统上成功部署了多种主流工业监控软件,实现了异构监控平台的统一访问、即插即用和高度安全性/可用性,该系统能够取代传统的硬件配置方式应用于工业化生产监控过程。
4 结 论
本文使用Xen技术创建了服务器集群的虚拟化软硬件基础平台,在其上部署工业监控软件,为保证工业监控的安全性/可用性,开发统一监控平台,对用户身份进行验证,并对用户访问监控软件进行控制,形成了一整套基于异构组态软件的工业控制虚拟化监控方案,并通过试验验证了其有效性。未来将会对资源分配策略、迁移策略等方面技术进行深入研究,进一步提高虚拟化技术稳定性及高效性。
随着工业自动化技术的发展以及虚拟化技术的进一步成熟,虚拟化技术有望在更多的工业自动化领域得到推广。
参考文献
[1] 罗媛,工控组态软件的开发[D].贵州:贵州大学,2008.
[2] 张修建,基于Web的工业污水远程监控系统的设计与实现[D].秦皇岛:燕山大学,2011.
[3] 石磊,邹德清,金海,Xen 虚拟化技术[M].武汉:华中科技大学出版社,2009.
[4] PADEGSA.System/360 and Beyond, IBM Journal of Research and Development[J].Vol25(5), p377-390, 1981.
[5] 张小虎,基于Xen的系统监测技术研究[D].西安:西安工业大学,2011.
[6] DAVID CHISNALL,The Definitive Guide to the Xen Hypervisor[J]. Prentice Hall. Nov.,2007.
[5] 江雪 基于XEN虚拟机的动态迁移技术研究[M].上海:上海交通大学,2009.
[7] 曹欣 半虚拟化技术分析与研究[D].杭州:浙江大学,2008.
[8] 惠新忠 XEN虚拟I/O优化策略[D].大连:大连理工大学,2010.
[9] 孟江涛 XEN虚拟机研究[D].杭州:电子科技大学,2010.
[10]陈小军,张璟 虚拟化技术及其在制造业信息化中的应用综述[J].计算机工程与应用,2010,46(23):25-30.
[11]江雪,李小勇,虚拟机动态迁移的研究[J].计算机应用,2008,28(9),2375-2385.