OpenStack私有云的测试与评估
2016-12-30陈凯中国信息通信研究院技术与标准研究所高级工程师
陈凯 中国信息通信研究院技术与标准研究所高级工程师
OpenStack私有云的测试与评估
陈凯 中国信息通信研究院技术与标准研究所高级工程师
OpenStack建设私有云已经成为一种趋势,因而产生了对OpenStack私有云进行测试与评估的需求。本文介绍了OpenStack私有云的发展现状,分析了测试和评估的需求,最后对测试方案和评估方法进行了研究和分析。
OpenStack;私有云;测试;评估
1 引言
OpenStack由NASA(美国国家航空航天局)和Rackspace(云解决方案公司)合作开发,经Apache2.0许可授权,以Python语言为基础,由多个组件组成的完全开源项目。它提供了一个部署云的操作平台或工具集合。截至2015年底,OpenStack社区成员已经超过3.2万名,拥有来自近200个国家的开发者和用户,项目代码总行数超过400万行,支持企业550余家。OpenStack正凭借其开放先进的架构、高效的社区开发、灵活的部署模式,成为全球发展最快的云计算开源社区。
根据Talligent公司发布的《2016年OpenStack状态报告》,“OpenStack正在逐渐成为所有企业创建私有云和混合云时的首选,缺乏运营工具和管理成本结构问题已经成为了OpenStack部署中所面临的两大主要挑战。”这份报告显示,熟悉OpenStack并正在使用的占30%,正在评估的占32%,熟悉但还没有部署的占36%。调查结果还显示,OpenStack的主要推动因素包括了受访者的感受,例如认为公有云成本仍然过高(61%),以及渴望使用OpenStack云提升IT服务交付的响应能力(59%)。61%的受访者部署OpenStack是为了应对公有云方案的开销。54%的受访者认为,在未来5年内他们所使用的云均为私有云,或是主要为私有云(见图1)。
图1 推动部署OpenStack的积极性和需求
只经过了6年时间,在用户感兴趣的云服务(包括公有云和私有云)排名中,OpenStack的私有云已经排名第二,并且与排名第一的AWS公有云相差不大。与公有云相比,私有云安全性可以更容易地控制,因此在国内,OpenStack私有云的发展也越发迅猛。2016年以来,国内已经开始出现OpenStack千万元级别的订单。近日,中央国家机关2016软件协议供货虚拟化软件采购项目中标名单公布,不仅有华为、烽火等大型网络通信公司的OpenStack解决方案,也有多家国内的初创企业凭借其优秀的OpenStack解决方案成功入围。
2 OpenStack私有云的测试和评估需求
OpenStack的优势在于其组件化的框架,因为技术框架允许自由的选择可用组件,私有云落地方案中,可以只选择需要的组件进行安装。因为框架允许插入不同组件,所以OpenStack社区也获得了更多厂商的支持,社区活跃度也比较高。在企业实施落地方案的时候,可以有更多的选择余地,对遇到的问题,也有了更多、更快的响应。
世界范围内数以万计的工程师基于OpenStack构建了一套又一套云环境,这些云环境虽然都是OpenStack,但又各有不同。OpenStack中有上千配置项,计算、存储、网络、负载均衡、数据分析、容器服务等每一块又可以对接不同的后端,各种后端的配置又有诸多技巧。
测试可以让我们了解OpenStack环境的极限和瓶颈,了解OpenStack系统的稳定性和易用性,了解两个OpenStack集群是否能很好地相处,了解在OpenStack上花的投资是否真的能够帮到我们的业务,并给用户决策提供依据。
由于OpenStack的产品化的复杂性,搭建落地到将来的升级,以及后续的二次开发,都需要进行不少的开发和测试人力投入。而且OpenStack社区非常活跃,版本升级周期较短,每半年发布一个新的版本,每一个新的版本都会加入很多新的特性。对于互联网公司来说,即使有着比较成熟的运维团队和研发团队,仍然会有很大的压力。而对于那些希望采用OpenStack私有云的企业来说,测试与评估将面临更大的困难。
如何能够减轻测试和评估的压力?第三方权威测试机构的公开测试是一个很好的尝试。在客观、公正的第三方权威测试的基础上,不再需要对OpenStack私有云进行单独测试,只需要参考权威测试的结果完成采购即可,减少了目前机制下的大量重复劳动,有效提升了设备采购以及建设效率。
3 OpenStack私有云测试方案
私有云测试方案除了包含功能和性能(压力)测试之外,还应包括互操作性、可用性、运维能力、安全性、资源调配能力和异构虚拟化主机等多个方面。功能性和集成(部署、API互操作性、压力测试、资源调配能力)测试可以采用社区提供的自动化测试套件,可用性、运维能力、安全性和异构虚拟化主机等方面需要根据实际的测试环境进行技术测试。
3.1 功能性测试(Tempest)
Tempest是随OpenStack开发的测试套件,能够对OpenStack各个Service和Api进行全面测试。Tempest项目发布在OpenStack的Github上,和OpenStack代码有相同的分支,用户可以根据自己的OpenStack环境Clone相应的分支测试当前OpenStack环境。
Tempest也是OpenStack的集成测试框架,它的实现基于Python的Unittest2测试框架和Nose测试框架。Tempest对OpenStack终端发起一系列API请求,并且对终端的响应进行验证。Tempest通过Config文件来描述整个测试环境,包括Compute API端点,KeystoneServer以及GlanceServer安装的镜像的UUID等信息。Tempest可以自动查找当前目录下所有以Test开头的Python源文件,并且按此规则递归查找子目录;所有以Test开头的Python源文件里所有以Test开头的Function和Class,以及继承自Unittest.TestCase的Class都会被执行。
在Tempest基础上可以做二次开发,开发稳定性测试工具,测试系统在OpenStack有负载的情况下的可靠性和可用性。
3.2 集成测试(Rally)
Rally集成了部署、API测试、压力测试等功能,但一般用Devstack部署,Tempest做API测试,因此Rally常用于模拟高并发场景的压力测试和资源调配能力测试(见图2)。Rally测试OpenStack在并发下API的相应时间和请求成功率,从而测试出OpenStack的规模和性能。
图2 Raliy集成测试架构图
Rally是OpenStack的一个基准测试即服务的项目(Benchmark-as-a-Service)。目的在于向社区提供一个能够在真实的部署环境上执行特定的、复杂的且可重复的测试用例的基准测试工具。
3.3 可用性
(1)物理节点高可用
验证物理节点在计算、存储、网络、控制节点出现单点故障时,是否能保证平台正常的服务能力,以及工作负载是否能够根据实际负载进行调整。
(2)虚拟机高可用
验证虚拟机所在节点故障是否可以在其他节点启动。
在线迁移
OpenStack云平台环境上线运行后,考虑数据中心服务器的负载均衡和容灾的需要,经常需要在不停机的状态下完成虚拟机跨物理机和跨数据中心的迁移。实现了共享存储后,整个迁移过程会很快,用户几乎感知不到迁移过程的影响。
宕机迁移
在虚拟机所在的宿主机因为各种原因宕机后,即便虚拟化服务和虚拟机本身没有出问题,也不能对外正常提供服务,可以借助物理机宕机迁移的策略恢复虚拟机的工作。
3.4 运维系统功能
资源监控,验证解决方案是否支持虚拟机的CPU、内存、存储、网络监控和资源池CPU、内存、存储、网络使用情况,是否具备租户的逻辑网络拓扑功能。
故障管理,验证解决方案具备故障告警能力,包括告警级别划分、告警阈值配置、服务台集中告警管理、邮件或短信通知告警的功能。
日志管理,验证解决方案具备日志管理能力,包括查看日志、下载日志、日志远程同步的功能。
权限管理,验证解决方案具备平台管理员和租户管理员的管理功能。
3.5 安全性
验证解决方案是否包含代码漏洞和后门程序,是否在网络层实现安全隔离。
3.6 异构虚拟化主机
验证解决方案是否具备虚拟化主机异构能力,是否可以纳管Vmware等虚拟化平台。
4 OpenStack私有云的评估方法
4.1 私有云评估方法应考虑的因素
与公有云有统一的服务协议不同,私有云属于客户定制化服务,无法确定统一的服务承诺,因为不同客户通常会有不同的需求。但是随着公有云的不断深入人心,私有云的服务协议也应逐渐向公有云靠拢,在满足行业规范性要求的基础上,将用户最关心的一些服务指标明确地告知用户,因此评估方法的维度应包含以下3个方面:
(1)企业信息真实性披露,即参评企业基本信息和业务基本信息是否可信。
(2)解决方案质量评价,即开源云计算解决方案是否达到基本的软件产品能力要求。
(3)产品服务指标的完备性和规范性,即参评云计算产品服务协议是否就用户关心的关键问题都做了承诺或告知,承诺或告知的描述是否规范。
第一个维度的评估方法
主要采用材料审查的方式,对参评企业基本信息和业务基本信息的真实性进行验证。企业基本信息包括经营资质、规模、人员等,业务基本信息包括业务名称、起始时间、支付方式等。通过的准则是参评云业务提交的基本信息材料必须真实,所有必选项必须通过。
第二个维度的评估方法
采用技术测试和材料审查结合的方式,对参评解决方案的云平台基础功能、运维系统功能、文档完备性、可用性、互操作性、安全性、资源调配能力、资源调度效率进行技术测试,产品要具备必要的功能并达到相应的可靠性和用户体验性能。
第三个维度的评估方法
本维度考察厂商是否就用户关心的所有指标和条款进行了承诺或说明,承诺或说明的出处为服务协议(含SLA)和其他说明文档,如白皮书等。需承诺或说明的指标和条款为推荐的所有指标项和条款项。
4.2 私有云评估方法
2016年3 月,云计算开源产业联盟组织了20多家会员单位共同制定了可信云开源解决方案评估方法。此方法突出了云计算和开源的两个特征,技术测试结合材料审核,对包括功能性、可维护性、利用性、可靠性、互操作、安全性、可扩展性、兼容性、性能、产品周期、运维服务和权益保障,有12大类43个指标进行测试。
2016年6~8 月,云计算开源产业联盟开始组织OpenStack私有云的评估认证工作,由中国信息通信研究院负责测试评估,是可信云认证体系的新的品牌。旨在为了引导云计算开源厂商提升和规范自身的技术与服务能力,在市场树立云计算开源技术和服务体系标杆,推动我国私有云发展,建立和完善云计算开源的新体系。
首批通过认证的开源解决方案的是华为、华三、烽火、EasyStack、UMCloud、云途腾、中联润通7家厂商。
5 结束语
随着OpenStack披荆斩棘,在连续赢下银行、政府、电信等行业新的客户案例的同时,OpenStack已经成为业界最成功的私有云技术方案。但是目前真正能够起到实效的OpenStack用例数量还不是特别多,在稳定性、完整性、高可用性、易用性、双活和容灾等方面还存在不足。
公有云和私有云之间并不是那种直接对立的关系,而是一种相辅相成的关系。公有云先一步蓬勃发展,但是发展到一定程度的时候,私有云的好处就会凸显出来。无论是从架构上、软件上、应用上、乃至各个层面上,用户在已经完全习惯和熟知云概念后,从公有云转到私有云其实是一件很容易的事情。私有云的好处首先在于安全,对企业核心数据的保护,是现在很多国内外的企业优先考虑的要素,较低的成本也是一个重要的因素。
2016年被很多人称为混合云元年,也说明了私有云与公有云相互结合的重要性。考虑到目前市场、政策环境等因素,OpenStack私有云仍然拥有着良好的发展机遇,因此OpenStack私有云的测试与评估还有许多工作要做,测试方案和评估方法还需要不断地完善和发展。
2016-11-20)