基于云计算的数据中心服务架构研究与实践
2017-10-26蒋飘蓬于德海王红丽
蒋飘蓬 于德海 王红丽
摘要:该文对基于云计算的数据中心架构进行了研究和探索,依据云计算的三层架构模型构建了基于虚拟化的对应架构体系,并对信息管理中心原有应用进行了拆分重部署,在充分利用数据中心系统资源的基础上,提升了应用服务的数据安全性和系统稳定性,并对院校私有云系统应用和管理的相关问题进行了探索和实验。
关键词:云计算;服务架构;虚拟化;高可用性;数据中心
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)22-0096-02
1概述
随着高校信息化建设的高速发展,信息管理中心承载了越来越多的服务及应用。按照传统方式,各项应用独立分布于不同的服务器,形成一个个“信息孤岛”,造成资源不能有效共享、效率低下、安全性差。基于虚拟化的数据中心云计算模式使资源得以充分共享,统一的管理平台使得硬件资源调配、服务器开设等变得简便易行,极大减轻了工作负担,提高了工作效率。笔者在数据中心虚拟化建设的过程中,研究规划了高可用性数据中心架构,对原有应用服务进行拆解和重新部署,实现了数据中心的动态可伸缩性、高可用性和负载均衡等特性,提高了信息管理中心的业务水平和效率。
2架构规划
根据NIST(National Institute of Standards and Technology,美国国家标准与技术研究院)的权威定义,云计算的服务模式有SPI(即SaaS、PaaS和Iaas)三个大类或层次。
1)SaaS:提供给用户的服务是运行在云计算基础设施上的应用程序,用户可以通过用户端界面访问。
2)PaaS:把用户的应用程序部署到供应商的云计算基础设施上。用户不需要管理底层的云基础设施,但可以控制部署的应用程序和运行应用程序的托管环境配置。
3)IaaS:提供给用户的服务是对所有计算基础设施的利用,包括理CPU、内存、存储、网络和其他基本的计算资源。用户能够部署和运行任意软件,包括操作系统和应用程序,也包括有限制的网络组件(例如路由器、防火墙、负载均衡器等)。
根据以上三层模型,将信息管理中心的所有软硬件资源划分为基础设施层、系统平台层、软件服务层三个层次,并对每层进行了资源整合和高可用性设计。每层不仅分别以优化的方式为上一层级提供支撑,还可以单独给用户提供本层对应的服务。具体架构如图1所示。
硬件基础层:通过虚拟化平台将数据中心的硬件资源(如服务器、网络设备和存储系统等)集中在一起,形成一个共享虚拟资源池,并通过虚拟化管理软件实现统一组织管理。硬件基础层作为平台层和软件层的支撑,为其提供底层设备资源,并通过性能监控、多机热备、虚拟机自动迁移、网络虚拟化等手段,提供平台的安全性、可靠性保障。硬件基础层还能以虚拟机和虚拟硬件的方式直接为用户提供硬件服务。
平台层:在基础层的支撑下为用户提供各种软硬件开发、部署平台和中间件服务,包括操作系统、数据库服务、分布式文件系统等。平台层直接建立在虚拟化硬件层的基础上,具有一定的设备无关性,平台层的集群设计也使软件层的软件可以在多个具体的服务器间自动迁移。平台层还可通过专门的PaaS软件,直接为用户提供自动化部署、中间件支持等服务。
软件层:提供直接供用户使用的各种应用和软件。依据云计算的相关规则,软件层将其各个功能组件分别部署在不同的平台层功能集群上,以充分实现资源共享和负载均衡,并通过平台的高可用性设计实现软件的高效无故障长时运行和快速恢复。
3架构实现
3.1硬件基础层
具体来说,包括对服务器资源进行清理和归类、划分功能区和资源池、重定义虚拟化硬件及数据安全性设计等。同型号及配置性能相近,且满足虚拟化需求的服务器可组成虚拟化高可用性集群,同一集群中,所有服务器共享存储和网络资源,虚拟机可以实现在服务器间动态迁移功能。
根據各个集群的性能和特殊配置,划分不同的功能区,针对性的运行某一类平台或服务。依据数据安全和应用优先级方面的需求,将资源池划分为不同级别。高级别的资源池使用少量高性能服务器及存储,具有独立备份设备,单独分配固定的网络带宽;通用级别的资源池包括更多的物理主机,共享多台存储,相互之间形成冗余备份,共享网络资源,只在应用层根据应用需要划分不同带宽;特殊级别的服务器集群包括一些非通用型服务器及附带特殊设备(如加密卡、视频处理卡等)的服务器,这些服务器只能运行特定的服务,一般不进行虚拟化。
为了满足虚拟化和高可用性的需求,还需要对虚拟网络进行设计。通过虚拟化软件和虚拟化技术,实现“软件定义网络”的功能,使得资源可以充分共享,并满足上层平台对“硬件无关性”的要求。硬件基础层还通过集中式存储、多台存储联机热备,定时磁带库备份等手段保证数据安全性。
3.2平台层
在平台层,通过虚拟机创建了多个不同操作系统的服务器,并根据功能需要,配置为SQL、Oracle、My SQL等数据库平台以及IIS、Tomcat、PHP平台、Hadoop大数据平台等。为了实现平台的高可用性,各个功能平台按各自的系统要求组成高可用性集群,每个集群至少包含两台服务器(虚拟机),各集群的服务器配置基本相同。各集群按照自己的方式组成高可用性集群。以java应用服务为例,使用Apache和Tomcat组成集群,多个Tomcat服务器负责业务请求,Apache实现负载均衡和静态解析。当Apache接收到用户端请求的时候,会通过JK插件来过滤URL,根据预先设置好的URL信息,决定由Apache还是Tomcat服务器处理。同时,mod-jk插件还会根据相应的设置将请求分配到不同的Tomcat服务器上,避免一台服务器负载过重,而且当一台服务器故障时,相应的连接会自动漂移到另一个Tomcat中,保障用户的不间断访问。
平台层还可以提供部分平台资源供用户直接使用,这部分资源使用Paas平台软件Cloud Foundry进行管理。Cloud Found-ry平台通过Dea接口管理上传的应用,并通过用户管理组件对用户申请资源,发布应用等进行管理。
3.3软件层
软件层在平台层和硬件虚拟化支撑的基础上,对原有应用系统进行功能拆解,将不同的功能模块部署在不同的功能平台上,对一些相同的功能还可以直接作为中间件或以Web服务的形式供其他软件调用,在提高系统稳定性的同时也保障了资源的充分利用。软件层的软件部署和传统方式最大的不同就是其高可用性和平台无关性,通过硬件虚拟化、网络虚拟化、高可用性集群、负载均衡等技术的支持,软件层可以实现服务的长时间稳定运行。
以某教学应用系统为例,原系统使用mySQL数据库,Web应用服务通过Tomcat实现,按传统方式部署在一台服务器上,数据安全性不能得以保证。现将其功能组件分解,数据库部署在mySQL集群,Web应用部署在Apache和Tomcat集群,Win-dows Web应用部署在IIS集群中,各功能组件充分利用功能集群的高可用性设计,保障了系统的安全稳定,也通过负载均衡设计,实现了性能优化。对用户而言访问方式仍跟以前一样,但由于部署方式不同,系统稳定性和安全性大大增强,系统无故障时间由以前的平均三个月提升到一年。由于数据库集群、虚拟机备份、存储备份等机制提供了三层保障,数据安全性方面远远高于以前。
4总结
通过对云平台理念的实践,发现基于虚拟化技术的数据中心三层架构确实能显著提高信息管理中心的工作效率和资源利用率,并且大大增强了系统的稳定性和数据安全性。受限于应用规模和资金投入,整体架构功能还有很多需要实验的地方,例如一些安全性问题、用户管理、租约等问题仍需进一步研究试验。endprint