1 概述
随着云计算、服务计算等新兴技术的应用,在WAN 环境下进行虚拟机在线迁移的需求逐渐增加。虚拟机的在线迁移可以将虚拟机从一个物理节点透明地迁移到另一节点,实现资源调度,提高服务的可用性,已成为虚拟化的基础支撑技术。
目前,在线迁移一般在同一个局域网内进行,源节点、目的节点间通过预拷贝技术迁移内存,利用广播ARP 报文进行网络重定向,为提高效率,对于含有大量数据的磁盘则是利用共享存储来避免迁移。然而在WAN 环境下,共享模式使虚拟机经过WAN 读写磁盘,在网络延迟较大特别是存在抖动的情况下将降低读写效率。
为此,本文设计一种适应WAN 的磁盘在线迁移策略。
2 相关工作
文献提出利用实时同步机制实现磁盘迁移的方法。源节点将数据从缓存写入本地磁盘,并通过TCP 连接实时发送至目的节点,从而保持两节点磁盘的数据一致,实现磁盘迁移。该方法可以达到与共享存储相近的迁移时间,但存在大量冗余数据被同步的情况,若虚拟机多次写同一个磁盘块,则目的节点亦会被重复同步,在虚拟机迁移前,这些数据将成为无效数据。此外,该方法中实时同步的突发流量可能对带宽提出较高的要求。
文献[4]提出预迁移与基于回放同步相结合的方式实现磁盘迁移。在迁移触发后,首先采用预拷贝技术迁移整个虚拟机的磁盘数据,在此过程中,捕获所有写磁盘请求,包括写的数据、位置及长度,并同时转发到目的节点保存。当虚拟机迁移结束后,目的节点阻塞外部对磁盘的读写操作,并在磁盘上回放记录的写操作。由于需要迁移虚拟机磁盘的所有数据,因此该方案总体迁移时间长,迁移的数据量大,在一定程度上影响了迁移效率。
文献[5]实现按需取块的磁盘迁移策略,先迁移虚拟机的内存数据和CPU 状态,在迁移过程中,磁盘读写在源节点上进行。当虚拟机在目的节点上恢复运行后,根据读写磁盘的请求,从源节点按需取数据块,并在目的节点缓存。当所有需要的块均被缓存后,在目的节点上即可实现磁盘的本地操作。该策略可以有效减少磁盘迁移的数据量,缩短迁移的总体时间,但会造成对源主机长时间的依赖,且迁移后仍需访问源节点的磁盘,降低了访问速度。
综上所述,现有WAN 条件下的磁盘迁移方法在迁移时间、迁移数据量以及迁移后对源节点的依赖程度等方面存在局限。针对上述情况,本文提出一种带冗余检测功能的磁盘在线迁移策略,与实时磁盘同步相比,能缩短迁移时间,减少磁盘迁移的数据量,并实现了虚拟机对目的节点磁盘的本地操作。
3 磁盘迁移策略
3.1 策略描述
磁盘迁移策略(RCS-DLM)基于周期同步方式保持源、目的节点上磁盘数据的一致性,以此为基础,进行虚拟机在线迁移。磁盘在线迁移的工作原理如图1 所示,该策略包括非同步期的写标记、同步与冗余检测、虚拟机在线迁移3 个阶段,其中,在虚拟机迁移触发前,前2 个阶段反复交替执行,迁移触发后,进入第3 个阶段,执行虚拟机迁移任务。
图1 磁盘在线迁移的工作原理
图1 的具体说明如下:
(1)Bitmap 写标记与实时的磁盘同步不同,在非同步期内,RCS-DLM 负责将虚拟机的写数据直接写入源节点a 的磁盘而不传输至目的节点b。如图1 所示,在源节点a,虚拟机的写磁盘请求经过虚拟机监控器的事件通道传递至Dom0 域的设备模块,设备模块响应该请求,并将数据写入虚拟机在a 的磁盘分区。在这一过程中,RCS-DLM 捕获并通过Bitmap 记录被写磁盘块(脏块)的位置。Bitmap 中的每一位对应一个数据块,若数据块为脏块,则相应位为1,否则为0。本文中数据块大小为4 KB,若取虚拟机磁盘大小为8 GB,则Bitmap 自身仅为0.25 MB。
在非同步期内,如果虚拟机多次将数据写入同一个磁盘块,其相应的Bitmap 位被置为1,但由于每次写入的数据不会同步至目的节点,因此避免了在两节点间同步无效的冗余数据,节约了传输带宽。
(2)同步与冗余检测
同步期内的主要工作包括基于冗余检测的磁盘数据同步以及实时数据复制。
磁盘数据同步:在同步开始时,a 将非同步期的Bitmap发送至b,两节点根据该位图分别计算对应各脏块的Hash值;随后,b 将Hash 表发送至a,节点a 依次比较每个对应脏块的Hash 值,如果匹配,那么表示该块内容一致,反之,则表示不一致;最后,RCS-DLM 将Hash 值不匹配的块同步至节点b,待数据一致后,将Bitmap 所有位置0。冗余检测避免了同步内容一致的数据块,减少了迁移的磁盘数据量。
实时数据复制:在进行数据同步的过程中,虚拟机仍会向磁盘写入数据,RCS-DLM 将数据写入a 磁盘块的同时通过节点间的TCP 连接复制到b。若此块在非同步期已被标记为脏块,且准备同步至b,则RCS-DLM 将其从同步队列中删除,并将Bitmap 相应位置0,这进一步减少了需要同步的数据量。
(3)虚拟机在线迁移
RCS-DLM 负责接受迁移命令,若迁移触发时a 节点、b节点处于非同步期,则立即转入同步期进行数据同步,在数据一致后进行虚拟机内存和CPU 状态的迁移,如图1 所示;在迁移过程中,虚拟机写入a 磁盘的数据,同样被实时复制到b 磁盘;虚拟机重启后,直接读写b 磁盘,而并不需要访问a。迁移后,a 节点、b 节点间仍可保持磁盘的周期同步,这样方便虚拟机迁回a 节点。
3.2 RCS-DLM 的性能分析
比较从自迁移命令触发到完成的过程中, 预迁移、RCS-DLM 及实时同步3 种方式所传输的磁盘数据量。预迁移方式从源节点复制到目的节点的磁盘数据量sumd可由下式计算得出:
(1)
其中,D 表示虚拟机所占磁盘大小;wd 表示复制D 过程中每次新产生脏块的大小;P 表示写次数;wm 为内存和CPU 状态迁移过程中每次写磁盘的数据量;Q 为写次数。RCS-DLM 迁移的数据量sumr 可由下式计算得出:
*(2)
设迁移触发时,a、b 正处于非同步期,随后,转入同步期,其需要同步的脏块数据量为R,R
因为实时同步方式在迁移内存前无需磁盘脏块的迁移,所以其迁移的数据量sums表示仅发生在内存迁移过程中的磁盘写数据,sums=sumr?R。但由于该方式要求有充足的带宽来保证磁盘的实时同步,这一点在WAN 环境下很难做到,特别是在执行磁盘密集型任务时更难保证,因此存在较大的局限性。
从分析来看,在迁移启动到完成的过程中,RCS-DLM需要迁移的磁盘数据量远小于预迁移方式,但比实时同步方式稍大。假设在3 种方式下a 节点、b 节点间的可用带宽相同,则RCS-DLM 迁移所需的总体时间远小于预迁移但略大于实时同步方式。
4 实验结果与分析
4.1 实验环境
硬件环境为:2 个在不同子网的宿主机节点,节点间带宽设置为10 MB/s,每节点配置双Xeon E5504 CPU、8 GB内存,分别为源节点、目的节点,虚拟机则由2 个VCPU、512 MB 内存组成。软件环境为:Linux 平台,虚拟化软件Xen3.0.3,使用DF 工具模拟磁盘写操作,并使用Tcpdump统计源、目的节点间数据的吞吐量。本文设计3 组实验分别进行虚拟机读写性能及迁移时间的测试。
4.2 实验设计与结果分析
4.2.1 实时同步方式的性能比较
本文实验比较实时同步与RCS-DLM 在冗余数据、传输带宽两方面的性能。在虚拟机中模拟磁盘写操作,每隔2 s写入8 MB 数据,总计写100 次,另外,写入2 个200 MB的突发数据,非同步期固定为8 s,写操作下2 种策略网络吞吐量比较如图2 所示。结果发现:在实时同步方式下,复制到目的节点的数据量为1.097 GB,RCS-DLM 为0.632 GB,有0.465 GB 的冗余数据无需同步至目的节点,占实时同步的42.4%。在传输过程中,实时方式要求的最高带宽8.97 MB/s,RCS-DLM 为5.96 MB/s。可见,冗余检测能够有效避免同步无效数据,降低数据传输对带宽的要求。
图2 写操作下2种策略网络吞吐量比较
4.2.2 磁盘读操作性能测试
本文实验在虚拟机中设置FTP 服务器,以检测读虚拟机磁盘时RCS-DLM 的性能。实验在165 s 的时间内,读取虚拟机磁盘上0.972 GB 的数据,非同步期固定为35 s,读操作下本文策略的网络吞吐量如图3 所示。实验发现:尽管FTP 客户端从虚拟机读取了大量的数据,但由于读磁盘并不触发写操作,因此在同步期源、目的节点仅同步从客户端上传的文件和同步信息,数据量少。可见,RCS-DLM 能够较好地满足读操作密集的应用。
图3 读操作下本文策略的网络吞吐量
4.2.3 迁移时间测试与比较
在RCS-DLM 方式的迁移过程中,以10 s 间隔写入不同大小的磁盘文件,统计迁移的总时间及内存迁移的数据量。不同磁盘负载情况下迁移性能比较如图4 所示,在迁移过程中,随着写数据量的增加,迁移的总时间和内存迁移量将有所增加。在无负载时,内存迁移量为0.577 GB,与内存大小0.512 GB 相比,迭代传输的内存量为0.065 GB,迁移总时间48.1s;写入50 MB 大小的文件时,内存迁移量为0.623 GB,迭代传输为0.111 GB,迁移总时间54.3 s。较之无负载情况,内存迭代增加率为7.9%,迁移总时间增加率为12.9%,增幅较低。
图4 不同磁盘负载情况下迁移性能比较
此外,实验还利用Ping 测试虚拟机在无负载情况下迁移的暂停响应时间。共享存储方式的暂停时间为4.3s,RCSDLM的暂停时间为4.6 s,与共享存储方式的时间相近。
5 结束语
本文设计实现了带有冗余检测的虚拟机磁盘在线迁移策略。实验结果表明,通过周期同步、冗余检测等多种方式减少了自虚拟机迁移命令触发到迁移完成过程中磁盘同步的数据量,降低了带宽需求,缩短了迁移的总时间,该策略可应用于WAN 环境中的虚拟机在线迁移。基于本文工作,今后将在虚拟机整体迁移方面开展研究,包括优化虚拟机磁盘、内存、网络等的迁移时序,进一步降低WAN 环境下延迟抖动对迁移的影响。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于同步机制的虚拟机磁盘在线迁移策略
本文网址:http://www.toberp.com/html/consultation/1083943484.html