云环境下基础设施层的研究与设计

2015-03-06 08:06张铁楠
关键词:管理器虚拟化集群

张铁楠

(湖南工程学院 计算机与通信学院,湘潭 411104)



云环境下基础设施层的研究与设计

张铁楠

(湖南工程学院 计算机与通信学院,湘潭 411104)

云计算是当前计算机技术的一次革命.云计算对用户表现为各种服务,包括基础设施即服务、平台即服务、软件即服务.其中基础设施层为用户提供硬件资源,是其他各层提供所有服务的基础.对基础设施层的物理构成及其功能进行研究,设计了一个小型的云计算环境下的基础设施层,主要包括总体设计、虚拟化方案以及服务流程,该设计模型能够完成所有基础设施层应具备的基本功能,适应各类型基础设施服务提供企业融入云环境并为用户提供服务.

云计算;基础设施层;总体设计;虚拟化方案;服务流程

0 前 言

云计算是当今计算机领域最热门的技术之一,跟当初互联网的出现一样,是计算机技术的一次革命.随着云计算技术的发展,各种基于云环境的应用不断涌现,先后出现了云存储、云安全、教育云等概念.很多政府部门、大型企业都正着手研究与推广云计算技术,为广大用户提供云计算服务.

云计算是并行计算(Parallel Computing)、分布式计算(Distributed Computing)和网格计算(Grid Computing)的发展,或者说是这些计算机科学概念的商业实现[1].云计算是虚拟化(Virtualization)、效用计算(Utility Computing)、IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等概念混合演进并跃升的结果[2].

云计算对用户表现为各种服务,而云内部对用户却是透明的.云计算的各种服务跟云结构本身密切相关.比如在IaaS层,云供应商为用户提供的服务主要是IT资源,诸如存储、网络等硬件资源;在Paas层提供具有通用性和可复用性的中间件和开发平台;在SaaS层则是云上的应用软件的集合.在这三层结构中,处于上层的服务必须实现下层的功能,所以,处于基础设施层的IaaS是实现云计算的基础.对云环境中基础设施层的研究与设计具有重要的意义.云资源供应商可以专注于某个层次的服务,而利用其它云资源供应商来提供下层的服务.因而,各个不同层次的云供应商的联合和集成,将是开展云计算的必然趋势.

1 基础设施层的研究

基础设施层采用虚拟化技术为网络用户提供硬件资源,如存储资源、网络资源[3].不同的云资源提供商在基础资源的提供服务方面略有差异,但是基础设施层的功能差别不大,一般应具备如下这些功能:

(1)资源抽象.为了组建基础设施层,首先必须将大量的硬件资源通过抽象的方法形成高层次的硬件资源管理逻辑,这就是对硬件资源虚拟化.

虚拟化不仅需要屏蔽不同型号的硬件差异,还需要为硬件资源提供统一的接口.基础设施层往往被抽象成多层,这样便于被上层定义和操作.

(2)资源监控.基础设施层在抽象模型的基础上建立监控模型.监控模型描述了监控对象及其度量,且有不同的粒度和层次.监控模型不仅要对全部资源进行管理,而且能根据某个场景的需要对所需资源进行整合.

(3)负载管理.在云环境这样大规模的资源环境中,如果不加以管理,任何时刻各节点的负载都可能是高低起伏不均衡的,这样将导致严重的后果--有的节点资源负载过低,其结果是资源闲置;有的节点资源负载过高,其结果造成上层服务性能受到影响.负载管理就是要采用一定的技术将各节点的负载进行平衡.

(4)存储管理.在云环境中需要运行成千上万个虚拟机,基础设施层既需要存放虚拟机上的镜像文件,还需要存放每一个虚拟机应用系统的业务数据.为了保证虚拟机管理器的数据管理,需要借助高速的I/O网络和传输协议进行联接.

(5)资源部署.资源部署就是采用一定的技术将基础设施层的资源分配给上层应用.通过虚拟化的硬件资源准备就绪后,需要经过初始化,在应用的过程中可能需要经过二次甚至是更多次的部署,从而满足上层应用的需求,这是一个动态的过程.资源部署一方面要考虑到用户或上层应用的动态可伸缩性,还需要考虑硬件出现故障时的替换与故障恢复.

