1、引言
1.1 研究背景
在信息化、大数据飞速发展的大背景下,人们对数据的运算、存储处理越来越频繁,同时对数据处理的效率、数据安全有了更高的要求。数据中心作为数据运算和存储的主要基地在解决如何有效的应对用户对数据业务飞速的增长,提供高效的个性化服务的同时,如何有效控制数据中心的能耗一直也是我们研究的领域。随着虚拟化技术研究的深入和应用的推广,为数据中心解决资源利用效率、数据处理能力、平衡和实时提供个性化资源服务以及降低集群能耗领域给予了很好的理论支持和研究方向。
1.2 主要面临的问题
作为一个新技术在传统信息中心的应用研究必然面对一些技术上和理论上的难点,主要有以下几点:
(1)数据中心现有的设备型号、处理能力不统一。这是云计算技术发展必然面对的一个问题,时代的发展,信息化的加速,使得设备的更新换代速度已超出了“摩尔定律”的预期,新的设备投入使用的同时旧有的设备还广泛的在提供服务。
(2)目前虚拟化部署方案有很多,OpenStack技术作为一个开源虚拟化技术项目从2011年开始在全世界得到了很好的发展和广泛的赞誉,但是同所有的开源项目一样,在享受开源所提供所有优越性的同时就必需去面对技术开发鱼龙混杂的环境和版本更新过快以及不稳定的问题。
(3)虚拟化技术做为一个前沿科技领域的技术其核心技术主要掌握在欧美大型互联网企业手中,例如:Amazon、Google和AT&T等。在我国生产实践中尤其是大型数据中心中很少应用,我们找不到一个现实可行的学习和参照模板。同时学习资料有限,并且大多数为外文文献。在技术资料支持上面临少和难的困局。
2、OpenStack技术系统框架
OpenStack是由Rackspace和美国国家航空航天局(NASA)共同开发的云计算平台,帮助服务商和企业内部实现类似于Amazon EC2和S3的云基础架构服务(Infrastructure as a service,IaaS)自2010年10月开始,OpenStack至今已经发布了Austin、Bexar、Cactus、Diablo以及Essex这5个版本。由于OpenStack采用Apache2.0许可证发布源代码,因此在短短两年多时间内就吸引了IBM、Cisco、HP等175个企业及组织的加入。
OpenStack采用模块化设计,它的3个主要模块Nova(计算服务)、Swift(存储服务)和Glance(镜像服务),既可以组合在一起联合工作,提供完整的云基础架构服务;又可以独立工作,分别提供虚拟化、云存储和镜像服务。
甘肃省计算中心经过多年的发展,在数据处理和高性能计算方面积累了丰富的经验,同时我们正积极着手于虚拟化和云领域的研究。我们将未来统一规划的云计算重点实验室架构设计如下:
本次OpenStack在集群一箱刀片上的部署主体结构设计如下:
3、OpenStack的部署及能耗测试
3.1 基本的部署过程
本文采用OpenStack源代码安装的方法进行实验,使用的系统为12.04版Ubuntu,OpenStack版本为Essex,部署过程共分为5个部分,分别为Keystone的部署、Swift的部署、Glance的部署、Nova的部署和Horizon的部署。部署的平台是甘肃省计算中心高性能集群一箱十个刀片。刀片箱硬件基本配置如下:
OpenStack在高性能计算集群一箱刀片上部署采用分布式、结构化的安装方案,其基本部署过程如下:
(1)Keystone的安装,Keystone的部署流程如图所示:
(2)Glance的部署。Glance的部署主要有以下几个步骤:
(3)Nava的部署。Nova为OpenStack IaaS服务项目工程,可提供包括虚拟机实例、网络、云硬盘(Volume)等的管理,是OpenStack三个核心工程中最为复杂的一个,目前扩展包括Quantum和Melange等孵化项目。部署主要有以下几个步骤:
(4)Horizon的部署。Horizon为OpenStack的Web服务工程,采用Django结构开发。本文采用源码方式安装,即采用git clone方式获取官方的Horizon源码,由于其自身具备Web服务,无需通过Apache启动。Horizon的配置文件为源码下的local_settings.py,主要修改包括设置参数OPENSTACK_HOST指向 Keystone的IP地址,本次实验IP地址设置为192.168.0.40。
OpenStack在高性能集群上配置完成后,通过web登录Horizon,地址即192.168.0.40,便可得到如下展示的客户端虚拟机视图:
3.2 定制开发环境镜像
当OpenStack具备了控制节点、计算节点以及镜像服务后,管理员就可以为云平台定制所需的镜像,使得云平台可以向用户提供虚拟化实例。定制镜像流程如图所示:
在此次实验中,创建虚拟磁盘及安装虚拟机的操作与Linux下运行VM一致,均采用KVM虚拟机实现,直接以正常方式启动KVM完成镜像的制作。在制作镜像的过程中,为镜像定制了软件和服务,即根据实验室的开发需要,在虚拟机上安装相应的开发环境或开启相关服务。这样制作的镜像在被实例化后,我们在之后的工作中直接使用了完善的软件平台服务,避免了逐一安装软件的繁琐工作,提高了工作效率。例如制作Linux镜像时,可以安装并开启VNC、远程桌面协议(RDP)等服务,这样用户就可以通过远程可视化登录使用Linux实例。
3.3 高性能计算集群部署虚拟化技术前后能耗分析
在高性能集群上部署OpenStack虚拟化技术之后,将原来分离的硬件个体形成一个虚拟的资源池,可以实现资源的瞬间迁移和容灾备份。我们以一个最直接的电能消耗来看看部署虚拟化后集群的节能方面突出的表现。
从我们长期的检测记录结果,中心的刀片资源,包括计算和存储资源,由于用户的使用习惯,其消耗使用情况有如下特点:
在高性能计算集群部署虚拟化技术之前,由于分布式网格计算的要求,所有的十台刀片白天和夜间全部开启,并且同时在做并行运算,其一昼夜的功耗:
理论值为:3×2×24=144 KW
考虑到即使作业满负荷其功耗也未到达电源模块的最高功率,其峰值为总模块功率的75%,所以实际值为:
144KW×0.75=108 KW
在高性能集群上部署OpenStack虚拟化技术之后,在虚拟架构上我们以SUSE Linux EntERPrise Server 10为操作平台为用户服务。利用虚拟化技术的架构特性,已经在机群上形成了资源池突破了组件的物理状态限制,可以采用资源的迁移技术,在夜间将资源集中到部分机器上,而将闲置的机器关闭,白天高峰期又将所有的刀片开启保证用户计算和存储的正常运行。运行情况如下:
部署虚拟环境后集群一昼夜总功率消耗为:白天消耗电量+夜间消耗电量
正常情况下消耗电量理论值为:
3×2×12+3×2×12×70%=122.4 KW
实际值为:
122.4×75%=91.8 KW
从以上分析我们可以很直观的发现,在高性能计算集群上部署虚拟化后一台刀片箱,一昼夜就可以节约用电:
108-91.8=16.2 KW
占原来总功耗的:
16.2÷108=15%
所以仅从节约用电这一点出发,采用虚拟化技术后高性能集群在节能方面有突出的表现。
虚拟化技术在资源的容灾备份,资源共享领域更有其卓越的表现,我们将在今后的研究实验中,做详实的记录,进一步的分析和研究在更广的范围利用OpenStack技术进行虚拟部署,早日为甘肃省计算中心用户提供虚拟化云服务。
4、研究实验分析
研究虚拟化技术OpenStack在高性能集群上的部署和应用过程中遇到的主要问题和建议:
(1)通过实验证明,在Ubuntu上部署OpenStack,采用无MAAS版Server以及通过源码安装,虚拟机会更加稳定。
(2)在文中能耗测试这一块,一箱刀片上资源已经可以实现智能迁移,但是闲置机器还未实现自动控制,这是之后我们研究的一个方向。
(3)研究过程中发现整个OpenStack的数据环境对数据库依赖严重,在部署过程中经常会在这一块出现问题,所以技术人员一定要对Mysql和Apache服务器配置基本操作熟练掌握。
(4)OpenStack在高性能集群上的部署可以有两种基本方案即多节点部署和all-in-one部署方案,研究证明采用all-in-one方案虚拟机启动后不稳定,易出问题,在设备条件允许的情况下使用多节点虚拟机部署方案,可以提升系统的稳定性。
(5)采用多节点部署方案,部署完成后通过novamanage service list命令发现,计算节点的各个服务不稳定。通过研究发现这是由于计算节点和控制节点的时间不同步造成的,通过NTP同步计算节点与控制节点的时间即可解决问题。
5、总结
在云计算和大数据飞速发展的今天,传统的计算中心和数据中心面临极大的挑战,同时也是机遇并存期,在高性能集群上实现虚拟化技术,能很好的解决资源受地域和物理组态限制的问题,为用户能够提供动态个性化服务。通过充分利用虚拟化技术的优势,可以合理的调控集群的使用率。根据集群的运算特征动态调整集群的使用,在作业量低时运用虚拟化技术迁移作业使其集中在部分刀片上工作,能很好的降低集群能耗,同时有助机房的温度湿度控制。在今后的学习和研究中我们将对此在高性能计算集群上作进一步的研究。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/