APP下载

基于云计算IaaS产品测试技术的研究

2014-02-13徐晓钟李建军

电视技术 2014年15期
关键词:服务器物理测试

余 凤,徐晓钟,李建军

(1.上海师范大学 信息与机电工程学院,上海200234;2.中国电子科技集团公司第32研究所 国家工程软件产品质量监督检验中心,上海200233)

责任编辑:魏雨博

云计算是一个复杂、动态、分布式的体系结构,由大量异构软件系统协同工作,并因其优异性得到了IT界和学术界的一致认可。在IT界中,各大云计算先驱如Google、IBM、Amazon等公司均表现出了极大的投资热情,纷纷推出具有自己鲜明特色的云计算服务平台。学术界也从理论方面对仿真、性能优化、技术融合、软件测试、漏洞检测等诸多问题进行了深入研究,提出各自见解,推动了IT领域的信息技术变革浪潮。然而软件测试的研究作为保障云计算服务质量和优化调度云计算资源的前提,面临着前所未有的挑战[1]。

目前,云计算测试问题得到了广泛的关注,逐步发展成一个新的研究领域——云测试[1-4]。对于云测试的概念,结合文献[1]和[2]的不同理解,可以将其分为两个方面:“云测试”和“测试云”。前者突出了利用利用云计算环境资源开展测试服务,而后者则是针对“云”中的平台和基础设施以及对“云”本身环境进行测试。根据目前的发展状况,“云测试”的研究占据主体地位,“测试云”则几乎被忽略。因此,本文对于“测试云”进行了一个初步探索。

IaaS是云计算的基石,接近物理硬件资源。IaaS层能否被合理使用,直接关系到云计算其他几个层次服务使用的可靠性和稳定性,故针对IaaS层的测试研究不可忽视。

1 IaaS概述

IaaS是云计算体系结构的最底层服务。如图1所示,它是由云服务厂商通过虚拟化的相关技术提供给用户的基础设施硬件资源,包括处理、存储、网络以及其他基本的计算资源,方便用户能够部署和运行操作系统及应用程序,却无需管理和控制任何云计算基础设施。

图1 IaaS的体系结构图

该领域最典型的应用例子是Amazon的EC2、Apache的开源项目Hadoop、Microsoft的Windows Azure。EC2能够根据需要伸缩计算资源,它提供一个虚拟的集群环境,让用户自主创建服务器镜像AMI,操作云计算平台上的各个实例,使得云操作系统环境运行自身的应用程序。Hadoop本身实现的是分布式文件系统(HDFS)以及计算框架MapReduce。此外,Hadoop还包含一系列扩展项目,包括分布式文件数据库HBase和分布式协同服务ZooKeeper。Windows Azure可看成一个云计算服务的操作系统,用户以此为桥梁,在微软云数据中心运行Windows应用程序和存储应用程序数据。

2 IaaS层测试关键功能

针对IaaS层的测试涉及服务平台内部结构、物理资源管理、虚拟机管理、功能扩展和资源配置等方面测试问题。IaaS层是将一些大型服务器集群相互连接通信组成一个数据中心,虚拟化成共享资源池,通过Internet连接为用户提供按需服务。研究分析图2的IaaS部署图,一般需要考虑以下几个主要方面的测试内容。

图2 IaaS部署系统图

2.1 物理资源管理测试

IaaS基于OPFENStack或Eucalptus平台开发实现,VMM技术架构采用Hypervisor模型、宿主模型、混合模型中的一种,服务器兼容主流系统,如Windows、Redhat、Suse等Linux操作系统。物理服务器至少支持Intel VT-x或AMD-V等虚拟化功能,能够实现对主机、网络、存储等计算资源的运算能力虚拟化再进行统一分配。即物理资源虚拟化后,VCPU应分配标识信息(ID号、隶属于哪个客户机等)、地址空间、IP地址、状态信息、虚拟寄存器信息等;虚拟网络应分配IP地址、标识号、地址空间、虚拟路由、虚拟网卡等;虚拟存储应分配IP地址、标识号、地址空间等。这些信息应被记录在日志中作为备份,同时记录下虚拟化日期、时间等信息,以便将来在出现故障时能快速定位减少维修时间。云平台在提供服务时,可根据需要分配由唯一信息标识的虚拟资源给用户使用。