(6)安全与风险管理.基础设施层的安全管理就是要保证硬件资源能够被合法地访问与使用.在传统的环境中也存在风险,但是在云环境中更加明显、更具挑战性,如数据隔离与恢复、特权用户接入等.对于基础设施层的风险,用户必须充分认识和了解,才可能避免或减轻危害.

(7)计费管理.云计算只有提供比传统方式更便捷的应用且更低的成本才有可能被用户广泛认可,因此合理的计费是很重要的.当前许多云计算提供商采用按使用计费方式,对于基础设施层,按使用计费的方式又有两种:一种方式是对应用涉及的基础资源进行计费;另一种方式是采用许可证形式.

2 云环境下基础设施层的设计

2.1 总体设计

基于云环境下基础设施层的物理构成及其应实现的功能,我们对云环境下的基础设施层进行设计,其总体结构如图1所示.

(1)VPN网关.在该体系结够设计中,各企业网络都通过VPN网关访问云中的基础设施.每一个拥有虚拟机的网络都被映射为该VPN内的网络地址.

(2)应用物理服务器.虚拟化即在一台物理服务器上运行多个逻辑服务器,每个逻辑服务器就是一个运行不同操作系统、相对独立的虚拟机.在该体系结构中,每一个应用物理服务器上都运行了若干个虚拟服务器,并且通过系统管理器实现对虚拟机的自动化管理.

图1 基础设施层的物理拓扑设计

在应用物理服务器中安装Xen Hypervisor和一个系统管理.Xen Hypervisor是一个基于开源软件组织虚拟机监控器,运行在应用物理服务器上,实现虚拟化.

系统管理器则以独立于Hypervisor的方式提供对虚拟机的管理功能.

(3)企业集群管理器.在该体系结构中,每个企业还会有一个企业集群服务器负责企业内部的资源管理.

(4)云管理器.其主要职责是为基础设施云的提供者提供云的整体监控、管理和计费功能.主要包括:集中统计每个企业的资源使用情况;根据使用情况计费;提供整个基础设施云的SLA监控(如实时网络流量、各管理操作的性能以及云的可靠性等).

(5)共享存储.每个企业内部的应用物理服务器都共享同一个网络存储.每个应用物理服务器本身只缓存每个虚拟机的运行实例,而虚拟机的镜像文件和实例状态会被持久化到共享存储上,从而实现高可用性和虚拟机的迁移操作.

2.2 虚拟化解决方案

构成虚拟化解决方案的每个虚拟机内部都置入了代理(Agent),用来监控和操作虚拟机内部的软件和服务[4].如图2所示,企业集群管理器拥有图中所示的一组虚拟解决方案管理服务.虚拟管理服务通过与系统管理器和虚拟解决方案中的Agent进行交互,可以实现对虚拟解决方案的黑盒管理和白盒管理.

图2 虚拟解决方案管理

2.3 服务流程

一般基础设施层服务流程分为规划、部署和运行三个阶段,如图3所示.

图3 基础设施层服务流程

(1)规划阶段

对硬件资源进行虚拟化,使其成为一个逻辑资源池,并且配置安全管理模块,控制用户对资源池的访问.此外,对虚拟镜像文件的管理以及提供给用户访问这些镜像或者上传自定义镜像的服务.

在物理环境准备就绪之后,第一个要实现的基本功能就是对资源进行虚拟化处理.即将物理服务器改造成虚拟化平台,整合计算资源.

为了使用户能够访问这些虚拟资源,基础设施层允许用户从远程操作资源.比如用户通过下载客户端程序获取资源列表,选择其所需要的虚拟机类型,实施部署和运行管理等操作.

虚拟镜像文件包含虚拟机配置、操作系统及之上的软件堆栈等信息.一个可配置镜像文件模板可以被不同的用户重复使用.基础设施层提供给用户获取已有的镜像服务.

(2)部署阶段

资源部署就是给虚拟机配置资源并激活其服务.

