控制系统环境虚拟化

在大规模分布式控制系统中,有许多通用服务为整个控制系统组成运行环境,如通用软件基础库的服务器系统、应用服务器、存档服务器等。控制系统环境中服务器系统崩溃是一个严重的故障,它可导致加速器关闭事故,甚至产生关机等待恢复服务器系统。特别是大量异步设备的集中式IOC服务器关闭时,它会导致光束频繁丢失。服务器崩溃将还会导致数据永久丢失并消耗更多时间来重新安装IOC服务器。为解决上述问题,可考虑整个控制系统环境的虚拟化,通过虚拟化带来的高可用性和故障自动迁移,降低故障率,提高控制系统环境的MTBF。本文介绍虚拟化技术包括:服务器、存储、网络系统和控制应用等。

许多EPICS控制系统的系统开发和运行环境基于PC Linux系统。NISNFS服务器用于管理用户帐户和共享资源。作为运行时环境的一部分,数据库服务器、引导服务器、Soft IOC服务器和EPICS应用程序服务器(如存档和警报处理程序)一般安装在服务器机房中。基于交叉编译器支持的EPICS安装在运行时环境中。EPICS扩展包括定序器、ALHEDMMEDM、归档引擎等EPICS工具。为中心NFS服务器中的所有用户定义了整个环境的标准目录结构。

虚拟服务器系统一般由服务器和存储系统组成,每个服务器可使用HBA卡连接到集中式SAN存储系统,实现具有在线迁移功能的高可用性虚拟机系统。所有虚拟机操作系统也必须安装在SAN存储系统上,以便在硬件故障时获得自动迁移能力。

根据硬件资源分配,可以制作不同类型的虚拟机模板,以便创建新的虚拟服务器。常用的模板是应用程序服务器和IOC服务器,可帮助管理员快速轻松地创建新应用程序或IOC服务器。由于所有EPICS基础库,IOC软件和环境都在模板中进行了预安装和配置,因此不需要任何安装和配置过程,管理员只需要多次单击鼠标,然后创建新的应用程序或IOC服务器并立即运行。

模板还带有存储和网络信息所以我们可以立即添加新的应用服务器并立即投入使用,例如在扩展系统时添加新的EPICS网关方式或存档服务器。加速器控制系统一般使用VLAN代替设备子网。有许多异步IOC服务器用于不同VLAN的不同子系统,如MPS IOC和Vacuum IOC。在虚拟化之前,我们需要在一台物理服务器上运行多个IOC服务器,因此我们需要为每个物理服务器配置VLAN设置。在虚拟化之后,我们可以逐个在虚拟服务器上运行IOC。 VMWare HA特性需要将这些IOC从一台物理机移动到另一台物理机,因此我们需要在同一物理服务器上配置具有多个VLAN的虚拟交换机。在物理机网络配置中,我们逐个添加虚拟交换机端口组,并为虚拟交换机分配不同的子网VLAN ID。除IOC服务器外,EPICS网关服务器还跨越两个不同的VLAN,需要配置适合不同VLAN的虚拟网络交换机,以便EPICS网关的虚拟机可以在不同的物理机器之间迁移。

完成虚拟化后还需要离线测试和在线考验。测试内容包括:(1)控制系统环境的所有功能都可以正常运行,(2)虚拟IOC服务器可以通过虚拟网络适配器进行大量网络数据传输,(3)最大数量的数据包测试NFS和存档磁盘读/写速度以测试虚拟化的性能。包括所有虚拟服务器和应用系统,需要在线迁移和物理机器崩溃模拟测试,以保证故障迁移成功。虚拟机和应用程序都可以从它存在的崩溃物理机器移动到其他普通物理机器。

控制系统环境虚拟化可以集成硬件资源并提高CPU和内存等硬件利用率。最直接的结果是通过虚拟化节省了服务器和功耗,大幅减少服务器数量。它可以通过虚拟机系统的高可用性(HA)和VMotion特性大大提高整个设施的控制系统环境和MTBF的可靠性。其他好处是我们可以轻松快速地从预配置的虚拟机模板部署虚拟机,这为控制系统环境带来了更大的灵活性,所有工作都是虚拟系统的配置而不再是任何硬件工作。用于EPICS IOC的许多异步设备的虚拟化和SSRF控制系统中的应用服务器获得了更大的灵活性和稳定性。虚拟化带来诸如节省硬件资源和实现高可用性目标等优点,并展示了在大规模控制系统环境中的良好应用前景。

Hyper-V是微软的一款虚拟化产品,采用类似Vmware一样的基于hypervisor的技术,Windows系统也可以使用Hyper-V实现虚拟化,并在LHC控制系统中得到了成功的应用。

虚拟化示意图

发表评论