物理服务器的管理包括设备添加、部署、配置和拆除等能力。支持新增物理服务器的“一键入云”自动化安装、配置和特殊情况下的人工操作;支持为集群中的每个物理设备建立使用档案,管理员可以通过Web页面查看档案中的序列号、设备类型、制造信息和配置信息及操作日期、时间和操作内容等;支持服务器运行状态信息备份,在故障发生后,能将备份信息全部迁移到另一台完好的服务器,自动安装部署运行,极其短暂的中断时间不影响整个系统的运行。

物理设备控制是管理人员可以以浏览器的方式登录资源管理平台,根据需要远程开启、关闭物理机,在指定的服务器上创建、卸载虚拟机,控制虚拟机的启停,创建虚拟机快照,实现人工智能化管理。在有新设备接入集群时,能自动识别主机。

物理存储设备管理包括对存储介质、存储控制器和存储网络的管理和控制,物理网络管理包括对物理网络设备如网卡、交换机、路由器等的管理、控制和维护。支持Web页面监控设备,以图表的方式显示存储空间总量和已使用量,为用户提供物理网络拓扑图,实时查看网络状态(IP、网速、流量、虚拟防火墙个数等),并能进行更改、开启和关闭等操作;支持对数据自动进行冗余和快照,智能隔离故障设备和快速恢复资源。

2.2 虚拟机管理测试

虚拟化技术[5-6]是云计算的关键技术。在服务器虚拟化过程中,虚拟化软件需要实现对硬件的抽象,完成对资源的分配、调度和管理,做好虚拟机与宿主操作系统及多个虚拟机间的隔离。

虚拟机资源管理提供虚拟机全生命周期创建、运行和删除中各个阶段的相应管理功能,支持主机选择,提供基于VNC的虚拟机连接机制。管理员可以在一台物理服务器中创建多个相互独立的虚拟机,并控制虚拟机启动、停止、重启、暂停、挂起、恢复、克隆、删除、备份、迁移,动态修改参数配置(VCPU个数、内存大小、硬盘数量和网卡个数等),更改操作系统和应用程序。虚拟机创建可以基于模板定义,将创建好的或常使用的虚拟机保存为可复用的模板,用于快速创建具有相同应用和配置的虚拟机,形成虚拟机集群。虚拟机暂停是暂停计算处理,保存当前状态至内存,内存处于通电状态;而虚拟机挂起则是保存当前状态至硬盘,虚拟内存也清空。迁移方式支持运行状态下的在线热迁移和关机状态下的离线迁移;数据备份包括热备份、冷备份、增量备份、全备份等方式。

虚拟机集成管理是指系统可运行VWMare、XenServer、Xem、KVM、微软Hyper-V等虚拟服务器系统。虚拟机镜像管理不仅兼容包括raw、vhd、vmdk、iso等多种格式,还支持对镜像格式的操作系统和软件进行安装操作,并对镜像进行复制、删除等操作。

虚拟机支持3种访问方式:系统级访问、应用级访问和特权级访问。不同的方式设定相应的对虚拟机的系统进程、用户进程、普通进程、一般文件读写及执行等的访问权限。支持针对虚拟机的密钥管理,即用户申请创建虚拟机时,每台虚拟机都随机生成高强度密码,而用户只可凭此私钥访问及获取虚拟机资源。

