APP下载

面向云计算的虚拟化应用集群部署研究

2014-04-18郭广军贺江涛

湖南人文科技学院学报 2014年2期
关键词:群集虚拟化数据中心

郭广军,贺江涛,黎 梅,谢 东

(1.娄底职业技术学院电子信息工程系,湖南娄底417000)

(2.湖南人文科技学院信息科学与工程系,湖南娄底417000)

随着近年来多核系统、集群、网格和云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现。不仅降低了IT部署的TCO(Total Cost of Ownership,总体拥有成本),且增强了系统安全性和可靠性,虚拟化技术应用逐渐深入人们的工作与生活中。面向云计算的虚拟化应用集群部署[1]主要研究采用虚拟化技术支撑构建服务器集群以整合共享资源、统一管理调度软硬件资源,为云应用提供基础平台,实现云计算的科学化、便捷化和系统化,提高系统的整体效率并降低管理成本。

一 关键技术

(一)虚拟化技术

虚拟化(Virtualization)[2]是指在虚拟的机器上而不是真实的计算机或计算机集群上运行系统。虚拟化可分为平台虚拟化、资源虚拟化和应用程序虚拟化等类型。平台虚拟化是针对计算机和操作系统的虚拟化,可进一步分为全虚拟化、超虚拟化、硬件辅助虚拟化、部分虚拟化和操作系统级虚拟化,当前常见的平台虚拟化主机软件VM-ware、Xen、KVM(Kernel-based Virtual Machine)等都同时提供了对全虚拟化和半虚拟化的支持;资源虚拟化是针对如内存、存储和网络资源等特定系统资源的虚拟化;应用程序虚拟化包括仿真、模拟和解释技术等。

虚拟化技术可以简化系统重新配置过程,并且可以实现对硬件资源的管理。它能把服务器的CPU、内存等硬件资源虚拟成资源池,以虚拟的形式对系统提供底层运行平台。将一个精简的层插入在计算机硬件或计算机操作系统上面,此层包含一个以透明和动态方式分配硬件资源的控制器。在单台物理机上同时运行多个操作系统或者将多个服务器资源集合起来进行集中分配,共享硬件资源。多个虚拟操作系统和应用程序可以同时彼此隔离而安全运行,在必要时,每个操作系统和应用程序都可以访问其所需的资源。

(二)集群技术

集群(Cluster)[3]是由一组独立的服务器构成的一种松散耦合的计算节点集合,形成一个虚拟的服务器,为用户提供统一的服务器资源视图,实现资源共享,同时提供良好的负载均衡、故障迁移和恢复能力。集群系统中的每个计算节点的服务器进程可以独立运行或彼此通信,对客户来说就像是一个单一的主机,以多服务器协同方式向用户提供数据、系统资源和应用程序。集群系统可通过在集群中动态增加服务器的方式,以增加集群内部服务器的处理能力,可通过系统级的冗余提供固有的高可靠性和可用性。集群系统的关键功能包括应用故障接管、站点故障接管、服务器迁移和负载均衡等。

(三)云计算技术

云计算[4](Cloud Computing)是由分布式计算、并行处理、网格计算、效用计算、网络存储、虚拟化等技术发展来的,是一种新兴的计算模型结构。其核心思想是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户提供按需服务。狭义的云计算是指通过虚拟化技术和分布式计算构建的数据中心或超级计算机。以免费或按需租用方式向技术开发者或者企业客户提供数据存储、分析以及科学计算等服务。广义的云计算指厂商利用虚拟化技术构建的虚拟集群,动态地组织异构计算资源,隔离具体硬件体系结构和多样化软件系统平台差异,灵活构建满足不同应用需求的计算环境。向各种不同类型客户提供在线软件服务、硬件租借、数据存储、计算分析等不同类型的服务,提高计算资源的使用效率,实现弹性计算系统架构,高性能计算。

图1 系统逻辑结构

