1 概述
虚拟机在线迁移技术能将虚拟机从源节点透明地迁移到目的节点,而用户不会感知到物理节点的切换,有效提高服务可用性,可广泛应用于资源调度、服务器在线维护等方面。现有在线迁移技术通常局限在一个局域网范围内,如VMware的VMotion和Xen的Live Migration等,主要涉及内存、CPU状态的迁移以及网络的重定向。以Xen为例,Xen使用预复制技术通过反复迭代内存脏页实现内存数据和CPU状态的迁移;在保持虚拟机IP不变的情况下,采用主动地址解析协议(Address Resolution Protocol,ARP)广播更新交换机中MAC地址与端口的对应关系以实现网络重定向;源节点、目的节点使用网络文件系统(Network File System,NFS)共享虚拟机镜像文件,避免磁盘迁移。
在局域网之间或WAN范围内,由于源、目的节点所在IP范围不同,虚拟机迁入到目的网络后,如果不改变IP地址则无法通信,如果改变了IP,将中断原有网络连接,影响迁移的透明性。基于此,本文提出一种新的网络重定向模型LMNR(Live Migration Network Redirection)。
2 相关工作
文献[3]利用虚拟专用局域网业务(Virtual Private LANService, VPLS)技术桥接分布在WAN范围内的多个宿主机以形成一个虚拟的局域网。网络中的虚拟机在迁移过程中无需改变IP地址,便可保持原有网络连接,实现在线迁移。但该方式不仅要求网络中的路由器支持VPLS,还需要在迁移过程中动态配置路由器。
文献[4]提出在源、目的节点间建立双向IP隧道的网络重定向策略,通过隧道保持虚拟机的IP地址不变,并在迁移后,为虚拟机配置一个新的IP,以接受新的请求。该策略使原有连接的往返数据均通过源、目的节点中继,增加了数据转发路径,引入了额外的延迟。此外,新增IP还需要改变虚拟机的网关、路由等网络信息,影响虚拟机的路由稳定。
文献[5]设计基于移动IP技术的网络连接重定向系统。当虚拟机迁移到不同子网时,将其看作移动节点,不改变IP地址,通过目的节点(外部网络)和源节点(家乡网络)之间的双向隧道传输所有来自和发往虚拟机的数据。与文献[4]相似,该系统使所有数据通过源、目的节点转发。此外,系统还要求物理节点支持ARP代理协议。
综上所述,文献[4-5]在虚拟机迁移后,原有连接的往返数据仍然依靠源、目的节点的双向隧道中继,增加了数据传输路径和延迟。文献[3,5]提出的重定向策略对传输路径中的路由器和物理节点是不透明的,对设备要求较高,使用户难以部署该策略。
针对现有跨域迁移策略在传输路径及设备透明性方面存在的局限,本文提出在源节点与虚拟机间直接建立与设备无关的单向IP隧道的方法,优化重定向的传输路径,使虚拟机不改变IP便可保持原有连接,并采用IP双栈策略提高对新服务请求的响应速度。
3 网络重定向模型
3.1 模型定义
定义网络重定向模型形式化描述为四元组,其中:
(1)S、D分别表示在线迁移的源节点和目标节点的集合,设a∈S,?b∈D;
(2)V表示拟迁移虚拟机的集合,设vi∈V,且设vi的原有IP地址为IPvo,迁移后新增IP地址为IPvn;
(3)f表示为S→V,即从S到V的映射关系,实现从源节点到虚拟机的网络重定向策略。
3.2LMNR算法描述
LMNR算法通过预配置、ARP同步以及会话处理等6个阶段实现虚拟机跨域迁移的网络重定向,如图1所示。
图1 LMNR数据传输示意图
LMNR数据传输具体过程如下:
(1)预配置阶段
迁移前,预配置策略开启a节点特权域dom0的转发功能,为vi新增IPvn,预构建dom0到vi的IP隧道,隧道可表示为有序对
(2)迁移虚拟机阶段
该阶段基于Xen技术实现,采用预复制方法在a、b间传输内存数据和CPU状态,并在b节点重启vi。
(3)建立单向IP隧道阶段
该阶段由3个步骤组成,实现了IP隧道的建立和DNS的更新。
步骤1vi重启后,在a的dom0中广播定制的ARP欺骗报文,该报文可记为
由于在dom0中预设了指向vi的路由,因此数据到达dom0后被转发至隧道,随后被vi接收。
步骤2将ARP欺骗报文
MACbgw为b所在子网网关即y的MAC。这种改变网关MAC而保持其IP的策略是建立单向IP隧道的基础,同时也使得模型在为vi增加IPvn时并不需要新增网关IP,保持了vi的路由稳定。为快速建立IP隧道,需要同步a和vi上的ARP欺骗,模型通过在两者间建立传输控制协议(TransmissionControl Protocol,TCP)监听来解决这一问题,在完成迁移后立即向vi发送消息,使a和vi同时实施ARP欺骗。经过步骤1和步骤2后,单向IP隧道已经建立起来。在这一过程中不需要路由器或物理节点启用ARP代理或其他特定的功能,策略部署对设备而言是透明的。
步骤3dom0向DNS服务器发送更新报文,将vi域名对应的IP由IPvo更新为IPvn,使IPvn可以响应新的服务请求。更新后,IPvo将不会再接到新的请求。
(4)保持原有会话阶段
在迁移前,客户机e发起到IPvo的会话,重定向后的数据传输路径为有序组
(5)新增会话阶段
在迁移后,客户机g通过DNS获得vi的IPvn并向其发起新的会话请求,请求路径为
(6)撤销隧道阶段
模型检测IPvo保持的会话是否结束,若在结束前收到迁移返回指令,则撤销IP隧道,恢复ARP条目,并使vi返回节点;若结束,则撤销隧道,删除vi的IPvo,保留IPvn,即将vi本地化为b的虚拟机。与现有其他重定向模型不同,LMNR设计了vi本地化策略,本地化后vi可以根据需要迁往其他节点或迁回a节点,而此时b就为源节点。本地化避免了vi只能被迁回a节点,提高了迁移的灵活性。
LMNR算法使用预配置策略提前构建网络重定向环境,减少了迁移后系统的部署时间。利用同步ARP策略,同时开启a和vi的重定向功能,快速建立单向IP隧道。采用IP双栈,使虚拟机在保持原有会话的同时,利用新增IP响应所有新的连接请求,提高服务的响应效率。算法的伪代码如下:
4 实验与结果分析
4.1 实验环境
硬件环境为:3个分布在不同子网的宿主机节点(千兆网络),每节点配置双XeonE5504CPU、8GB内存,分别作为源节点a,目的节点b和NFS服务器,虚拟机vi具有2个虚拟CPU,512MB内存。
软件环境为:Linux平台,虚拟化软件Xen3.0.3。本文设计3组实验分别测试模型的性能。
4.2结果分析
实验1总迁移时间比较
在vi中运行SupERPI、Memtester和Netperf测试工具,分别模拟CPU、内存、带宽敏感的负载以及无负载4种情况,统计模型迁移vi的总时间并与传统的Xen域内迁移时间进行比较。实验发现:在相同负载的情况下,跨域模型比局域网内的总时间略有增加,但差别并不明显,如表1所示,其中,运行Netperf时增加最小,为0.239s,运行Memtester时增加最大,为2.664s,主要原因是该工具使内存迭代和重定向的数据量增加,从而增加总时间。
表1 总迁移时间比较
实验2 迁移性能测试
在vi中提供apache服务,并利用ab(apache bench)工具向vi的IPvo发起Http请求,测试迁移性能,请求总数为40000个,并发10个。实验发现:请求总时间为44.50s,过程中无请求失效。迁移前每个请求的平均时间为6.39ms;迁移后的平均时间为7.92ms,比迁移前增加1.53ms,延迟较小;迁移过程中的平均时间为9.75ms,有6个请求超过0.5s,分布区间为[2.515,2.602],其所占请求数的比例仅为0.015%,如图2所示。
图2 跨域迁移性能测试结果
可见,如果用户点击IPvo访问vi,迁移过程中和迁移后所增加的时间不会影响到用户的访问体验,原有会话被保持,模型具有良好的透明性。此外,实验还测试了IPvn响应请求的时间,其结果与迁移前IPvo的时间基本一致。实验结果表明:本文模型不仅利用原有IP保持会话,还可使用新增IP响应新请求,优化传输路径,提高服务响应效率。
实验3 网络暂停时间测试
在vi中提供流媒体服务,测试迁移的网络暂停时间。实验通过TCP协议传输数据,在client端通过播放器进行视频点播,并通过抓包统计数据信息。从图3可以看出,vi从源到目的节点的过程中网络暂停时间为2.58s,从目的节点返回的暂停时间为2.10s。由于暂停的时间短,且流媒体具有缓存功能,因此在整个过程中视频播放流畅,用户没有发现业务中断,满足了透明迁移的需求。
图3 服务暂停时间测试结果
5 结束语
本文设计并实现了跨域迁移的网络重定向模型,采用预配置、单向IP隧道以及IP双栈等多种策略有效提高数据重定向效率,减少部署时间。实验结果表明,该模型可以应用于跨局域网或WAN环境中的虚拟机在线迁移,具有较好的实用性。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:虚拟机跨域迁移中的网络重定向模型