一种在未来网络ndn下的广域网中虚拟机在线迁移方法

文档序号:7779823阅读:180来源:国知局
一种在未来网络ndn下的广域网中虚拟机在线迁移方法
【专利摘要】本发明涉及一种在未来网络NDN下的广域网中虚拟机在线迁移方法,包括:迁移数据发送方将虚拟机迁移数据写入到标准输入流中,并将数据封装成数据消息发布到内容缓冲区中;迁移数据接收方向迁移数据发送方请求数据,迁移数据发送方从内容缓冲区中查询数据,并发送给迁移数据接收方;迁移数据接收方接收数据消息,并对数据解析后写入到标准输出流中,虚拟机从标准输出流中读取数据并加载虚拟机。与现有技术相比,本发明实现了在NDN网络下的广域网的虚拟机在线迁移,使虚拟机上的应用在虚拟机迁移的过程中保持不断,实现虚拟机的无缝迁移,并通过动态自适应机制保证迁移完成之后网络畅通。对未来网络NDN的云计算和负载均衡具有重要意义。
【专利说明】一种在未来网络NDN下的广域网中虚拟机在线迁移方法
【技术领域】
[0001]本发明涉及网络通信和云计算【技术领域】,尤其是涉及一种在未来网络NDN下的广域网中虚拟机在线迁移方法。
【背景技术】
[0002]虚拟化整合服务器通过虚拟化将物理服务器虚拟成虚拟服务器,在物理服务器数目相同的情况下虚拟出更多的服务器,充分利用资源,可以在电力和冷却成本上获得巨大节省。虚拟机的迁移为服务器集群的负载均衡提供了条件,灵活动态管理管理调节云计算环境资源。
[0003]随着互联网技术的不断发展,当代IP网络的问题也日益暴露出来。IP的窄腰的设计之初是为了实现网络的通信,已经渐渐的满足不了当代通信和服务所需要的大数据量通信,从而严重的降低了通信的效率。TCP / IP协议设计之初没有考虑到安全性,因此现在对TCP / IP提供的安全性属于事后考虑的安全性,而这种安全性很难为现代网络中为数据提供真正的安全。随着IP地址的逐渐耗尽,急需一种新的网络来满足当代服务的需求。
[0004]NDN(Named Data Networking)是由 NSF(National Science Foundation)资助的一种新型未来网络。NDN设计则是针对Content数据块s内容的窄腰,网络通信是面向内容的网络通信,它的传输能力很好的满足了当代应用和通信的需求。NDN的寻址方式是通过分层形式的名字(hierarchically structured names)进行寻址的,对数据(内容)进行命名,名字没有长度限制。NDN在协议的设计之初就将安全性设计到协议之中,使用面向数据的安全机制,NDN会对每个Content Object中的数据进行签名,使安全性成为NDN中的独立的一个层,极大的提高了数据在网络传输过程中的安全性。

【发明内容】