云计算系统架构模型[5]可分为访问层、应用接口层和基础管理层。⑴访问层:包括个人空间服务、运营空间租赁;企事业单位或SMB(Small Middle Business,中小企业)实现数据备份、数据归档、集中存储、远程共享;视频监控、IPTV等系统的集中存储,网站大容量在线存储等。⑵应用接口层:将云计算能力封装成一套标准的接口服务,包括广域网或互联网接入、用户认证、权限管理;公用API接口、应用软件、Web Service等。⑶基础管理层:负责对云计算的资源进行管理,采用合适的算法调度资源,提供高效的服务,包括集群系统、分布式文件系统、并行计算等。

二 系统分析与设计

(一)系统逻辑结构

云计算是对虚拟化集群数据中心的进一步封装。云计算服务提供商以虚拟机的方式向用户提供计算资源,用户无须了解虚拟机背后实际的物理资源状况。若某个云平台仅对某个集团内部提供服务,那么这个云平台也可以被称为“私有云”;若某个云平台对公众提供服务,那么这个云平台也可以被称为“公有云”(如图1)。

本系统主要技术是基于云计算实现,参考云计算应用模型,将本系统主要分为三层服务:云基础设施即服务(IaaS,Infrastructure as a Service)、云平台即服务(PaaS,Platform as a Service)、云软件即服务(SaaS,Software as a Service)。它们通过低层为高层提供服务,并且通过接口与其它层进行连接,减小了各层之间的耦合度,实现层内高内聚和层间低耦合。

(二)系统拓扑结构

基于虚拟化集群的数据中心体系结构,本系统采用VMware家族中数据中心虚拟化管理软件VMware vCenter进行管理。它通过划分资源池(一个资源池通常是一个集群)的方式对硬件资源进行重新组织,以虚拟基础构架(Virtual Infrastructure)的方式将计算资源暴露给用户(如图2)。

图2 系统拓扑结构

(三)系统功能结构

基于VMware ESX Server的虚拟化存储、虚拟化网络、操作系统和用户应用程序的体系结构(如图3)。

图3 VMware ESX Server虚拟化存储、网络与应用体系结构

VMware ESX系统主要功能模块包括以下7个部分:

⑴ESX/ESXi虚拟主机模块:物理服务器的虚拟化层。它将处理器、内存、存储器和资源虚拟化(交换机)为多个虚拟机,是vSphere服务器虚拟化基础架构组件。

⑵vCenter管理模块:用于集中管理ESX/ESXi及其上的虚拟机。可通过其配置ESX/ESXi Cluster,实现HA、DRS、vMotion等高可用性功能;通过扩展vCenter相关插件,可实现更多高级功能。

⑶vSphere Client客户登录模块:vSphere管理客户端。用于直接连接ESX/ESXi主机实现基本管理任务,或通过连接vCenter实现ESX/ESXi和VM的集中管理。

⑷VMware vMotion模块:可实现一台VM从一个物理ESX迁移到另一台物理ESX上。

⑸VMware HA模块:保证虚拟机的高可用性,实现双机互备。

⑹VMware DRS:实现在一个大的资源池分配给每一台VM的资源智能调优。

⑺虚拟化模块:主要用来分配和管理虚拟主机、虚拟网络和虚拟存储等。

三 系统实现

(一)ESX主机调配

VMware ESX是运行在物理服务器上的虚拟层,这个虚拟层将物理服务器上的处理器、内存、物理硬盘等资源进行抽象和映射,从而能够虚拟出多个虚拟机来。增加ESX主机主要步骤:

Step1 打开 vSphere Client,输入 IP地址或NETBIOS名称,并输入在安装vCenter Server的过程中设置的授权账号,并点击“登录”。登录后,在当前的控制台面板里,选定“主机和群集”,单击右键后,选择“新建数据中心”,命名为home。

Step2 在名称为“home”数据中心,添加虚拟机。单击右键,在弹出的列表中选择“添加主机”。弹出“添加主机向导”窗口,在“主机名”后面输入ESX01,并在授权下面的对话框中填写入相应的账户信息。输入root账号和对应的密码。