每个虚拟机都有一个配置文件用来描述虚拟机的资源配置,通过虚拟化平台的管理接口,虚拟机及其网络可以被有效地部署并启动起来.然而,虚拟化平台的管理接口却无法为我们激活虚拟机内部的文件.我们通过在虚拟机内部安装应用服务器,并使用描述文件描述其实例的配置.当这个虚拟机被部署后,虚拟机内部的代理将接收到企业集群管理器的激活指令.代理根据描述文件,启动和配置这个实例,使虚拟机内的软件和服务进入运行状态.基础设施层在企业集群器、系统管理器和描述文件的帮助下可以实现高度自动的解决方案部署,并且简化应用系统的激活过程.

(3)运行阶段

每个虚拟机内部安装的代理可以用于对虚拟解决方案进行有效的运行时SLA管理.

资源监控是通过企业集群管理器的黑盒管理和白盒管理来共同完成的.在黑盒管理中,企业集群管理器通过与系统管理器的通信,获得每个虚拟机运行时的资源监控信息.通过进一步分析整合,企业集群器还可以计算出整个虚拟解决方案的资源监控信息.白盒管理则通过企业集群管理器与虚拟机内部的代理之间的交互来完成.

负载管理必须依赖资源监控功能,且必须借助企业集群管理器的上述两种管理机制.通过黑盒管理,企业集群管理器收集到监控信息后,利用资源调整和资源整合实现负载管理;通过白盒管理,企业集群管理器分析代理后产生监控信息,将操作指令发给代理,代理执行相应的操作指令返回相关结果.

对于基础设施层而言,在整个运行阶段安全管理都是非常重要的.通常,将企业集群管理器和代理的安全管理与虚拟机内部软件的安全管理相结合,通过对不同层次的服务和数据访问进行控制,从而保证云基础设施层的安全[3].

计费、运行监控服务以资源监控和负载管理为基础.通过对虚拟机使用时间及服务质量等的综合考虑,为用户提供精准的计费服务;通过运行监控服务,用户可以获知自己的实时状态与历史信息;通过日志信息和统计图表,用户可以了解系统详情,并根据这些信息作出决策,从而对系统进行必要的优化.

3 结束语

云环境下的基础设施层是其他各层的基础.虚拟化是该层实现其应具备的功能并提供相应服务的关键技术.设计基于云环境下的基础设施层应研究其物理构成及其相应功能,尤其是虚拟化实现方案以及服务流程中各功能如何实现.

[1] 冯建平,吴丽华 .“云计算”技术和“云计算”服务模式——全球信息化发展的未来[J].信息系统工程,2009,(11):78-80.

[2] 宋振华.虚拟化技术中的存储管理问题研究[D].中国科学技术大学硕士论文,2010.

[3] 刘 毅.港口综合管理系统云计算模型与系统研究[D].北京交通大学硕士论文,2012.

Research and Design of Infrastructure in Cloud Environment

ZHANG Tie-nan

( College of Computer and Communication,Hunan Institute of Engineering, Xiangtan 411101, China)

Cloud computing is a revolution in computer technology. Cloud computing takes a variety of services as embodiment to users, including infrastructure as a service, platform as a service, software as a service. The infrastructure layer to provide users with the hardware resources is the foundation of other layers to provide all services. The study on the physical structure and its function on the infrastructure layer designs a small infrastructure layer in cloud computing environment, which includes system design, virtualization solutions and service process. And the design model possesses all the basic functions that the infrastructure layer should have and adapts to all types of infrastructure services to provide enterprises with cloud environment and to provide services for users.

cloud computing; infrastructure layer; system design; virtualization solutions; service process

2014-11-07

张铁楠(1973-),男,硕士,讲师,研究方向:网络计算.

TP391

A

1671-119X(2015)02-0055-04

猜你喜欢
管理器虚拟化集群
应急状态启动磁盘管理器
海上小型无人机集群的反制装备需求与应对之策研究
基于OpenStack虚拟化网络管理平台的设计与实现
Windows文件缓冲处理技术概述
对基于Docker的虚拟化技术的几点探讨
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
H3C CAS 云计算管理平台上虚拟化安全防护的实现
勤快又呆萌的集群机器人
存储虚拟化还有优势吗?