基于内存压缩技术的虚拟机实时迁移机制研究
2023-04-29邱彬邱树伟
邱彬 邱树伟
摘要:虚拟动态迁移技术能有效分配与调试服务器中的资源,使虚拟机完整地迁移到另一台物理主机中,达到虚拟机负载均衡。虚拟机实时迁移选用的方式为预拷贝法(Pre-Copy),但是该方法会增大迁移过程的数据传输量和迁移时间,并且影响网络服务质量(QoS)。为应对上述问题,提出基于内存压缩技术的虚拟实时迁移机制,该机制针对虚拟机内存信息特性,在迁移过程中适配一种分页压缩算法,通过多线程技术加速进程,减少多余的开销。实验表明,迁移过程中,该机制在停机时间、迁移总时间和数据传输量等指标上相比预拷贝方法有了较大的提升。
关键词:内存压缩;虚拟机;实时迁移;迁移时间
一、前言
虚拟化技术具有保真性高、可靠性强等特点,在各领域得到了广泛的应用。虚拟化技术解决了传统数据中心运维管理难、资源利用率低、迁移过程稳定性差等问题,提高了系统的使用效率和灵活性[1-2]。虚拟机实时迁移技术[3]可伸缩性强,在服务器的热备份容错、系统负载均衡等方面具有较大的应用。
近年来,国内外学者关于虚拟机实时迁移问题进行了相关的研究,并取得了一些研究成果。对于数据中心,因异构节点资源的利用率不同,会造成负载均衡问题的出现,文献[ 4]已提出迁移时机判决和选择两种算法,并结合虚拟机动态迁移的对策,此对策可降低虚拟机的迁移次数,从而确保数据中心服务的质量,实现负载均衡。文献[ 5]提出了一种新的预测模型,当系统受到负载不均衡影响之时触发虚拟机实时迁移,以便及时卸载服务器或整合负载不足的服务。能耗控制方面,Son等人[6]基于云数据中心和大规模综合应用服务,提出多指标融合的高能效迁移方案,该方案的性能比常规方案提升9.5%。周震等人[7]提出根据温度感知虚拟机迁移模型,此模型相对于其他虚拟机迁移模型拥有更低的能耗,对于迁移的可信度,张建标等人[8]分析了可信计算技术的虚拟机迁移方案,从而提出了针对计算机技术的虚拟机动态安全要求。石源等人[9]研究了虚拟机可信迁移的安全模型和测试方法,证明了模型在安全属性方面的完备性。
针对国内外研究现状,本文深入探究如何减少虚拟机实时迁移的总时间和加速迁移过程,并提出相应的解决方案,构建一种高效的虚拟机实时迁移机制。
二、基于内存压缩的虚拟机实时迁移机制设计
(一)虚拟机实时迁移分析
通常情况下,实时迁移是将运行当中的虚拟机从一台物理主机迁移到另外一台物理主机当中,在此过程中不停机。主要涉及CPU 、磁盘、内存以及其他虚拟设备资源。针对不同的信息资源,必须采用特定的方式来解决。
针对CPU状态信息,虚拟机需要进行停机拷贝,当源主机上的虚拟机被挂起时,才完成CPU状态信息的传递,最后在目的主机上恢复正常运行。内存信息因具有数据量大和数据更新速度快的特点,导致在数据拷贝上存在较大的技术瓶颈。如内存更新速度高于网络传输速度,预拷贝方法的有效性会大大降低,只有在停机阶段,才能完成内存信息的拷贝操作。同时,该过程会出现大量的停机时间,极大地影响到虚拟机实时迁移的性能。磁盘信息的实时迁移过程涉及大量的数据信息,不可能进行高频的更新操作,只能以共享存储的形式来进行,其间不涉及带宽的占用,从而得到较高的共享存储效率。最后展开设备迁移,对其I/O设备实时迁移,实时迁移后,应确保MAC的地址不改变,确保所有的设备连接正常。
当前,一般的虚拟机迁移都是选用内存预拷贝的形式,在迁移过程中,虚拟机的迁移可通过循环扫描内存的位图来拷贝,一旦脏页率小于网络的传输速度时,该过程趋于收敛。如果脏页的数据较小,需停机实时拷贝,而停机拷贝的时间非常短,可以忽略不计。
然而,该过程也存在一定局限性:其一,内存预拷贝会在脏页数据率大于网络传输速率时失效,内存信息按照停机拷贝的方式重传,从而导致迁移过程中产生较长的停机时间。其二,迁移过程中大量的内存数据拷贝会增加网络传输过程中的冗余数据,导致网络密集型应用的服务质量出现大幅度下降。其三,总迁移时间过长将使部分容灾备份系统受到诸多限制。
(二)基于压缩的虚拟机实时迁移模型
根据虚拟机实时迁移内容和进程的分析,建立基于内存压缩的虚拟机实时迁移模型CLM(Compression-based Live Migration)。该模型基于内存预拷贝方法,在内存信息迁移中,采用基于内存特征的压缩算法CBC(Characteristic-Based Compression),针对数据页和指令页的信息,按照内存相似度对其进行区分,并使用差异化的压缩编码技术;在线程池的压缩方面,采用整合的方式将多次网络I/O操作归集成一次操作,提升迁移过程中的吞吐量;设计一种自适应的内存压缩模型,将内存压缩算法融入虚拟机实时迁移过程中,采用多线程技术加速内存压缩进程,减少额外的开销;针对全零页面以及停机时间等做特殊处理,以提高系统迁移的效率。图1所示的是基于内存压缩的虚拟机实时迁移结构。
经过上述系统结构的分析,通过改造实时迁移算法模块实现CLM方法。先将CBC算法植入到xc_domain_save()函数中,经编码、封装后进行传输,当接收到源主机的数据后,目的主机调用xc_domain_restore()函数进行操作,再通过解码还原成内存数据。
三、性能测试与分析
(一)测试环境
本文使用两台配置相同的主机进行迁移实验,参数为:Intel Xeon E7540双路6核,主频2.0GHz,高速缓存为18MB,硬盘容量1TB,物理内存16GB,网络带宽为1000Mbps。软件环境采用Xen 4.4.2作为实验平台,通过调用Xen 4.4.2中的相关函数进行测试。宿主操作系统为Ubuntu 14.04。
本实验将CBC算法融入虚拟机实时迁移机制,采用多线程技术压缩进程从而优化迁移总时间;停机时间的优化通过基于自我调节的压缩方式来实现。传输数据量方面采用先压缩后扫描标记的方法进行优化,基本上实现零拷贝传输。具体步骤如下:首先,设置两台测试主机以及一台接受迁移的虚拟机。其次,加载一个应用程序给虚拟机,使该程序以特定的速度更改虚拟机的内存。同时,将接受迁移的虚拟机在两台测试主机之间反复迁移。为了保证数据的真实性和准确性,实验反复迁移20次,采取多次求平均值的方法得出停机时间。
(二)多程序环境的实时迁移测试
考虑通用性,本实验选取Apache、Tomcat、GCC、DBench 4种应用程序对多程序环境下虚拟机实时迁移机制中的停机时间、迁移总时间和数据传输量进行实验。其中Apache和Tomcat属于网络密集型应用,Dbench属于磁盘I/O密集型应用,GCC属于CPU和内存占用率比较高的应用。图2、图3和图4各自代表虚拟机迁移中的停机时间、总迁移时间和数据传输量。
总体来看,CLM算法在停机时间的表现比PreC算法要优越。在测试中,Apache和Dbench两种算法的停机时间相差无几;由于GCC在内存变动方面较为明显,CLM算法的比率是PreC算法的52.1%以上;而比率最小的应用是Tomcat,两者相差1.2%,经测试,停机时间平均降比为26.7%。从以上数据看出,在停机时间上CLM算法更有优势。
迁移总时间方面,CLM算法比PreC算法具有更大提升,Apahe测试时,比率为43.1%,时间减少最多;Tomcat测试时,比率为21.5%,时间减少最少,平均降比达到了32.3%。原因在于CLM算法更能有效地缓解网络传输瓶颈。
在数据传输量方面,CLM算法较PreC算法有大幅度的提高,进行Dbench测试时,提升率最高,PreC算法是CLM算法的5.21倍,在测试Tomcat时,提升率最低,PreC算法是CLM算法的2.87倍。
综上所述,针对不同的应用程序,本文算法在停机时间、迁移总时间以及数据传输量上面对比PreC算法有较大的提高。
四、结语
本文围绕计算机系统资源融合高效透明化问题,深入探索国内外相关技术的优缺点,构建基于内存压缩技术的虚拟迁移机制,提高了虚拟机之间的迁移效率,提高了资源利用率和服务质量。实验表明,本文算法在停机时间、迁移总时间、数据传输量等方面比传统的预拷贝算法有较大的提升,从而提升虚拟机实时迁移性能。
参考文献
[1] N. Jain and S. Choudhary, Overview of virtualization in cloud computing, 2016 Symposium on Colossal Data Analysis and Networking (CDAN), Indore, India, 2016, pp. 1-4.
[2] M. S. B. M. Desa, J. Samuel, S. Elango, Z. Johari and M. Daniel Stephen, Energy Efficient Approach using Server Virtualization in Cloud Data Center, 2018 IEEE 4th International Symposium in Robotics and Manufacturing Automation (ROMA), Perambalur, India, 2018, pp. 1-4.
[3] J. Kaur and I. Chana, Review of Live Virtual Machine Migration Techniques in Cloud Computing, 2018 International Conference on Circuits and Systems in Digital Enterprise Technology (ICCSDET), Kottayam, India, 2018, pp. 1-6.
[4] 王晶,何利力.基于虚拟机动态迁移的负载均衡策略[J].计算机系统应用,2020,29(05):167-174.
[5] M. H. Shirvani and S. Babaeikiadehi, A Hybrid Meta-heuristic-based Linear Regression Algorithm for Live Virtual Machine Migration in Cloud Datacenters, 2022 International Conference on Electrical, Computer and Energy Technologies (ICECET), Prague, Czech Republic, 2022, pp. 1-5.
[6] A. -Y. Son, J. Y. Byun, C. Yong, E. -N. Huh, J. H. Hyun and K. K. Kang, Energy efficiency oriented migration scheme in cloud data center, 2017 IEEE International Conference on Cybernetics and Computational Intelligence (CyberneticsCom), Phuket, Thailand, 2017, pp. 108-113.
[7] 周震,袁正道,李俊峰.云数据中心基于温度感知的虚拟机迁移模型[J].计算机应用与软件,2021,38(11):70-76.
[8] 张建标,朱元曦,胡俊,等.面向云环境的虚拟机可信迁移方案[J].网络与信息安全学报,2018,4(01):6-14.
[9] 石源,张焕国,吴福生.一种可信虚拟机迁移模型构建方法[J].计算机研究与发展,2017,54(10):2284-2295.
基金项目:1.汕头职业技术学院科研课题(课题编号:SZK2020Y04);2.广东省自然科学基金项目(课题编号:2022A1515010990)
作者单位:邱彬,汕头职业技术学院电子信息学院;邱树伟,韩山师范学院计算机与信息工程学院
责任编辑:尚丹