Step3 设置的是虚拟机的位置,保留默认配置。使用Telnet登录ESX主机,输入su-root切换至根用户,编辑“\etc\hosts”文件,添加vCenter和所有群集内所有ESX主机的IP地址、域名和主机名,保存退出。

(二)虚拟网络调配

在使用物理机时电脑通过物理网卡连接到物理交换机上进行联网,在虚拟机的一台服务器上通常会有多块网卡,虚拟机直接及虚拟机与物理机之间进行联网。接下来在两个ESX主机上创建虚拟网络,此将为创建iSCSI存储打下基础。

Step1 在主机和群集、数据中心vCenter下,选择exs01.vi.com,在右侧的控制板中,选择“配置”、“网络”并点右上角的“属性”,在弹出的对话框中,选择“端口”,点击“Add”。

Step2 在弹出的“添加网络向导”界面,选择VMKernel,建立的目的就是为了iSCSI存储以及为vMotion测试做准备,在“VMKernel—连接设置”界面,分别添入下列相应的内容,并且在“将此端口组用于vMotion”。点“完成”,会弹出警告,选择“是”并输入相应的默认网关的IP地址192.168.1.1(如图4)。

图4 vmotion Network界面

同样的操作在主机esx02上进行。在创建VMkernel时,网络标签要保持一致,均是for vmontion。若要删除虚拟网络,则单击右上角“移除”。

(三)存储调配

VMware vSphere的存储时存储虚拟机[6]的空间,根据存储的种类不同可分为本地存储和共享存储。

目前有很多用户会选择使用共享存储来承载虚拟机及其数据,目前VMware vSphere支持的存储有FC SAN、iSCSI SAN和NFSNAS三种。

由于FC SAN需要光纤支持,所以本系统采用ISCSI方式。接下向两个ESX主机添加iSCSI存储,在主机esx01.vi.com上完成以下操作:

Step1 在“主机和群集、数据中心home”下,选择 esx.vi.com,在右侧的控制板中,选择“配置”、“存储适配器”,在右侧面板,高亮“iSCSI软件适配器”,并在详细信息栏中点击“属性”。

Step2 在弹出的“iSCSI启动器”界面,选择“常规”项,在下栏内发现“iSCSI属性”后面都是空的,且“软件启动器属性”的状态也是禁用的。这里需要开启,点击“配置”以启用。

Step3 确定后,会回到起始界面。

(四)虚拟主机调配[7]

其中虚拟机管理 可以直接通过ESX主机或通过vCenter Server系统管理虚拟机。如果直接通过ESX主机管理虚拟机,则只能管理安装在该主机上的那些虚拟机及其资源。也可以通过vCenter Server系统管理虚拟机,则可以管理分布在许多ESX主机上的多台虚拟机及其资源。

1.安装虚拟机

用vSphere Client 5.0登录vCenter Server服务器。右键点击服务器树型列表中的服务器,选择“新建虚拟机”选项。然后按提示操作可以新建一个虚拟机并为其安装操作系统。

2.从vCenter Server中移除虚拟机

移除虚拟机包括从清单中移除虚拟机和从数据存储中移除虚拟机两种方式。从清单中移除虚拟机将从主机和vCenter Server中取消对该虚拟机的注册,此操作不会将其从数据存储中删除。虚拟机文件保留在同一存储位置,并且可使用数据存储浏览器重新注册虚拟机。前提条件是必须关闭虚拟机。

(五)备份和迁移功能

1.备份功能

在ESX Server中,VMFS上的每个虚拟机都有一个属于自己的目录,这个目录包含所有组成该虚拟机的文件。在表1中列出了组成一台虚拟机所需的部分文件。

表1 虚拟机文件目录清单

最简单有效对虚拟机系统进行备份办法就是将每个虚拟机相对应的文件拷贝下来。但是由于在运行的状态下的虚拟机并不是保持其硬盘配置文件的实时刷新,大量正在运行数据存放在内存之中,仅仅是保存硬盘配置文件并不能完全还原虚拟机故障前的状态。因此,使用该备份方案进行数据备份时虚拟机必须处于关机的状态。

2.迁移功能