[0005]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种在未来网络NDN下的广域网中虚拟机在线迁移方法。
[0006]本发明的目的可以通过以下技术方案来实现:一种在未来网络NDN下的广域网中虚拟机在线迁移方法,其特征在于,包括以下步骤:
[0007](I)迁移数据发送方将虚拟机迁移数据写入到标准输入流中,并将数据封装成数据消息发布到内容缓冲区中;
[0008](2)迁移数据接收方向迁移数据发送方请求数据,迁移数据发送方从内容缓冲区中查询数据,并发送给迁移数据接收方;
[0009](3)迁移数据接收方接收数据消息,并对数据解析后写入到标准输出流中,虚拟机从标准输出流中读取数据并加载虚拟机;
[0010](4)虚拟机从一个局域网迁移到另一个局域网迁移时,虚拟机地址修改进程读取配置文件检测虚拟机的地址信息和配置信息,并通过构造扩展ARP协议修改虚拟机的地址
信息;[0011](5)修改完地址信息后,虚拟机自动检测连到本机的所有远程客户端主机的IP地址,并向所有远程客户端主机发送修改NDN路由表命令,远程客户端主机收到命令后,自动修改本机的NDN路由表使其与虚拟机能正常通信,从而达到应用的不间断。
[0012]实施步骤(I)具体为,虚拟机采用Qemu-Kvm的exec方式进行迁移,先将虚拟机数据写入到标准输入流中,NDN迁移程序从标准输入流中读取数据,再通过对数据块进行计数的方法产生数据块的名字,根据获得的名字对数据进行命名后,将数据封装成数据消息发布到内容缓冲区中。
[0013]实施步骤(2)具体为,先通过对数据块进行计数的方法产生数据块的名字,再根据名字构造请求消息,并将该请求消息发送给数据发送方,数据发送方从内容缓冲区中查询数据接收方请求的数据,并发送给数据接收方。
[0014]步骤(4)所述的扩展ARP协议是对ARP进行重写,在ARP协议的基础上增加新的字段,所述的字段包括虚拟机原地址u_char vm_spa[4],虚拟机迁移到新局域网的子网掩码u_char netmask[4],虚拟机迁移到新局域网的网关u_char gateway [4],扩展字段u_charextend_nrp [4],虚拟机新地址 u_char atp_tpa [4]。
[0015]实施步骤(4)具体为,
[0016]41)虚拟机地址修改进程读取配置文件信息,填充扩展ARP协议的所有字段,设置表示请求修改虚拟机的地址信息的操作码字段,设置以太网协议类型字段为扩展ARP协议类型,构造以太网报头,源MAC地址为迁移数据接收方主机的MAC地址,目的MAC地址为虚拟机的MAC地址,将构造好的以太网帧发送给虚拟机;
[0017]42)当虚拟机收到以太网帧后,判断以太网协议类型字段是否为扩展ARP协议类型,扩展ARP协议数据包是否为请求修改虚拟机的地址信息的请求包,如果是则解析出所有的信息,并构造扩展ARP协议的确认包发送给虚拟机的宿主主机;
[0018]43)虚拟机的宿主主机判断是否收到虚拟机发送来的扩展ARP协议的确认帧,是则停止发送扩展ARP协议的以太网帧,否则每隔0.5s向虚拟机发送此以太网帧。
[0019]实施步骤(5)具体为,虚拟机的地址修改完毕后,网络上的主机可以与虚拟机进行正常通信,虚拟机检测NDN网络中所有连接到虚拟机的Face,并根据检测出的Face信息解析出所有通过NDN网络连接到虚拟机的客户端的IP地址,根据IP地址向所有的客户端发送修改路由表命令;
[0020]当客户端收到虚拟机发送来的路由修改命令后,根据命令提供的信息构造NDN路由项删除命令,删除原来连接到虚拟机的NDN路由项,同时构造NDN路由项添加命令,添加连接到虚拟机的新的路由项中。
[0021]在虚拟机在线迁移过程中,虚拟机应用的客户端通过NDN网络方问虚拟机中的应用,根据应用是否终端判断得出虚拟机是否是在线迁移。
[0022]在虚拟机在线迁移过程中,使用nping程序每隔200ms向虚拟机请求一次数据,通过统计nping的丢包率,得到NDN网络下虚拟机在线迁移的停机时间。
[0023]与现有技术相比,本发明实现了在NDN网络下的局域网和广域网的虚拟机在线迁移,使虚拟机上的应用在虚拟机迁移的过程中保持不断,对未来网络NDN的云计算和负载均衡具有重要意义。【专利附图】

