吕佳潞
摘 要:在云计算环境中一个重要的技术是硬件和储存资源的虚拟化,而虚拟机的快照可以提升云端平台的服务质量,当系统发生错误时,可以透过快照回复到之前某个时刻的状态,让系统从快照点继续执行,减少因系统错误而造成的数据丢失;本研究提出了一个策略型的快照,透过两种不同类型快照相互搭配,为用户系统提供保护,用户只需在接口上选择虚拟机的保护级别,系统将自动的进行快照,在虚拟机发生故障时,自动选用最近一次的快照进行还原,透过以上所提出的机制,可以将使用者的损失降低,让使用者可以更加的轻松以及放心地去使用这些云端服务。
关键词:云端 虚拟化 容错机制 快照
中图分类号:TP39 文献标识码:A 文章编号:1672-3791(2015)09(a)-0004-02
大數据背景下,通过云平台对应用系统进行部署与管理已成为现实,给工作生活带来极大便利,但云平台一旦出现故障,带来的损失亦不可估量,比如系统程序需要执行一段时间才可以完成,但是当程序执行到一半时,系统发生故障,原本执行好几个小时或是好几天的数据就这样白费了,只能重新再执行一次,如果有一个完善的容错机制在这个云端平台后端的话,将可以减少许多损失[1]。VMware 的虚拟化平台提供了快照的容错机制,可以为多个虚拟机建立特定的还原点,因此许多人都把快照当成一种备份的工具,利用快照来建立还原点,不管虚拟机是否在运作中或是关机状态,只要系统发生问题就可以恢复到之前的状态。透过上诉的想法,本研究希望可以提供一套良好的容错机制,而这套机制将不会有平台的限制,让多个平台都可以使用,而另外一个点就是缩短还原点的时间,如果都是靠使用者自行操作建立还原点,将无法定时的去建立,然而如果有一个机制可以定时建立快照以及在系统发生错误时自动还原到最新的还原点,这样就可以更加的减少损失,让使用者可以更加放心的使用。
1 相关研究背景
1.1 云端平台
云端运算有三种服务模式,而基础架构即服务IaaS在这种模式下,知名度最高的是 Amazon EC2,目前来说 Amazon EC2 算是商业上 Iaas 的翘楚[2]。Amazon EC2是一个可以让用户透过网页租用云端计算机来运行各自所想要的系统,由于是透过网页的方式,用户可以弹性的调整虚拟机的配置,要新增或是删除使用者都可以自己做决定,也可以在虚拟机中运行各种软件以及应用程式,因此付费方式将为使用多少时间以及多少资源就要付多少,目前常使用这个平台的像是NETFLIX、SHAZAM等等,他们对于EC2的评价也都很高,因此才愿意把环境架设在上面,提供服务给其他使用者,由于 EC2 只要是商业或是企业以上的客户都可以获得全年无休的故障排除机制,为此使用 EC2 才可以保证自己的服务也都是不间断的。
1.2 虚拟化技术
现今计算机硬件设备发展迅速,效能也越来越好,虽然有好的设备,但是硬件资源使用率低,通常都是一个应用系统运行在一台物理服务器上,容易造成硬件资源的浪费,透过虚拟化技术,可将资源重新分配,透过软件去仿真硬件,让执行单一操作系统的机器可以同时执行多个操作系统,使得该台机器资源使用率提高,之前可能需要多台物理机来运作的程序,如今只需要一台就可以搞定,大大的节省了硬件资源的开销。云端的概念主要是使用虚拟化的技术提供使用者一台如同实体机器一样功能的机器,用户不需要知道这台机器在哪里也不需要担心管理与维修的问题,而管理者可以依照使用者的需求提供客制化的虚拟机服务。
一般来说,虚拟化技术算是一种资源管理的技术,它可以将实体机上的硬件、网络、存储空间、软件等设备重新分配,原本每台实体机对应一个应用系统,但是透过虚拟化技术的帮忙,让这些资源变成可切割的,使得资源更加的充分利用。由于现在虚拟化技术的发展也趋近于成熟,其实使用虚拟机和使用实体机上已经很难分辨出差异,基本上实体机该有的功能虚拟机都可以透过虚拟机的管理程序来完成模拟的动作,因此现在越来越多人推广以及使用云端系统,虚拟化技术的成熟在这其中也占了一个很重要的角色。
1.3 数据库
数据库,即一个可以存放大量数据集合的地方,而数据库管理系统(DBMS)则为提供用户在不需要了解数据库内部实际运作下能有效率且方便的对数据库进行管理的接口[3]。
(1)管理数据库内的数据:DBMS 提供对数据库内数据管理的接口,让使用者可以对数据库的内容进行新增、删除、修改等动作,或是新增、删除一个数据库。
(2)用户权力的管理:DBMS 提供管理用户的接口,让每个用户可以拥有不同的数据库使用权利,如专业人员拥有较高的使用权利,而一般使用者则只能拥有简单的权利等,可避免重要数据被不相关的用户窥视或是破坏,确保数据库内数据的安全。
(3)效能的控制:提供参数的设定让管理者可依照实际使用情形调整最适合的数据库状态,以维持数据库的最高效能。
(4)备分机制:对于某些 DBMS 还提供备份数据的机制,把重要或是超过时效性的数据转至别台机器或是磁带机储存,以避免不可抗力因素的破坏。
2 系统自动快照
将自动化快照分为三个类型[4],第一种高级型,提供的保护效果最好,但相对来说,由于制作完整型快照的次数较频繁,因此使用者被中断服务的时间会较长,此类型比较适合用在执行程序所需时间较长的机器上,由于还原后的程序需要持续运行下去,因此将需要使用完整型的快照去进行还原,透过本研究的测试,为了让使用者使用起来不但有最高等级的容错机制,亦不会影响使用者的使用,为此笔者选择了每三个小时执行一次完整型快照搭配每一个小时执行一次快速型快照,而在中级型,使用者主要保护的是虚拟机中的文件系统,因此将拉长两个完整型快照的间隔,相对减少了中断服务的时间,但当发生错误要进行还原时,如果需要包含程序执行的状态,与高级的相比,将会损失较多的资料。
在建立快照后,该系统将会把快照储存在两个地方(本机端、外部储存空间)除了本身产生快照的位置之外,为了防止实体机器发生错误时,连同虚拟机以及快照档案一同消失不见,因此在建立快照完成后,该机制将会备份一份到外部的储存空间中,当使用者在建立完成虚拟机时,该机制也会备份一份虚拟机的档案(qcow2)到外部储存空间中,为此使用者将会又多了一道保护的措施,将系统发生错误的损失降到最低。
3 系统快照管理
为了要让使用者方便使用,該研究在快照的管理上可以分为两部分,第一部份为实体机内部,每台虚拟机创建快照时,将会对快照档案进行命名,名称包含虚拟机 ID、快照创建时间以及快照种类,为了要区分完整以及快速的快照档,在名称后面加上A或是B以区分种类,在用户接口上,将会完整的标示快照的类型,由于储存空间有限制,每台虚拟机将在内部保留十笔最新的完整型快照资料,快速型的快照所需的空间较小,所以在限制上较不会这么严谨,但是在使用者接口上每台虚拟机将会显示最新的十笔快照(完整+快速),使用者亦可在介面上自行勾选虚拟机进行快照以及勾选快照名称进行删除,完全并不需要动用到指令。第二部份为外部的储存空间,为了预防实体机的故障,该研究将快照备份至系统之外的 NAS 储存空间,为了要让虚拟机在别台实体机上可以正常运作,因此在创建虚拟机时,系统将会自动把一份虚拟机的映像档传到 NAS 上去进行备份,如此一来当问题发生时,系统将可以使用映像档和最新的快照在另外一台实体机上进行还原的动作,让使用者可以持续的使用,而在外部的储存空间,每台虚拟机将保留最新的三十笔快照,由于高级型的快照每天大约产生八个完整型的快照,对此系统将保留三天左右的快照提供使用者来进行还原的动作,相对来说,快速型将保留最新的五十份快照,提供较完善的保护。
4 系统自动还原
自动还原机制不需要使用者或是管理者手动操作还原,只需要透过程序执行,就可以知道虚拟机是否正常运行,当虚拟机挂掉后,该机制将会透过快照还原到当机前最后一次快照的时间点继续运行。
当程序侦测到虚拟机当掉而呈现关机状态,系统使用最近一次的快速型快照进行还原的动作,而侦测到虚拟机为开机状态,发送封包到虚拟机有回应时,可能状况为虚拟机内部程序当掉,因此将使用完整型快照进行回复,确保整台虚拟机回到之前的状态继续运行下去,当发送封包无响应时,将强制将虚拟机关机,使用快速型的快照进行还原。
5 结语
该研究旨在提升云端平台的可靠度,主要容错机制的对象为云端环境上的虚拟机器,透过该研究提供的容错机制,可自动对虚拟机进行快照以保存虚拟机的状态,方便日后发生系统崩溃或是误删文件等问题发生时,可以利用此快照恢复系统,另外透过本研究的自动化还原机制,当侦测到虚拟机有问题时,使用者并不需要手动选择快照回复,系统会自动选择一个最新的快照来进行还原的动作,使用者并不会感受到有问题发生的感觉。由于该研究主要保护的对象是虚拟机,当物理机发生问题时,相对会影响到虚拟机的运作,因此自动化快照在创建的时候会把快照的档案传到远程NAS进行备份,如此一来当物理机发生重大问题时,可以透过外部备份的快照以及虚拟机的映像档来进行还原的动作,让原本只能重开的虚拟机透过快照在另外一台实体机上持续的运作,对许多研究来说,这绝对是必要的机制。
参考文献
[1] 苏命峰.虚拟机技术与性能优化的研究[J].长沙大学学报,2009,23(5):83-88.
[2] 肖斐.虚拟化云计算中资源管理的研究与实现[D].西安:西安电子科技大学,2010:12-16.
[3] 周敬利,余胜生.网络存储原理与技术[M].北京:清华大学出版社,2005:5-9.