Storage vMotion功能是VM集群功能的重要组成部分。主要配置包括移动虚拟机的主目录、配置文件(vmx)、日志、交换文件(VSWP)、快照、磁盘或者逻辑硬盘(vmdk)、操作系统磁盘、数据盘以及所有跟该虚拟机相关的文件。

选中vCenter服务器清单中的虚拟服务器,右键点击虚拟机选择“迁移”选项开始迁移按提示选择选项(此处选“更改方机和数据存储”)。选择迁移对象,选择主机或存储,并进行迁移(如图5)。

图5 迁移完成状态

(六)HA功能调配

VMware HA群集通过ESX主机集合在一起协同工作,这些主机为虚拟机提供更高的可用级别。当创建和使用新VMware HA群集的时候,选择不同的选项会影响群集对主机或虚拟机的功能及故障的响应方式[8]。创建HA集群的主要步骤如下:

Step1 选择“主机和群集”选项卡。右键单击左侧目录树中的“数据中心”,然后单击“新建群集”,单击“完成”。

Step2 使用vSphere Client将主机添加到群集。右键单击群集,然后单击“编辑设置”。在“群集功能”页上,选择打开VMware HA。

图6 勾选RDS\vMontion功能之前资源占有情况

Step3 根据需要为群集配置VMware HA设置,主机监控状态、虚拟机监控、虚拟机选项、接入控制。

四 系统测试

(一)性能测试

系统性能测试主要通过对集群资源的利用测试及外部请求测试两方面来分别测试系统的处理性能和吞吐量。集群资源利用测试通过使用vSphere vCenter 5.0将集群中的虚拟机加入RDS\vMontion功能前后的性能测试(如图6,图7)。

图7 勾选RDS\vMontion功能之后资源占有情况

(二)I/O测试

云服务集群数据中心I/O测试指标(如表2)。

表2 测试指标

通过测试可以得出平均响应时间与吞吐量之间的关系图,由于系统在登录进入主页时需要加载所有的文件(约1M)及权限处理,系统在登录时的响应速度并不快,而且随着用户数的增加其响应速度越长。在吞吐量方面,可以发现随着吞吐增加的响应时间缓慢的减少(如图8)。

图8 云服务集群I/O测试性能指标

五 结束语

基于VMware设置部署的虚拟化集群数据中心能有效整合多种应用,提高服务器集群利用效率。提高了集群整体性能,合理分配资源;提高了服务器管理效率,避免了资源闲置;降低了运行成本。实验表明虚拟化集群技术提高了系统I/O性能,增强了系统灵活性和可用性。

[1]曾龙海,张博锋,张丽华,等.基于云计算平台的虚拟集群构建技术研究[J].微电子学与计算机,2010,27(8):32-35.

[2]张宇.基于虚拟现实技术的研究性学习的设计与开发[D].武汉:华中师范大学,2009.

[3]车静光.微机集群组建、优化和管理[M].北京:机械工业出版社,2004:12-15.

[4]王庆波,金涬,何乐,等.虚拟化与云计算[M].北京:电子工业出版社,2009:106-110.

[5]修长虹,梁建坤,董鸿晔.云计算技术综述[J].网络安全与技术应用,2012,(3):9 -11.

[6]NAHUM NELSON.高性能存储虚拟化架构[J].软件和信息服务,2007(10):65-67.

[7]怀进鹏,李沁,胡春明.基于虚拟机的虚拟计算环境研究与设计[J].软件学报,2007,18(8):2016 -2026.

[8]李吉勇.面向云计算环境的校园网设计方法研究[D].苏州:苏州大学,2013.

猜你喜欢

群集虚拟化数据中心
酒泉云计算大数据中心
浅析数据中心空调节能发展趋势
Cecilia Chiang, pioneer of Chinese cuisine
关于建立“格萨尔文献数据中心”的初步构想
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
在vSphere群集中配置EVC
H3C CAS 云计算管理平台上虚拟化安全防护的实现
基于自组织结对行为的群集机器人分群控制方法
存储虚拟化还有优势吗?