用户可以指定每台虚拟机使用资源的优先级。当多个虚拟机共享内存资源,特别是存在“资源复用”的情况时,级别高的虚拟机能够优先分配到资源,以体现不同的服务水平协议(SLA)。同时虚拟机的最高性能与物理服务器中同时运行的虚拟机的数量和负载情况无关,即当各虚拟机资源分配确定后,无论其他虚拟机是忙或闲,都不影响本虚拟机的性能。

虚拟机网络管理实现物理网和虚拟网之间的互通,保证虚拟机和物理服务器进行通信,实现内部网络与外网(含企业网、互联网)间的映射和必要的安全保障。根据用户访问和资源控制需要,切实完成网络隔离和带宽控制等,提高资源安全性和均衡性。用户可通过可视化界面查看网络拓扑图,明确网络划分情况、IP使用情况及各种虚拟设备的在线状态,从而及时应对突发情况。

虚拟机存储管理[7]指从存储资源池中创建存储卷实例,将其挂载到虚拟机或者从虚拟机上卸载。提供包括传统的NAS及SAN、分布式存储、本地存储等在内的多种存储方案;支持为存储卷创建快照,用于故障时快速恢复数据信息;支持跨物理机和虚拟机访问共享虚拟磁盘和应用程序数据,极大扩展云平台应用范围;提供标准化接口,实现本地存储和第三方存储服务接入,并能对两者进行有效管理;支持对提供的海量存储数据存储系统的集成和接入;支持所使用的计算资源存储容量不足时,随时应用弹性块存储来创建更大的存储空间,源于弹性块存储服务使用的是共享存储设备,不受本地服务器硬盘容量的限制。

2.3 策略管理测试

云计算中的关键功能包括资源的弹性伸缩、动态调度、租户隔离、负载均衡等,这些功能的实现离不开策略的制定。故云平台应提供以下至少5种策略管理。

1)弹性伸缩管理。华云在其IaaS技术白皮书中定义了3种集群伸缩模式:横向模式(通过增减实例数量满足需求)、纵向模式(通过增减性能满足需求)、动态迁移(故障情况或反应不及时的情况下通过将实例迁移到性能更好的物理机上)。管理员自由组合模式,提供给用户相应的策略以满足应用需求。

2)负载均衡策略[8-9]。包括CPU占用最少策略、内存使用最少策略、访问量最少策略、分布式流量控制策略[10]、分布式转发策略等集中式的和分布式的策略。基于DNS的策略和集中式的基于转发器的策略是常见的集中式负载均衡策略。

3)虚拟机调度策略。主要指将虚拟机创建在哪个物理服务器上的策略。用户可智能调度硬件资源,以最优的方式完成当前业务需求。在测试集群可使用“节点模式”(在创建虚拟机时尽量将依托物理机资源用尽后再用下一台),而在生产集群中使用“贪婪模式”(虚拟机尽量平均分布在每台物理机中,减少相互影响)。除此之外,还有“利旧优先”、“利新优先”、“轮循使用”、“能耗最大优先”、“能耗最小优先”等高级策略。

4)能耗管理策略。自动判断云平台中的物理服务器是否处于空闲状态,若是则自动进入休眠模式节省电量,若不是,则可通过向服务器发送节电指令,使其CPU在夜间或非业务高峰期降频实现节能。

5)流程服务支持策略。基于流程引擎,提供内置的资源申请流程、事件管理流程、问题管理流程和变更管理流程的运维流程支持。

2.4 系统管理测试

物理设备和虚拟机的监控管理保证管理员可以以可视化图形界面监控资源的实时状态,如CPU的使用率、内存和存储的使用量及读写操作频率、网络的输入输出流量、带宽及路由状态,同时系统可生成数据查询报告。资源中心的全局视图以可下钻的方式展现目前云平台中资源情况,如有多少个集群,每个集群包含哪些物理机,每台物理机上又跑了哪些虚拟机,虚拟机又运行了哪些应用程序等。全面的监控措施可保证故障发生时快速定位错误,快速修复,保证平台正常运行。

