云计算中虚拟机实时迁移技术的鲁棒性研究
2016-07-10崔勇
云计算中采用虚拟机实时迁移技术实现数据中心资源的动态调度和管理。作为虚拟机实时迁移技术的核心,实时迁移算法目前虽然在运行性能方面表现良好,但在抗主机故障、网络故障、恶意攻击等鲁棒性方面仍存在不足,进而在这些异常或危险情况下无法保证实时迁移过程顺利完成,甚至干扰虚拟机内业务正常运行。本文对虚拟机实时迁移技术中关键算法的鲁棒性进行分析研究,指出其中所存在的问题,并提出相应的解决思路。
【关键词】虚拟机 实时迁移 云计算 鲁棒性
1 引言
云计算将IT软硬件资源通过网络以服务的模式提供给最终用户,使得用户能够按需使用、计量付费。基于IaaS(基础设施即服务)云计算平台的应用较为普遍,其主要采用虚拟化技术将CPU、存储、硬盘、网络等资源以虚拟机的访问进行封装、分配、调度及管理。用户在云平台提供的虚拟机上能够快速、高效、廉价地搭建自己的IT基础设施平台。
虚拟机实时迁移是IaaS云计算平台的一项关键核心技术,其基于实时迁移算法将某台物理主机上正在运行的虚拟机在线地移动到另一台物理主机上,期间虚拟机正常提供对外服务。当前主流的实时迁移算法虽然在运行性能方面较为良好,但是在抗主机故障、网络抖动、恶意攻击等鲁棒性方面还存在一些问题。本文分析了实时迁移算法所存在的鲁棒性问题并提出了相应的几个对策。
2 实时迁移算法
由于目前数据中心多采用共享存储架构,因此实时迁移的主要对象是虚拟机的内存镜像、vCPU及I/O寄存器状态数据。主流的实时迁移算法根据迁移对象先后次序的不同划分为预拷贝Pre-copy和后拷贝Post-copy两种。
Pre-copy是最先出现的实时迁移算法,其主要运行流程如下:
(1)实时迁移过程开始,源宿主机与目标宿主机建立连接,目标宿主机上预留虚拟机资源;
(2)首先将虚拟机的整个内存镜像,即所有内存页面传输过去;
(3)进入一个迭代拷贝阶段,每个迭代轮传输上一轮中产生的内存脏页;
(4)循环步骤3,直到剩余脏页足够小或者达到最大迭代次数,退出迭代过程;
(5)进入停机拷贝阶段,将vCPU寄存器及I/O设备状态数据连同剩余脏页一齐传输到目标宿主机;
(6)在宿主机上恢复虚拟机运行,实时迁移结束。
Post-copy算法出现较晚,其主要运行流程如下:
(1)实时迁移过程开始,源宿主机与目标宿主机建立连接,目标宿主机上预留虚拟机资源;
(2)源宿主机上暂停虚拟机运行,同时将虚拟机的vCPU寄存器及I/O设备状态传输到目标宿主机上,然后立即恢复虚拟机继续运行;
(3)虚拟机在目标宿主机上运行期间若访问到不存在的内存页面,则通过网络缺页中断向源宿主机请求所需页面。当源主机将页面传输过来后,虚拟机继续运行;
(4)当虚拟机不再出现缺页异常时,回收源主机上的虚拟机资源,实时迁移过程结束。
2 实时迁移算法的鲁棒性研究
虚拟机实时迁移算法的鲁棒性是指实时迁移算法在运行过程中,当发生异常或危险情况下保证虚拟机正常运行、实时迁移过程不受干扰的可靠性程度。具体来说,鲁棒性就是实时迁移算法能否在遇到物理主机故障、数据传输网络故障或遭遇恶意攻击的情况下,能否保证实时迁移过程顺利完成,能否在实时迁移过程出现不稳定状况的条件下保证虚拟机内业务的正常运行。
2.1 主机故障情况下的鲁棒性问题及对策
主机故障的情况是指在实时迁移过程中,源宿主机、目标宿主机有任何一端因设备故障或断电导致主机下线。
在这种情况下,对于Pre-copy算法来说,由于采用了从源主机向目标主机同步内存数据的方式,而且实时迁移期间,虚拟机仍在源主机上运行,因此Pre-copy对源主机故障敏感,对目标主机故障具有鲁棒性。那么解决思路就是对源主机采取双机热备的物理架构;而对于Post-copy算法,由于采用了从目标主机向源主机索取数据的方式,而且虚拟机运行在目标主机上,因此Post-copy对源、目标主机的故障都敏感,则解决思路就是对源、目标主机都采用双机热备的架构。
2.2 网络故障情况下的鲁棒性问题及对策
网络故障的情况是指在实时迁移过程中,源宿主机和目标宿主机之间的网络链路由于暂时中断或者发生拥塞导致实时迁移的数据包丢失。
在这种情况下,关键是需要实时迁移算法感知到网络故障的发生,避免在丢失内存页面数据的情况下启动虚拟机而导致虚拟机故障,而两个算法尚未完善这种机制。对于Post-copy算法来说,由于采用目标主机向源主机主动获取页面的方式,因此可设置当长时间等待不到所需页面时则认定发生网络故障;对于Pre-copy算法,由于源主机一直向目标主机发送数据,则可设置一个响应机制,由目标主机周期性地给源主机发送响应报文,说明接收数据正常。
2.3 恶意攻击情况下的鲁棒性问题及对策
恶意攻击的情况是指在实时迁移过程中,系统恶意攻击者通过网络监听、TCP/IP欺骗等攻击方式对因进行实时迁移而传输在网络链路上的虚拟机状态数据进行非法获取、篡改或破坏。
对于这种情况,目前两个算法由于在数据传输过程中都直接传输内存页面的明文内容,未进行任何处理,因此都不具有鲁棒性。解决思路是在实时迁移算法中引入加密机制,比如SSL,对所迁移的虚拟机状态数据进行加密。
3 结语
本文针对云计算中虚拟机实时迁移算法的鲁棒性问题进行了分析和研究。通过分析Pre-copy和Post-copy两个主流实时迁移算法在异常或危险情况下鲁棒性方面的不足,给出了相应的解决思路,为提高虚拟机实时迁移技术的鲁棒性提供了进一步研究的参考依据。
参考文献
[1]常德成,徐高潮.虚拟机动态迁移方法[J].计算机应用研究,2013,04:971-976.
[2]袁野,赵海燕,曹健等.虚拟机内存迁移技术研究[J].小型微型计算机系统,2014,35(2):412-418.
作者简介
崔勇(1983-),男,河南省郑州市人。硕士学位。现为河南无线电管理信息系统备份中心助理工程师。主要研究方向为云计算、虚拟化技术。
张志伟(1981-),女, 河南省新乡市人。现为河南信息工程学校助理工程师。主要研究方向为计算机网络。
作者单位
1.河南无线电管理信息系统备份中心 河南省郑州市 450000
2.河南信息工程学校 河南省郑州市 450000