服务器虚拟化技术在PI实时数据库的应用
2015-10-29潘玉伟
潘玉伟
(华电国际山东信息管理有限公司,山东济南 250101)
服务器虚拟化技术在PI实时数据库的应用
潘玉伟
(华电国际山东信息管理有限公司,山东济南250101)
PI实时数据库应用环境要求尽可能的提高可用性和性能。同时需要灵活的在生产和测试环境中调配资源。而物理服务器要满足高可用和高性能,需要准备过量的硬件资源。本文提出一种基于服务器虚拟化技术结合PI实时数据库COLLECTIVE技术的实时数据库集群系统的部署方案。本文提出的方案对PI服务器、AF服务器、MSSQL数据库服务器、域控制器服务器进行高效虚拟化,提高了服务器和存储的利用率,保证了PI服务器的高可用性和性能。
虚拟化实时数据库PI
随着电力行业信息化的不断深化发展,实时数据库作为存储电力生产数据的核心数据库变的越来越重要,因此对于实时数据库的高可用和性能的要求也越来越高。Osisoft公司的PI实时数据库系统是目前在电力行业广泛应用的数据库系统,随着PI数据库的不断发展,PI2012版本部署需要安装PI服务器、域控制器、AF服务器、MSSQL服务器等多个服务器。鉴于以上两个原因笔者研究了基于虚拟化技术的pi实时数据库部署方案,一是提高实时数据库的高可用性和性能,二是提高服务器资源利用率,满足pi数据库系统部署的服务器需要。
图1 VMware虚拟机结构
1 传统的数据库群集方案
传统的实时数据库群集主要是服务器主备(Active-Standby)方式,服务器主-备方式由一台服务器对外提供服务,其它集群节点作为备份机,备份节点平时处于备份状态,不接受服务请求,只有在主服务器出现停机情况时,备份机才会接管业务请求,硬件利用率最高只能达到50%。这种方式的缺点主要有以下几个方面:
(1)在系统切换过程中,客户端与服务器之间的数据库连接会中断,需要重新启动连接才能继续。
(2)由于数据库在一台服务器上运行,造成资源浪费。
2 服务器虚拟化技术
服务器虚拟化利用虚拟化技术将操作系统和应用进行抽象化,使其与物理硬件分离,可以获得一个更加高效、敏捷、简化的服务器环境,可以使目前的X86服务器以虚拟机的形式运行多个操作系统和应用,每个虚拟机都可以访问底层服务器的资源。
当前比较成熟的虚拟化产品和技术主要有VMware 公司的vSphere、Microsoft公司的hyper-v、citrix公司xen server。根据Gartner的调研报告显示VMware的vSphere产品在2012年市场占有率达85%以上,在服务器虚拟化市场占有绝对领导地位,其产品技术成熟度得到广泛的认可。因此本文采用VMware vSphere5.5作为研究对象。
图2 内存压缩技术
VMware vSphere中的核心组件是ESXi,它是一个可以独立安装和运行在裸机上的系统,而不是像workstation一样依赖于宿主操作系统,ESXi包含了一个vmkernel的微内核,可直接调配物理硬件的cpu、内存、磁盘等资源。根据VMware提供的数据显示ESXi性能方面可以实现每秒执行8900个数据库事务、完成200000项I/O操作。可实现接近于本机水平的虚拟机性能、可靠性和可扩展性(如图1)。
图3 Vsphere群集示意图
图4 Vsphere群集架构图
图5 在虚拟化中部署PI HA
ESXi还提供了一些高级资源管理功能,用以提高性能和整合率。可以针对不同的虚拟机制定不同的资源使用策略。以保证重要的业务应用得到足够的资源。在物理机所有的可用cpu之间采用智能进程调度和负载均衡,以此方式管理虚拟机进程的执行。利用内存过量分配可以配置虚拟机内存超过物理机总内存,提高内存使用率,使主机能够运行更多的虚拟机。通过透明页共享技术可以将多台虚拟机完全相同的内存页仅存储一次,增加物理机内存使用率。利用内存释放技术可以将RAM从空闲虚拟机释放出来给活动虚拟机使用,以更大限度的提高内存的使用率(如图2)。
3 实时数据库
PI(Plant Information System)是由美国OSIsoft公司开发的一套基于Client/Server结构的商品化软件应用平台,是过程工业全厂信息集成的必然选择。作为工厂底层控制网络与上层管理信息系统网络连接的桥梁,PI在工厂信息集成中扮演着特殊和重要的角色。
与业界其他实时数据库产品相比,PI实时数据库有着强大的技术优势。PI系统除满足通用的开放性、安全性等指标外,重点解决各生产控制系统海量数据的收集、存储、加工、发布等环节中出现的技术难题。是业界效率最高,使用最便捷,应用最广泛的实时数据库。
目前,PI的数据吞吐量已达4百万/秒;存储能力为10-15万个事件/秒;数据访问能力为100万个/秒,并可以在秒级时间内取到1000点的2年至3年的历史数据。
采用了旋转门压缩专利技术和独到的二次过滤技术,使进入到PI 数据库的数据经过了最有效的压缩,极大地节省了硬盘空间。据计算,每秒1万点数据存储一年,仅需要4G的空间,即一只普通硬盘也可存贮五到十年的数据。这在行业中是无与伦比的。PI 保持了对信息的精确记录,同时又在存储时保持极高的压缩比。
4 基于虚拟化技术的PI服务器部署方案
在本文中笔者利用服务器虚拟化技术提出了三种不同的部署方案,分别适用于不同应用环境,三种方案有不同的保护级别。其中虚拟机以单机方式运行借助于虚拟化群集对虚拟机的保护,在物理服务器服务器出现故障时能够快速的使虚拟机切换到其它物理机运行。虚拟机冷备方式是在运行PI系统的虚拟机本身的服务器出现问题时能够使用人工的方式快速切换的一种方式。以HA方式运行PI服务器的方式能够保证在PI虚拟机本身出现问题时不会中断PI系统服务器的一种方案。
4.1虚拟机单机部署PI服务器运行
本方案借助于vSphere群集的保护机制,在vSphere群集中部署多台虚拟机,在虚拟机上安装PI系统所需要的服务,其中包括域控制器、数据库服务器、PI服务器、AF服务器(如图3)。
将上述服务器以虚拟机额形式部署在vsphere群集中,vsphere群集开启HA功能,每个虚拟机都受到群集的保护。
Vsphere群集的架构如下图图4所示。
vSphere 5.0的HA是有三个主要的组件构成:FDM,HOSTD,vCenter。
HA架构中最重要的组件是FDM(Fault Domain Manager),它是HA的代理,FDM代理负责很多任务,如主机之间资源信息和虚拟机状态的传递,沟通群集中适合的HA的主机,FDM也处理心跳机制,虚拟机的放置,虚拟机的重新启动、登录及其它等等。
另一个主机上重要的代理叫做HOSTD,这个代理也负责很多任务,如授权它打开虚拟机的电源、FDM直接和HOSTD、vCenter对话。FDM依赖于HOSTD,如果HOSTD无法运行,在等待HOSTD开始运作之前,FDM的所有功能也是停止的。
vCenter Server,vCenter是每个vSphere群集的核心,它负责着很多项任务:部署和配置HA代理,群集配置改变后的通信,虚拟机的保护。
vCenter负责向ESXi主机上推送FDM代理,vCenter还负责群集中master主机的配置更改,HA还利用vCenter来获取虚拟机的状态信息,如果vCenter不可用,它不会影响到群集的现有配置,vCenter会实时显示虚拟机的保护状态,群集配置,虚拟机同主机的兼容信息和主机清单列表,所以,在设计HA时,故障切换时没有加入vCenter,HA只是依赖vCenter配置和监视群集。
Vsphere群集还支持分布式资源调度(DRS),VMware vSphere分布式资源调度(DRS)是运行在VMware vCenter服务器(vCenter)上的基础设施服务,DRS聚合群集中ESXi主机资源,通过监控利用率,自动分配这些资源给虚拟机,并能够跨ESXi主机不断进行虚拟机资源优化。
DRS基于静态资源配置、动态资源利用率和动态资源争用级别来为虚拟机计算资源。
DRS利用vMotion,以满足虚拟机在群集中的可用资源配额,vMotion将虚拟机迁移到有更多可用资源的ESXi主机上来平衡利用率,DRS也可以使用vMotion进行分散资源整理,使得虚拟机有更多的资源利用。
4.2虚拟机冷备方式运行
虚拟机冷备方式在第一种方案的基础上针对PI服务器制作一个clone版本,在PI服务器虚拟机出现问题的时候可以将clone版本的虚拟机启动,为了保证数据的一致性,运行中的PI服务器数据存放在单独的虚拟磁盘(单独的vmdk),在手动切换虚拟机的时候,需要将数据盘从原虚拟机卸载,挂载到clone的虚拟机。
一个虚拟机的克隆就是原始虚拟机全部状态的一个备份,或者一个镜像。克隆的过程并不影响原始虚拟机,克隆的操作一旦完成,克隆的虚拟机就可以脱离原始虚拟机而独立存在。而且在克隆的虚拟机中和原始虚拟机中的操作是相对独立的,不会相互影响。克隆过程中,vCenter会生成和原始虚拟机不同的MAC地址和UUID,这就允许克隆的虚拟机和原始虚拟机在同一网络中出现,并且不会产生任何冲突。
vCenter支持两种类型的克隆:完整克隆和链接克隆。
一个完整克隆是和原始虚拟机完全独立的一个备份,它不和原始虚拟机共享任何资源, 可以脱离原始虚拟机独立使用。
一个链接克隆需要和原始虚拟机共享同一虚拟磁盘文件,不能脱离原始虚拟机独立运行。但采用共享磁盘文件却能大大缩短创建克隆虚拟机的时间,同时还可节省宝贵的物理磁盘空间。通过链接克隆,可以轻松地为不同的任务创建一个独立的虚拟机。
在克隆虚拟机时,虚拟机创建整个副本,这个副本包括虚拟机的硬件配置、安装的软件、用户的设置和用户的文件等,是一个完整的复制过程。在这个复制过程中,可以设置一些自定义的属性(如IP地址、计算机名称、用户等),如果使用自定义的规范,就必须在克隆前设置自定义的选项。
本方案中建议使用完整克隆。
4.3HA方式运行PI服务器
以HA(OSIsoft High Availability)方式运行的PI服务器是利用了PI实时数据库COLLECTIVE技术,创建多个虚拟机,组建PI COLLECTIVE群集。当其中的主服务器出现问题时,系统不会中断对外服务。在PI Server 中使用Collective Manager创建和管理 PI集合,实现高可用性 (HA)。使用虚拟化的方式可以减少部署的群集物理服务器,而达到与使用物理服务器相同的效果(如图5)。PI HA的部署不需要共享存储,使用虚拟机也可以更方便的部署PI COLLECTIVE群集。
PICOLLECTIVE群集是通过PIServer的复制,允许存在多个PI Server,其中包括一台主服务器和一台或多台辅助服务器,统称为“群集(collective)”服务器。可以在群集服务器内部复制PIServer 点数据库、模块数据库、用户数据库、信任表和配置表。一旦PI客户端与主服务器的连接不可用,任何基于PI客户端的SDK(如ProcessBook、DataLink)都能自动将连接从主PIServer切换至复制的服务器,从而确保所有客户端都具有读取PI数据的权限。
任何配置更改都只写到集合服务器的主服务器中,主服务器会维护一份配置更改日志。辅助服务器会定期查看更改日志并对服务器中的配置数据进行相应的更新。如果主服务器宕机,配置数据便无法更改。此时若用户尝试做出更改,则会显示错误消息。一旦主服务器无法恢复或恢复时间超过标准的时间框架,则可使用简单的手工处理程序将辅助服务器的角色提升为主服务器角色。
5 结语
VMware的服务器虚拟化技术和Osisoft的PI实时数据库都是各自行业领域中的佼佼者,将二者结合实现了对PI服务器性能和可靠性的提高。实现了对PI数据库系统高效的管理,在电力企业的信息系统建设中得到了非常好的验证。
[1]马博峰.VMware、Citrix和Microsoft虚拟化技术详解与应用实践.
[2]John SavillMicrosoft Virtualization Secrets.
[3]刘云生.实时数据库系统.
PI real time database application environment is required to improve availability and performance. At the same time, that is necessary for flexible deployment of resources in the production and testing environment. While the physical server to meet the high availability and high performance, the need to prepare the excess hardware resources. In this paper, we propose a scheme of real-time database cluster system based on server virtualization technology combined with COLLECTIVE PI technology. The scheme proposed in this paper on PI servers, AF server, SQL database server, domain controller, server for efficient virtualization, improve the utilization of server and storage and ensure the PI server high availability and performance.
VirtualizationReal Time Database