告警管理支持通过日志记录、阈值设置等方式监控物理和虚拟资源,当接近或超过阈值时,通过短信、邮件等方式发送告警信息,确保管理员能够在第一时间收到故障信息,对设备进行维护。

基于角色的用户管理包括角色的增删改查(用户的注册、审批、查询、修改、停用)、权限设定(资源的权限分配)和多种用户接入控制(用户/密码、Ukey认证、手机验证等)。可实现访问接口管理是IaaS对外提供包括基于浏览器的图形化界面、命令行界面和开放可编程接口在内的标准化接口,支持组合角色的访问控制,支持用户将已有的应用环境整体迁移至云平台,保护用户投资。

日志管理至少提供INFO、Debug两种基本运行日志,记录下用户行为、系统配置变更信息、系统错误和告警事件,方便管理员查询和回溯用户事件及监控系统运行。计费管理指管理员可以内部定制云平台服务的使用费用规则(计费方式、费率、折扣等),通过界面反馈给用户消费信息,在费用不足时提醒用户及时充值,对高优先级用户实行宽容措施,可欠费一定期限。

报表管理指系统提供部署服务相关的报表:统计和报告物理机和虚拟机数目、部署实施情况;提供监控和管理服务报表:统计和报告服务器和虚拟机的资源利用率情况;提供流程服务报表:统计和报告服务流程执行的相关情况。每张报表都支持下钻,使服务提供商可以针对这些报表了解IT资源现状,预测潜在风险,评估扩容需求。

2.5 安全管理测试

安全问题[11-14]自云计算提出以来就一直困扰着云服务提供者和使用者。云计算不仅面临着传统的网络安全问题,也面临着技术创新随之而来的一系列新安全性问题。2011年4月21日,Amazon出现其史上最严重的一次宕机事件,Amazon云数据中心出现大范围宕机,导致多个与之相关的网站受到影响。2010年2月25日,谷歌应用程序开发者服务Google App Engine出现宕机,原因是一个备份数据中心发生故障。因此,保证云计算系统的安全性成为热点。

在网络安全方面[15],支持以服务器、虚拟机或VLAN为单元进行防火墙设置;支持在云平台入口放置防火墙,用于病毒检测、查杀和流量检测等功能;支持在云平台内部设置多台物理防火墙或虚拟防火墙,用于对内部网络流量的管理和过滤;支持网络接入控制,防止非法占用IP资源和内部设备的非法跨网段接入,且对虚拟机MAC地址与IP地址进行强绑定,在发现任何一项被非法篡改时立即断开网络连接;支持以NetFlow等技术监控网络中数据流量,据此对各种业务应用占用网络带宽的情况进行分析;设定流量阈值,实行及时进行预警功能;提供基于物理网络的网络隔离和带宽控制功能,实现多租户环境下的物理隔离,更好的保护租户的应用和数据。

在数据保护方面,每个存储卷设有相应的配额和访问权限,只有授权用户才能读写数据;支持用户对关键数据进行加密存储;支持数据的自动化冗余,数据被均匀地保存在多台存储节点中,并且每一份数据都可以配置成2~10份以上的自动copy,即使单台存储宕机,上层应用也不会受到任何影响;支持为特定租户划分独立物理存储,实现用户敏感数据的物理隔离;支持虚拟机和宿主操作系统及宿主机间的隔离,保证数据隔离;支持对用户常用登陆地点、状态信息的分析记录,当出现改变时,对用户再次进行本人确定,保证数据的安全性。

3 IaaS测试亟待解决的问题

上述所提的测试点是针对IaaS的主要功能点,覆盖这些点的测试虽然在一定程度上可以得到一个优化的IaaS服务,但仍然存在以下不足:

1)性能测试[16]也是IaaS测试不可分割的一部分,但目前针对其的研究都是围绕单一的Hadoop框架展开的[14,17],而实际中则存在不同类型的云系统。

