3.3异或压缩的有效性
本实验验证异或压缩与普通压缩算法相比,能否取得更高的压缩比,普通压缩算法即为综合压缩算法除去异或压缩部分,图3至图5分别描述了迁移不引入压缩(Default)、引入普通压缩(Cpr)和异或压缩(Xor)时,相应的增量同步数据量、增量迁移时间和停机时间,由图可知,引入普通压缩的迁移比不引入压缩的迁移性能高很多,但仍有提升的空间,先异或再压缩,使得原本没有规律并且很难压缩的数据变成大块全零的数据,极大提高了压缩比。图3表明,异或压缩后的数据量在最好情况下仅为普通压缩后数据量的29.77 % ( VOD),平均为普通压缩后数据量的59.66%,因此,与普通压缩相比,异或压缩最好时可降低47.77%的增量迁移时间和21.68%的停机时间(VOD);平均可降低29%的增量迁移时间和14.4%写的停机时间。
图2迁移正常虚拟机的迁移时间和停机时间
全系统迁移中,第1轮迁移的数据量比增量迁移时大得多,异或压缩虽不能非常显著降低全系统迁移时间,但仍有重要意义。首先,异或压缩有效降低了停机时间,这是在线迁移最重要的性能指标之一,直接决定了上层应用能否感知迁移的存在;其次,对于配置了共享存储的平台,增量迁移的数据量很可能比第1阶段迁移的数据量要大,由图3和图4可知,异或压缩此时明显提高了迁移性能。
图3增量迁移数据量的比较
图4增量迁移时间的比较
图3的同一系列中,深色表示磁盘映像数据量,浅色表示内存映像数据量。由于文件系统缓存的作用,大多数应用在增量迁移过程中改变的磁盘映像都不多,至多占增量迁移总量的15.67%(Ecommerce):.因此,影响增量迁移时间和停机时间的关键,仍然在于内存映像的迁移。
3.4流水迁移的有效性
本实验在异或压缩基础上,分别用流水迁移和多线程压缩迁移方法测试迁移空闲虚拟机的性能,以验证流水迁移的有效性。流水迁移的源端包含1个映像读取进程,2个压缩进程和1个发送进程;多线程压缩迁移在源端配置一个迁移进程负责读取和发送映像,3个压缩线程压缩映像。迁移目的端配置与源端类似。实验表明,流水迁移空闲虚拟机的迁移时间为331.29 s,比多线程压缩迁移(365.93 s)提高了9.47%,这是由于流水迁移更好地并行了映像的读取、压缩、解压和恢复,而多线程压缩迁移只缩短了映像压缩和解压的时间。
图5停机时间的比较
3.5总体性能比较
本节综合比较快速全系统在线迁移(Fast)和传统全系统在线迁移(Default)的性能。快速全系统在线迁移使用上述3个关键技术,传统全系统在线迁移迁移磁盘时采用黑盒方式,并且不使用压缩;迁移内存时引入目前最先进的多线程压缩方法,以便和异或压缩比较。
表3为两种迁移方法性能对比。由于快速全系统在线迁移使用文件系统感知的磁盘同步和磁盘压缩,故可减少同步60%的映像数据。同时,由于文件系统感知的磁盘同步有效减少50%磁盘映像的读取,故迁移时间降低了50%左右。同样地,异或压缩使得快速全系统在线迁移的停机时间在多线程压缩迁移的基础上,又平均降低了14%,保证了应用的实时在线。流水迁移的方法使得加入磁盘压缩以后,并不增加磁盘迁移的时间,却节省了近30%的网络资源(参见表2)。
表3 迁移性能比较
若虚拟机上有较高的负载,则迁移时间增加较多,增加的迁移时间并不是由于应用产生了大量的增量迁移数据,而是由第1轮同步造成的。我们测试了应用读写磁盘的强度,发现其带宽都在2 MBps以上,有的应用,如Support,甚至使用了swap分区。应用读写的数据量虽不是太大,却不断移动磁头,影响了迁移对磁盘映像的读取,增加了迁移时间。这个问题,传统全系统在线迁移同样存在。
3.6网络带宽受限时的迁移性能
本实验将网络带宽调整为100 Mbps以模拟广域网环境,验证磁盘压缩在网络带宽受限时能否减少迁移时间。实验表明,磁盘压缩可减少同步近3000的磁盘映像数据,并降低了约30%的迁移时间。
同时,本实验使用Xen的Credit调度器提供的Cap选项,测试为迁移保留不同大小CPU资源时,快速全系统在线迁移方法迁移空闲虚拟机所需的时间,并与不引入磁盘压缩的迁移比较,以测试磁盘压缩所需CPU开销。不引入磁盘压缩时,为迁移保留40%的CPU资源就能取得最好的性能,保留的CPU资源主要用于读写和收发磁盘映像,即等待I/ O上;引入磁盘压缩后,需为迁移保留80%的CPU资源,即磁盘压缩引入了40%的CPU开销。
随着CPU资源日益丰富,在网络带宽受限时,以40%的CPU资源换取30%的迁移性能,是非常值得的。快速全系统在线迁移以可选项的形式提供磁盘压缩,管理员可以根据网络资源情况灵活选择。
3.7极限负载时的迁移
本实验测试在极限负载下,即应用程序是磁盘密集型时,快速全系统在线迁移(Fast)的性能,并与传统全系统在线迁移(Default)比较。传统全系统在线迁移迁移内存时引入目前最先进的多线程压缩,迁移磁盘时采用黑盒方式。本实验采用Iozone的write, re-write操作作为被迁移虚拟机的负载,并定时测试Iozone的吞吐率,实验结果如图6所示:
图6迁移时Iozone吞吐率的变化
Iozone运行60s后,虚拟机开始迁移,迁移进程和Iozone竞争磁盘带宽,导致Iozone吞吐率下降很多,快速全系统在线迁移使用的文件系统感知的磁盘同步和磁盘压缩,有效降低了33.62%的迁移数据量,缩短了22.05%的迁移时间,使得应用性能受影响的时间大为减少,在1 225 s时就恢复正常,而传统方法直到1555 s时迁移才完成。
4讨论
随着摩尔定律的发展,服务器上的CPU资源越来越丰富,48核、64核的服务器已经问世并正在推广,因此,配置多个虚拟CPU(virtual CPU,VCPU)的SMP虚拟机也会日益普及.SMP虚拟机的磁盘利用率还是不高,读取磁盘映像的带宽依旧有限,所以文件系统感知的磁盘同步和流水迁移仍然可以显著加速迁移过程.异或压缩旨在利用虚拟机增量迁移时映像数据(尤其是内存映像数据)的自相似性提高压缩比和压缩速度,其在SMP虚拟机全系统在线迁移中仍然有效,定性分析如下:
首先,随着VCPU个数的增加,虚拟机同时运行的应用程序的种类和数量也不断增多,虚拟机的内存踪迹必然变大,增量迁移数据量也随之增加,如1.2节所述,内存写操作修改的数据量低于页面大小的20%,这一规律作为异或压缩的设计基础,对大多数应用都适用,与同时运行的应用程序的种类和数量无关。因此,异或压缩对于重负载的SMP虚拟机同样适用。
其次,SMP虚拟机中多线程应用的数量增多,由于线程之间共享同一地址空间,多个线程可能修改同一内存页面,导致页面中改变的数据量的比例存在变大的可能,本文的性能评测虽然建立在单VCPU的虚拟机之上,但是评测的应用负载都是多线程的,每一轮迁移所需时间比线程调度的时阃粒度大很多,从宏观上看,应用程序是并行的,从实验结果中得知,异或压缩对于并行多线程应用依然有效,增量迁移时间和停机时间都大为减少。
综上所述,快速全系统在线迁移方法一样能够加速SMP虚拟机的全系统在线迁移。
5结束语
快速全系统在线迁移方法利用文件系统感知的磁盘同步、异或压缩和流水迁移,降低了50%的迁移时间和14%的停机时间,并节省了30%的网络带宽,较好地解决了全系统在线迁移时间长、占用资源多的问题。
良好的迁移策略是降低迁移代价的保证,未来,我们将深入研究大规模虚拟化平台上,如何根据应用负载、迁移历史信息和资源异构性等因素,制定最优的迁移策略。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:虚拟机快速全系统在线迁移(下)
本文网址:http://www.toberp.com/html/consultation/1083975786.html