云主机秒级可用技术的设计与实现
2018-06-21赵旭彤贾京峰李志明
赵旭彤 贾京峰 李志明
【摘 要】基于云计算平台基础架构,设计并实现了一种新型创建云主机功能流程。论文从传统云平台创建虚拟机的功能流程开始,设计并研发创新性功能流程,以达到云主机秒级可用的目标。通过此技术的引进,将大大减少云主机创建等待时间,提升云平台的服务体验。
【Abstract】Based on the infrastructure of the cloud computing platform, a new type of function flow for creating cloud host is designed and implemented. The paper starts with the function flow of creating virtual machines in the traditional cloud platform, and designs and develops innovative function flow, so as to achieve the target of the subsecond available of cloud hosts. Through the introduction of this technology, the waiting time of creating the cloud host will be greatly reduced, and the service experience of the cloud platform will be improved.
【關键词】云主机;秒级启动;虚机机 ;模板
【Keywords】cloud host; subsecond start; virtual machine; template
【中图分类号】TP393 【文献标志码】A 【文章编号】1673-1069(2018)05-0123-02
1 引言
云计算平台中,管理员或用户在配置、创建云主机后,系统还需要通过配置引导启动创建的云主机,此阶段对用户来说,云主机实际上是处于不可用阶段。此节点一般情况下,Linux系统为20s以上,Windows系统则更久,有时甚至超过1min。如何有效减少此不可用阶段的时间,提升云主机的使用友好性,是云计算平台的一大难题。
2 结构设计和功能实现
2.1 云主机典型创建流程
在基于Openstack的IaaS云平台中[1],创建云主机的一般过程如下:①用户从自服务Web界面进行配置,并确定创建云主机;②服务器端控制台接收用户创建信令消息,调用计算节点 API创建虚机;③计算节点Nove接受API调用,并进行认证等相关辅助流程,确认调用可信后调用Libvrit API进行处理;④Libvrit 调用QEMU,QEMU跟进用户的资源配置要求,准备调用网络存储等相关资源创建虚机,同时QEMU返回云主机创建中的消息,通过逐层通知,告知用户云主机创建中;⑤QEMU开始进入虚机创建阶段,准备网络存储等资源,进入虚机Bootloader,启动虚机,重启系统和服务,直到交付给用户最终可用的云主机。
我们定义,从第一步到第四步之间消耗的时间段,为T1;第五步消耗的时间段,为T2。在整个流程中,T1一般耗时少于1min;但对T2,虚拟机在创建后,进入虚机启动阶段,通常Linux系统需要耗费10s以上,Windows则更久,有时候甚至超过1min。
T1加T2是用户从创建到可用的总时间,而控制台返回的往往是T1时间,只是告诉用户,机器已经激活,但实际上云主机还处于不可用状态,指导T2结束,用户才可以进入云主机的登录界面。提升用户服务体验最有效的方式,就是如何减少T2阶段所消耗的时间。
2.2 秒级可用技术设计
云主机秒级可用技术使用以下技术细节,减少T2阶段所耗时间: ①创新性定制化虚拟化软件,技术革新支持统一内存快照加速,加速虚机启动;②云主机内存和CPU热升级技术,用于将虚机升级或降级至用户配置;③QGA技术用于用客户化定制服务以及功能。
基于以上核心技术点,可以成功将云主机创建时的启动时间从20s以上,缩短至1~3S左右。秒级可用技术详细架构功能流程,说明如下:①用户从自服务Web界面进行配置,并确定创建云主机;②计算节点Nova创建磁盘,此时使用定制化研发的统一内存快照加速技术,拉取系统集成镜像,创建磁盘快照,并拉取此磁盘快照对应的虚拟机的配置、状态信息;③Libvrit 基于磁盘快照启动虚机,进入云主机创建流程;④检查内存中是否有特定的可用虚拟机模板,有则直接使用,没有则启动一个虚拟机模板;⑤通过第二步的虚拟机配置、状态信息,对比用户待创建云主机的配置规格,逐项热升级到用户指定的云主机配置规格;⑥更改虚拟机的状态信息,如网络地址、用户名密码信息等,完成云主机的创建过程。
秒级可用技术,规避了OS的启动过程,通过对比云主机配置与系统内虚机实例模板的配置、状态信息,逐项更新的方式,大大减少了云主机的整体创建时间,快速地为用户提供一个可用的云主机,用户点击完创建与开通云主机后,几乎无须等待即可使用,提升了用户云主机服务体验。
2.3 关键技术:CPU与内存热升级
在现有大多数的IaaS云平台上,云主机的CPU和内存热升级,要经历关机再开机的配置生效过程。时间一般以分钟来计,而且这个过程中应用程序和业务会经历中断。如果是高可用架构,在业务集群中一般采用逐台升级的方式来避免业务影响,但也会需要大量的运维操作。
现有业务经常出现客户不希望中断业务,实现虚拟机的CPU资源的动态升级。因此需要在虚拟机运行状态实现CPU和内存业务完美融合。为了更好地应对不同的业务需求,在设计时我们将CPU和内存的热升级做成两个独立的选择,保证云主机秒级可用技术,或者用户在单项资源不足时,可以灵活地调整资源配置,而不是非要固定地选择某一种类型。
第一,CPU热升级技术。CPU热升级使用的是max 和current调整CPU,我们现有这种方法基本是仿效Ovirt的CPU热升级的设计。
通过提升current sockets值完成CPU的热升级。
第二,内存热升级技术。业内现有技术实现内存的热升级,使用的是memory ballooning。 Memory ballooning这种技术相比对操作系统和物理机要求较高,需要虚拟机和物理机一起合作完成。
内存热升级技术:Hotplug 内存热插拔,这是一个确定的发展方向,降低了内存的占用。内存相当于一个独立的设备挂载给虚拟机,方便升降适应性更好。Hotplug可以动态地增加或减少虚拟机系统中可用的内存数量。可以支持更多的操作系统和固件,这种垂直纵向的扩大和缩小可以很好地满足业务场景的需求。
第三,关键技术点实现机制。在控制层,调度层和计算服务层增加CPU和内存热升级相应的逻辑,在成功添加CPU和内存后将其信息推送到持久化层,保证业务数据统一。我们从两个方面进行了技术更新,一方面是,业务接口调整内容如下:①增加CPU热添加接口;②自动更新VM的Flovar 中的配置;③增加新的接口动态添加内存 ;④热添加的内存持久化到数据库;⑤硬重启虚拟机后读取之前的信息并加回;⑥增加动态删除内存接口;⑦增加关机状态下清理内存接口。另一方面是,虚拟机模板调整:虚拟机内不同的系统对于添加的CPU和内存的策略。我们的定制模板为方便用户,自动激活热挂载的CPU和内存。
2.4 技术亮点
使用云主機秒级可用技术后,IaaS云平台有以下优势与亮点:①减少用户等待时间:用户从之前的T1 + T2的时间大大缩短到秒级,大大提高用户体验,实现真正的创建即使用。②对后端镜像存储没有限制:后端镜像存储,可选用Ceph或者其他解决方案。特别的,对于Ceph有特别优化,性能可用性支持更好。③支持所有镜像:对于所有系统镜像均可以使用,免去镜像困扰。④节约用户成本:计费时用户创建时即开始,运用此技术可以降低用户对于系统启动时间的花费。
3 实验验证
通过一个实验,将能够明显地感受到云主机秒级可用技术的有效性。本次实验环境为:①系统:CentOS7.2;②内核版本:3.10.327;③OpenStack版本:Mitaka版;④Libvrit 版本: 定制化发行版V2.0;⑤QEMU版本:定制化发行版V2.3;⑥CPU: Intel Xeon 2056 V3;⑦内存: 128G;
本次测试云主机配置为:4核8G,300G磁盘,OS为CentOS7.2。目标是测试开启和不开启云主机秒级可用技术下,T1+T2的总耗时对比。
测试结果显示,未开启云主机秒级可用技术,T1+T2总耗时为30.8秒;开启云主机秒级可用技术后,T1+T2总耗时为3.1秒。可以明显看到开启云主机秒级可用技术后带来的效果。
4 结语
使用云主机秒级可用技术,相对于传统方法[2],可以大大提高了用户的体验,与此同时,使用此功能后可以做到:①减少用户等待时间,让用户更快速地部署系统,甚至如果用户已经在镜像中部署好服务,那用户创建云主机后数秒即可提供相关服务。②减少用户成本,云主机的计费方式主要按照资源使用量以及时间计费,无用时间的下架势必减少用户成本,在大批量创建的时候尤为明显。
云主机创建开通后即可使用,本技术能够满足在系统部署时希望快速登入系统的用户,尤其是自动化开通,自动化部署服务的用户。随着强劲的业务与服务的快速交付要求,以及CICD应用部署的普及,云主机秒级可用技术将得到极大的应用,产生极高的价值。
【参考文献】
【1】李志军,孔朋朋,雷振伍.基于OpenStack的私有云平台设计[J],微型机与应用,2016,35 (9) :24-26.
【2】吴联盟.开源云管理平台OpenStack中虚拟机部署机制的研究与优化[D].北京:北京邮电大学, 2013.