【附图说明】
[0024]图1为本发明的流程示意图;
[0025]图2为本发明实施例中NDN网络下局域网虚拟机在线迁移测试平台示意图;
[0026]图3为本发明实施例中NDN网络下广域网虚拟机在线迁移测试平台示意图。
【具体实施方式】
[0027]下面结合附图和具体实施例对本发明进行详细说明。
[0028]实施例:图2所示为NDN网络下局域网虚拟机在线迁移测试平台,图3为NDN网络下广域网虚拟机在线迁移测试平台。图中,H0ST_A为源宿主主机,H0ST_B为目的宿主主机,H0ST_C为应用客户端,H0ST_VM为虚拟机,S为交换机,R为路由器。H0ST_A和H0ST_B的配置为i3处理器、8GB内存以及8GB的swap分区;H0ST_C的配置为Intel酷睿2双核处理器、2GB内存以及8GB的swap分区;H0ST_A、H0ST_B、H0ST_C、H0ST_VM的操作系统均为linux Ubuntu12.04.2,内核版本为 3.5.0-23-generic,使用 QEMU-KVM-1.0 虚拟机。
[0029]在以上评测平台上测试本发明方法虚拟机在线迁移具体包括如下步骤:
[0030]步骤1,根据图2和图3搭建局域网和广域网的网络环境,并将主机部署好NDN网络,在H0ST_A,H0ST_B和H0ST_C上开启NDN网络;
[0031 ] 步骤2,使用命令:
[0032]/ usr / local / kvm / bin / qemu-1mg create—f raw / var / lib /libvirt / images / ubuntu.1mg4G 在 H0ST_B 上创建镜像;
[0033]步骤3,在H0ST_A上使用脚本启动虚拟机,在虚拟机中启动NDN网络开启服务,并开启虚拟机地址修改客户端进程:
[0034]步骤4,在H0ST_A、H0ST_B、H0ST_C上开启哥德巴赫猜想的客户端进程用来显示虚拟机中哥德巴赫猜想应用的服务器端产生的结果,在H0ST_C上开启nping的客户端进程;
[0035]步骤5,在H0ST_A、H0ST_B、H0ST_C开启路由表修改监听进程,同时在H0ST_B上开启虚拟机地址修改服务器端进程;
[0036]步骤6,在QEMU中打开控制台界面,输入迁移命令migrate-bexec: / ndnx_0.1 /csrc / cmd / ndn_migrate_client 开始进行迁移;
[0037]步骤7,在H0ST_B上使用脚本dest-kvm-start_ndn.sh启动虚拟机迁移接收程序开始进行虚拟机的迁移;
[0038]步骤8,迁移结束后查看H0ST_A、H0ST_B> H0ST_C的哥德巴赫猜想应用和H0ST_C上的nping是否中断来判断自适应机制是否成功触发,并根据nping最后统计的结果计算丢包率,并根据丢包的数量计算虚拟机暂停时间downtime。
[0039]实现步骤I的详细过程为:
[0040](11)从github下载ndnx-0.1编译并安装到各个主机上,同时从github上下载ndn-cpp-0.1编译并安装到各个主机上;
[0041](12)在 H0ST_A 和 H0ST_B 上分别对 / etc / network / interfaces 配置文件进行配置,添加桥接brO和虚拟机的虚拟网卡tapO,其中,H0ST_A的interfaces配置文件配置如下:
[0042]
【权利要求】
1.一种在未来网络NDN下的广域网中虚拟机在线迁移方法,其特征在于,包括以下步骤: (1)迁移数据发送方将虚拟机迁移数据写入到标准输入流中,并将数据封装成数据消息发布到内容缓冲区中; (2)迁移数据接收方向迁移数据发送方请求数据,迁移数据发送方从内容缓冲区中查询数据,并发送给迁移数据接收方; (3)迁移数据接收方接收数据消息,并对数据解析后写入到标准输出流中,虚拟机从标准输出流中读取数据并加载虚拟机; (4)虚拟机从一个局域网迁移到另一个局域网迁移时,虚拟机地址修改进程读取配置文件检测虚拟机的地址信息和配置信息,并通过构造扩展ARP协议修改虚拟机的地址信息; (5)修改完地址信息后,虚拟机自动检测连到本机的所有远程客户端主机的IP地址,并向所有远程客户端主机发送修改NDN路由表命令,远程客户端主机收到命令后,自动修改本机的NDN路由表使其与虚拟机能正常通信,从而达到应用的不间断。
2.根据权利要求1所述的一种在未来网络NDN下的广域网中虚拟机在线迁移方法,其特征在于,实施步骤(1)具体为,虚拟机采用Qemu-Kvm的exec方式进行迁移,先将虚拟机数据写入到标准输入流中,NDN迁移程序从标准输入流中读取数据,再通过对数据块进行计数的方法产生数据块的名字,根据获得的名字对数据进行命名后,将数据封装成数据消息发布到内容缓冲区中。
3.根据权利要求1所述的一种在未来网络NDN下的广域网中虚拟机在线迁移方法,其特征在于,实施步骤(2)具体为,先通`过对数据块进行计数的方法产生数据块的名字,再根据名字构造请求消息,并将该请求消息发送给数据发送方,数据发送方从内容缓冲区中查询数据接收方请求的数据,并发送给数据接收方。
4.根据权利要求1所述的一种在未来网络NDN下的广域网中虚拟机在线迁移方法,其特征在于,步骤(4)所述的扩展ARP协议是对ARP进行重写,在ARP协议的基础上增加新的字段,所述的字段包括虚拟机原地址u_char vm_spa[4],虚拟机迁移到新局域网的子网掩码u_char netmask[4],虚拟机迁移到新局域网的网关u_char gateway [4],扩展字段u_char extend_nrp [4],虚拟机新地址 u_char arp_tpa[4]。
5.根据权利要求4所述的一种在未来网络NDN下的广域网中虚拟机在线迁移方法,其特征在于,实施步骤(4)具体为, 41)虚拟机地址修改进程读取配置文件信息,填充扩展ARP协议的所有字段,设置表示请求修改虚拟机的地址信息的操作码字段,设置以太网协议类型字段为扩展ARP协议类型,构造以太网报头,源MAC地址为迁移数据接收方主机的MAC地址,目的MAC地址为虚拟机的MAC地址,将构造好的以太网帧发送给虚拟机; 42)当虚拟机收到以太网帧后,判断以太网协议类型字段是否为扩展ARP协议类型,扩展ARP协议数据包是否为请求修改虚拟机的地址信息的请求包,如果是则解析出所有的信息,并构造扩展ARP协议的确认包发送给虚拟机的宿主主机; 43)虚拟机的宿主主机判断是否收到虚拟机发送来的扩展ARP协议的确认帧,是则停止发送扩展ARP协议的以太网帧,否则每隔0.5s向虚拟机发送此以太网帧。
6.根据权利要求1所述的一种在未来网络NDN下的广域网中虚拟机在线迁移方法,其特征在于,实施步骤(5)具体为,虚拟机的地址修改完毕后,网络上的主机可以与虚拟机进行正常通信,虚拟机检测NDN网络中所有连接到虚拟机的Face,并根据检测出的Face信息解析出所有通过NDN网络连接到虚拟机的客户端的IP地址,根据IP地址向所有的客户端发送修改路由表命令; 当客户端收到虚拟机发送来的路由修改命令后,根据命令提供的信息构造NDN路由项删除命令,删除原来连接到虚拟机的NDN路由项,同时构造NDN路由项添加命令,添加连接到虚拟机的新的路由项中。
7.根据权利要求1所述的一种在未来网络NDN下的广域网中虚拟机在线迁移方法,其特征在于,在虚拟机在线迁移过程中,虚拟机应用的客户端通过NDN网络访问虚拟机中的应用,根据应用是否终端判断得出虚拟机是否是在线迁移。
8.根据权利要求1所述的一种在未来网络NDN下的广域网中虚拟机在线迁移方法,其特征在于,在虚拟机在线迁移过程中,使用nping程序每隔200ms向虚拟机请求一次数据,通过统计nping的丢包率,得·到NDN网络下虚拟机在线迁移的停机时间。
【文档编号】H04L12/46GK103716221SQ201310670688
【公开日】2014年4月9日 申请日期:2013年12月10日 优先权日:2013年12月10日
【发明者】张大陆, 王建鹏, 金翔, 周德江 申请人:同济大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1