李博
(辽宁抚顺职业技术学院辽宁抚顺113122)
基于云计算的实验平台虚拟机容错技术研究
李博
(辽宁抚顺职业技术学院辽宁抚顺113122)
摘要:随着大规模计算技术的发展,虚拟机技术已经成为云计算中的重要技术。为了提高云计算实验平台的运行效率,提出了一种虚拟机容错机制,并进行了研究,详细论述了实现的过程以及关键技术。通过实验表明,该容错技术能有效的提高实验平台的性能。
关键词:云计算;实验平台;虚拟机;容错技术
随着云计算技术的蓬勃发展与普及,凭借其方?、快速、低成本的特性成为众多企事业单位部署IT系统带来了新的变化。云计算技术具有非常便利的可扩展性,能够根据用户需求进行动态的分配资源,提高了系统资源的利用率。在本地机器上不需要安装应用软件,降低了实验室硬件成本。云计算技术通过虚拟化操作能够在一台物理机上可以同时运行多个操作系统,不受地理位置限制,拥有易维护和运行环境相对独立等优点。然而只要是计算机系统,不管什么系统总有发生错误的时候,为了减少损失,这时候就需要容错机制,完善的容错机制,可以大提升整体云实验平台的运行效率。
本研究在研究云计算环境的基础上,提出了云计算实验平台和容错技术相结合的方法。
1.1云计算技术
云计算技术是信息技术作为服务(IT as a Servjce)来提供的一种计算服务方式,这种方式很像是水、电、气的供应,人们只需拧开龙头或开关,而不必亲自去构建庞大而复杂的管道及电路[1]。一个成功的云计算平台可以最大限度地发挥现有软件开发经验、设备性能和数据资源的优势,使得人们消费IT服务就如同消费水、电、气一样便捷。云计算技术主要包括IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)3种服务模式[2]。利用云计算技术,用户进行的操作平台都是基于Web,而非基于“桌面”。在任何地点任何时间只要通过一台能够连接到因特网的终端设备,就可以访问所需的程序和文档。让用户无论身在何处,随时都能连接至自己的数据,就能检索自己的文件,继续处理上次未完成的工作。
1.2虚拟化技术
现在电脑硬件设备发展迅速,性能也越来越好,虽然有好的设备,但是资源使用率却无法提升,通过虚拟化技术,可将资源重新分配,利用软件技术来模拟硬件设备,让运行单一作业系统的机器可以同时运行多个作业系统,使得该台机器的字眼使用率提高,之前可能需要五台机器来运行的程序,只需要一台就可以运行,大大的节省了能源的开销[3]。云计算的概念主要是使用虚拟化的技术给用户提供一台和实际设备相同功能的机器,用户不需要知道这台机器在何处也不需要担心管理和维修的问题,而管理员可以根据用户的需求来提供服务。
一般来锐,虚拟化技术是一种资源管理的技术,它可以将物理设备上的硬件、网络、存锗空间、软件等资源重新分配,原本每台设备都只可以提供给一个用户使用,但是通过虚拟化技术可以将这些资源进行分割,使得资源更加的充分利用[4]。
1.3容错技术
实现容错的主要思路为:使用备用的设备,目的不是加快运算,而是为了确保数据的正确性和安全性[5]。这里主要是利用快照技术。
快照(snapshot)的概念和照相机相似,照相机照出的照片只是记录当时的影像,而对系统而言是记录系统的状态·传统的备份方法就是将整个系统拷贝到另外的空间中存放,花费的成本高、耗时大,因此出现了快照技术[6]。
快照技术是利用一个表格记录系统当前的状态,表格上的每一格代表的是硬盘的某一区域。当硬盘上的资源有所变化时,就在对应区域的表格上进行标注。快照可以很小,只需要包含这个表格以及所有改变的标注即可。所以产生快照可以很快,也可以保存很多个。当需要进行还原恢复时,就用现在的硬盘状态作为基础,将快照中的标注更换回去即可。
创建一个快照,在不同设备下需要不同的指令,但是对于大部分的系统来说哦,主要包括以下步骤:
1)发生create指令;
2)指令通知操作系统暂停应用程序和信息系统的运行;
3)更新信息系统中的数据,结束目前所有的读取和写入操作;
4)建立快照点;
5)建立完成,释放暂停的应用程序和信息系统,使系统继续运行。
实验平台的底层云计算系统使用OpenNebu1a,跟目前市面上已知的云计算系统相比,OpenNebu1a有着更多的稳定性。用户通过用户接口可以知道当前虚拟机的状态以及各自所拥有的快照资料,本文所提出的容错技术主要可分为桑部分(自动快照、快照管理、自动还原),由于系统发生错误的时间不一定,如果通过人工进行管理和监测,很难再第一时间发现错误和解决,因此容错技术将全部自动化运行,通过定期的发生监测包来确认虚拟机状态,发生问题时将自动旋转最新一次的快照进行还原恢复,并定期的对虚拟机进行快照,用户可以选择快照进行还原恢复。系统架构如图1所示。
图1 系统架构图
当用户登录系统后,通过用户界面可以对快照进行预览、新增和删除,而在运行界面的有两项功能,第一项自动化快照,系统将自动的对指定的虚拟机进行快照,然而快照建立完成后会备份一份到外部的NAS存储空间;第二项就是自勤化还原,系统将定期监测虚拟机的状态以及发送监测包,当系统发生错误时,自动化还原机制将会自动使用最新的快照进行还原恢复操作,从而将用户的损失降低。运行流程如图2所示。
图2 快照流程图
2.1自动快照
通过对虚拟机进行自动化快照,不再需要通过管理员或用户使用指令来建立快照。自动化快照中包含两种不同类型的快照,第一种是完整型快照,第二种是快速型快照,完整型快照所提供的保护模式较完善,可以将虚拟机恢复到之前运行的状态,但是所需要的建立快照的时间较长,而快速型快照创建快照的时间较短,但无法提供即时性的完整保护。
在建立快照时,由于快照本身的机制需要暂时的将中断虚拟机的服务,因此建立快照的时间将会影响用户中断连接的时间,完整型的快照所需时间平均为3~5分钟,用户使用虚拟机的时间越长,建立快照的时间也会增加,而快速型的快照平均约在10秒内完成,由于两种类型的快照各有优缺点,因此本容错技术将综合两者的特点来进行,以达到最佳的效果。
将自动化快照进行优化,可以得到以下3种:高级型,提供的保护效果最好,但建立整型快照的次数较频繁,用户被中断服务的时间较长,此类型比较适用在运行程序所需时间较长的虚拟机上,由于还原的程序需要持续运行,隐藏需要适用完整型的快照去还原,为了让用户在使用最高等级容错机制,也不会因为频繁中断服务而影响用户的操作,我们选择每3个小时执行一次完整型快照搭配每个小时执行一次快速型快照;中级型,用户主要保护的是虚拟机中的信息系统,隐藏需要将两个完整型快照的时间间隔拉长,相对减少中断服务的时间,但是当发生错误需要还原时,相对高级型而言会损失一定的数据。低级型,完全使用快速型快照,虽然时间短,但是保护的效果最差。
在建立快照后,本系统把快照储存在两个地方(本地云、外部储存空间),除了本地产生快照以为,为了防止硬件机器发生错误,导致虚拟机和快照出错,将快照备份到外部存储空间,可以将系统发生错误的损失降到最低。快照流程如图3所示。
运行构成代码如下:
每3个小时执行一次
ruby fu11snapshot.rb//执行完整型快照
图3 快照运行流程图
scp snapshotname to KAS //执行本地云和外部存储空间
sq1(update new snapshot)//更新数据库
每3个小时执行一次
ruby fastsnapshot.rb//执行快速型快照
scp snapshotname to KAS //执行本地云和外部存储空间sq1(update new snapshot)//更新数据库
2.2快照管理
为了让用户便于使用,我们将快照管理分为两部分:本地云,每台虚拟机建立快照时,将对快照数据进行命名,名称包含虚拟机ID、快照建立时间以及快照种类,为了区分完整和快速型的快照数据,在名称后加上A、B以区分,在用户界面中,将会完整得标识快照的类型,由于存储空间有限,每台虚拟机在内部保存最近10个最新的完整型快照数据,快速型的快照所需的空间较小,所以不做严格的限制,但是在用户界面上每台虚拟机将显示最新的10个快照(完整+快速),用户也可以自行选择虚拟机进行快照或者选择快照名称进行删除。外部存储空间,为了防止物理设备的故障,我们将快照备份到外部NAS存储空间,为了让虚拟机在其他的物理设备上可以正常运行,在创建虚拟机时,系统将自动将虚拟机的映像传送到NAS上进行备份,当发生故障时,系统会使用映像和最新的快照在另外一台物理设备上进行还原。在外部存储空间,每台虚拟机可以保存最新的30个快照,因为高级型的快照每天会产生8个完整型快照,系统将用保存最近3天的快照供用户来执行还原操作,快速型快照保存最新的50个快照,提供优化后的保护。快照管理流程如图4所示。
图4 快照管理流程图
2.3快照还原
当系统监测到虚拟机状态异常而告知关机,会自动使用最近一次的快速型快照进行还原操作,而监测到虚拟机为开机状态,发送监测包对虚拟机有回应时,可能其状态为虚拟机内部线程运行异常,此时需要使用完整型快照进行还原,从而保障整个虚拟机恢复到正常的状态继续运行,当发送检测报包没有回应时,会强制把虚拟机关机,使用快速型快照来进行还原。快照还原流程如图5所示。
图5 快照还原流程图
3.1平台运行环境
本实验平台使用1台客户端计算机,2台服务器,云计算系统使用OpenNebu1a,客户端计算机的操作系统为CentOS 6.5,CPU为Inte1 Core2 Quad Q6600,内存为DDR3 4G;服务器的操作系统为CentOS 6.5,CPU为AMD 4180*2,内存为DDR3 16G,采用OpenNebu1a虚拟化技术。外部存储NAS的操作系统为Ubuntu 12.10,硬盘位1T。本容错机制从跨平台的角度考虑,自动化快照使用Ruby语言来编写。
3.2性能测试
通过观察快照的耗时来明确平台的性能。实验结果如图6、图7所示。
图6 建立快照
通过建立快照、还原快照的实验可以看出,完整型快照比快速型快照所花费的时间更多,其性能较低,但是完整型提供的容错保护较好。
本文主要是研究提升基于云计算技术实验平台的可靠度,通过优化的容错机制来提高虚拟机的运行效率,利用快照来保存虚拟机的状态,便于在系统出错或者误删文件时,能够利用快照进行还原,从而降低了系统的损失。
图7 还原快照
参考文献:
[1]赵广才,张雪萍.云计算技术分析及其展望[J].电子设计工程,2011,19(22):4-10.
[2]郑广成.一种SOA云服务平台架构研究与应用[J].计算机应用与软件,2011,28(12):228-231.
[3]Saurabh Kumar Garg,Rajkumar Buyya,NetworkC1oudSjm:Mode11jng Para11e1 App1jcatjons jn C1oud Sjmu1atjons[C]. Proceedjngs of the 4th IEEE/ACM Internatjona1 Conference on Utj1jty and C1oud Computjng,2011,Me1bourne,Austra1ja,December:5-7.
[4]R. Wu,G. J. Ahn,H. Hu,and M. Sjngha1,Informatjon f1ow contro1 jn c1oud computjng,jn Co11aboratjve Computjng:Networkjng,App1jcatjonsandWorksharjng (Co11aborateCom),2010 6th Internatjona1 Conference on,2010:1-7.
[5]百度百科,容错技术[EB/OL].[2015-3-13]http://bajke. bajdu.com/vjew/391720.htm.
[6]IT168,如何使用Hyper-V快照功能[EB/OL].[2015-4-21]http://server.jt168.com/a2008/1125/211/000000211985.shtm1.
Research of VM fault tolerance technology for eXPerlmental Platform based on cloud comPutlng
LI Bo
(Fushun Vocational Technology Institute,Fushun 113122,China)
Abstract:Wjth the deve1opment of 1arge-sca1e computjng techno1ogy,the vjrtua1 machjne techno1ogy has become an jmportant techno1ogy jn c1oud computjng. In order to jmprove the effjcjency of experjmenta1 p1atform based on C1oud computjng,the VM fau1t to1erance techno1ogy was desjgned and research,the process and key techno1ogy was djscussed jn detaj1s. Experjments show that the fau1t to1erant techno1ogy can effectjve1y jmprove the performance of the experjmenta1 p1atform.
Key words:c1oud computjng;experjmenta1 p1atform;VM;fau1t to1erance techno1ogy
中图分类号:TN919.5
文献标识码:A
文章编号:1674-6236(2016)07-0179-03
收稿日期:2015-05-21稿件编号:201505204
作者简介:李博(1982—),男,山东滨州人,硕士,实验师。研究方向:实验室技术,云计算技术。