2)IaaS的五大安全问题备受关注:数据泄露的防护和数据使用的监视、认证和授权、事件响应和取证功能(端到端的日志和报告)、基础架构的强化、端到端的加密。但在云计算中存在多级服务委托关系,底层由大量异构、复杂系统组成,故系统间存在未知漏洞和不明确的错误,这都为全面的安全性测试设定了困难,影响了服务质量的可靠性。

3)云测试虽日益受到关注,但缺少统一的、标准的、详细的测试规范,同时针对IaaS的研究主要集中在性能测试问题,没有分析考虑不同平台环境下的功能测试、兼容性测试、可靠性测试等问题。

4 小结

随着云计算理念的不断深化,云测试将得到进一步的发展。除了基于云计算资源的软件测试获得过多关注,针对“云”平台和基础设施的测试也将逐步被重视。IaaS是云平台的底层架构,其性能好坏影响上面两层服务质量的可靠性。针对IaaS层的测试,是“云”平台测试的一部分。本文从IaaS系统部署的不同层面详细分析了其关键测试点,为实际的测试提供了具体依据。在未来的研究中,将根据云计算IaaS产品的技术实现方式,研究关键技术的验证技术。

[1]李乔,柯栋梁,王小林.云测试研究现状综述[J].计算机应用研究,2012,29(12):4401-4406.

[2]Cloud testing[EB/OL].[2014-02-23].http://en.wikipedia.org/wiki/Cloud_testing.

[3]唐滔,邱旭东.初探云计算在测试领域中的应用[J].科技资讯,2011(15):18.

[4]潘慧,朱信忠,赵建民,等.基于Hadoop云测试体系架构的设计[J].计算机工程与科学,2013,35(10):72-78.

[5]叶可江,吴朝晖,姜晓红,等.虚拟化云计算平台的能耗管理[J].计算机学报,2012,35(6):1262-1285.

[6]温少君,陈俊杰,郭涛.一种云平台中优化的虚拟机部署机制[J].计算机工程,2012,38(11):17-19.

[7]王培海.基于Android的移动云存储系统设计与实现[J].电视技术,2011,35(11):94-97.

[8]陈俊丽.基于云计算服务的弹性负载均衡机制的研究与实现[D].四川:城都理工大学,2013.

[9]杜壵,郭涛,陈俊杰.云环境下机群弹性负载均衡机制[J].计算机应用,2013,33(3):830-833.

[10]宋昕,宋欢欢.云计算环境下的流量控制额负载均衡策略[J].电子设计工程,2011,19(1):112-115.

[11]冯登国,张敏,张妍,等.云计算安全研究[J].软件学报,2012,22(1):71-83.

[12]杨先强.针对云计算IaaS层的高危安全漏洞检测工具的设计与实现[D].北京:北京邮电大学,2012.

[13]俞能海,郝卓,徐甲甲.云安全研究进展综述[J].电子学报,2013,41(2):371-381.

[14]邓谦.基于Hadoop的云计算安全机制研究[D].南京:南京邮电大学,2013.

[15]郎登何.基于点集拓扑群分形变幻的云计算加密方法[J].电视技术,2013,37(15):102-106.

[16]贺秦禄,李战怀,赵晓南,等.云存储性能评测技术研究[J].计算机应用研究,2013,30(5):1357-1364.

[17]PAN X H,TAN J Q,KAVULYA S,et al.Ganesha:black-box diagnosis of MapReduce systems[J].ACM SIGMETRICS Performance Evaluation Review,2009,37(3):8-13.

猜你喜欢

服务器物理测试
只因是物理
幽默大测试
处处留心皆物理
通信控制服务器(CCS)维护终端的设计与实现
“摄问”测试
“摄问”测试
“摄问”测试
三脚插头上的物理知识
中国服务器市场份额出炉
得形忘意的服务器标准