著录项信息
专利名称 | 虚拟机参数迁移的方法、设备和虚拟机服务器 |
申请号 | CN201110071982.X | 申请日期 | 2011-03-24 |
法律状态 | 授权 | 申报国家 | 暂无 |
公开/公告日 | 2012-09-26 | 公开/公告号 | CN102694672A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市龙岗区坂田华为基地总部办公楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 顾颖杰;宋伟;江兴烽 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明实施例提供一种虚拟机参数迁移的方法、设备和虚拟机服务器。该方法包括:在虚拟机的不运行阶段接收虚拟机参数迁移消息,所述虚拟机参数迁移消息用于使所述虚拟机的上行网络设备在所述虚拟机的不运行阶段迁移所述虚拟机的虚拟机参数,所述虚拟机参数迁移消息包括所述虚拟机的标识。由于在虚拟机的不运行阶段中,虚拟机的上行网络设备上相应的虚拟机参数中的动态信息不会发生变化,虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数,可以正确完成虚拟机参数迁移,解决了虚拟机迁移中的业务中断问题。
1.一种虚拟机参数迁移方法,其特征在于,包括:
在虚拟机的不运行阶段接收需要迁移的虚拟机所在的服务器发送的虚拟机参数迁移消息,所述虚拟机参数迁移消息用于使所述虚拟机的迁出位置的上行网络设备在所述虚拟机的不运行阶段迁移所述虚拟机的虚拟机参数,以使所述虚拟机的虚拟机参数从所述虚拟机的迁出位置的上行网络设备迁移到所述虚拟机的迁入位置的上行网络设备;所述虚拟机参数迁移消息包括所述虚拟机的标识;
其中,所述虚拟机参数是所述虚拟机的上行网络设备中的动态信息。
2.根据权利要求1所述的方法,其特征在于,所述接收虚拟机参数迁移消息,包括:
迁移管理设备接收所述虚拟机参数迁移消息,所述迁移管理设备在所述虚拟机的不运行阶段发起虚拟机参数的迁移。
3.根据权利要求2所述的方法,其特征在于,所述迁移管理设备在所述虚拟机的不运行阶段发起虚拟机参数的迁移,包括以下之一:
所述迁移管理设备收到所述虚拟机参数迁移消息后,获取所述虚拟机的迁出位置的上行网络设备的虚拟机参数,并向所述虚拟机的迁入位置的上行网络设备发送所述获取的虚拟机参数;
所述迁移管理设备收到所述虚拟机参数迁移消息后,向所述虚拟机的迁入位置的上行网络设备发送虚拟机参数获取消息,所述虚拟机参数获取消息包括所述虚拟机的标识和所述虚拟机的迁出位置的对应的上行网络设备的标识,所述虚拟机参数获取消息用于使所述虚拟机的迁入位置的上行网络设备根据所述虚拟机的标识和所述迁出位置的对应的上行网络设备的标识获取迁出位置的对应的上行网络设备的虚拟机参数;
所述迁移管理设备收到所述虚拟机参数迁移消息后,向所述虚拟机的迁出位置的上行网络设备发送虚拟机参数推送消息,所述虚拟机参数推送消息包括所述虚拟机的标识和所述虚拟机的迁入位置的对应的上行网络设备的标识,所述虚拟机参数推送消息用于使所述虚拟机的迁出位置的上行网络设备根据所述虚拟机的标识和所述迁入位置的对应的上行网络设备的标识向迁入位置的对应的上行网络设备推送虚拟机参数。
4.根据权利要求1所述的方法,其特征在于,所述接收虚拟机参数迁移消息,包括:
所述虚拟机的迁出位置的上行网络设备接收所述虚拟机参数迁移消息;
所述方法进一步包括:
所述虚拟机的迁出位置的上行网络设备在所述虚拟机的不运行阶段迁移虚拟机参数。
5.根据权利要求4所述的方法,其特征在于,所述虚拟机的迁出位置的上行网络设备接收所述虚拟机参数迁移消息,包括:
所述虚拟机的迁出位置的上行网络设备接收所述虚拟机的迁出位置的服务器在虚拟机的不运行阶段发送的所述虚拟机参数迁移消息,所述虚拟机的迁出位置的上行网络设备向虚拟机参数管理设备发送虚拟机参数。
6.根据权利要求4或5所述的方法,其特征在于,所述虚拟机参数迁移消息,还包括虚拟机参数迁移指示,所述虚拟机参数迁移指示用于指示所述虚拟机的迁出位置的上行网络设备在所述虚拟机的不运行阶段迁移虚拟机参数,并用于指示所述虚拟机的迁移状态,所述迁移状态包括迁入或迁出。
7.一种虚拟机参数迁移方法,其特征在于,包括:
需要迁移的虚拟机所在的服务器发送在所述虚拟机的不运行阶段发送虚拟机参数迁移消息,所述虚拟机参数迁移消息用于使所述虚拟机的迁出位置的上行网络设备在所述虚拟机的不运行阶段迁移所述虚拟机的虚拟机参数,以使所述虚拟机的虚拟机参数从所述虚拟机的迁出位置的上行网络设备迁移到所述虚拟机的迁入位置的上行网络设备;所述虚拟机参数迁移消息包括所述虚拟机的标识;
其中,所述虚拟机参数是所述虚拟机的上行网络设备中的动态信息。
8.根据权利要求7所述的方法,其特征在于,所述发送虚拟机参数迁移消息,包括:
向迁移管理设备发送所述虚拟机参数迁移消息,以使所述迁移管理设备在所述虚拟机的不运行阶段发起虚拟机参数的迁移。
9.根据权利要求7所述的方法,其特征在于,所述发送虚拟机参数迁移消息,包括:
所述虚拟机的迁出位置的服务器在虚拟机的不运行阶段向上行网络设备发送所述虚拟机参数迁移消息,以使所述虚拟机的迁出位置的上行网络设备向虚拟机参数管理设备发送虚拟机参数。
10.根据权利要求7至9任一项所述的方法,其特征在于,所述虚拟机参数迁移消息,还包括虚拟机参数迁移指示,所述虚拟机参数迁移指示用于指示所述虚拟机的迁出位置的上行网络设备在所述虚拟机的不运行阶段迁移虚拟机参数,并用于指示所述虚拟机的迁移状态,所述迁移状态包括迁入或迁出。
11.一种迁移管理设备,其特征在于,包括接收单元和迁移单元;
所述接收单元,用于接收需要迁移的虚拟机所在的服务器发送的虚拟机参数迁移消息,所述虚拟机参数迁移消息用于使所述虚拟机的迁出位置的上行网络设备在所述虚拟机的不运行阶段迁移所述虚拟机的虚拟机参数,以使所述虚拟机的虚拟机参数从所述虚拟机的迁出位置的上行网络设备迁移到所述虚拟机的迁入位置的上行网络设备;所述虚拟机参数迁移消息包括所述虚拟机的标识;
所述迁移单元,用于根据所述虚拟机参数迁移消息迁移所述虚拟机参数;
其中,所述虚拟机参数是所述虚拟机的上行网络设备中的动态信息。
12.根据权利要求11所述的迁移管理设备,其特征在于,所述迁移单元,具体用于,获取所述虚拟机的迁出位置的上行网络设备的虚拟机参数,并向所述虚拟机的迁入位置的上行网络设备发送所述获取的虚拟机参数。
13.根据权利要求11所述的迁移管理设备,其特征在于,所述迁移单元,具体用于,向所述虚拟机的迁入位置的上行网络设备发送虚拟机参数获取消息,所述虚拟机参数获取消息包括所述虚拟机的标识和所述虚拟机的迁出位置的对应的上行网络设备的标识,所述虚拟机参数获取消息用于使所述虚拟机的迁入位置的上行网络设备根据所述虚拟机的标识和所述迁出位置的对应的上行网络设备的标识获取迁出位置的对应的上行网络设备的虚拟机参数。
14.根据权利要求11所述的迁移管理设备,其特征在于,所述迁移单元,具体用于,向所述虚拟机的迁出位置的上行网络设备发送虚拟机参数推送消息,所述虚拟机参数推送消息包括所述虚拟机的标识和所述虚拟机的迁入位置的对应的上行网络设备的标识,所述虚拟机参数推送消息用于使所述虚拟机的迁出位置的上行网络设备根据所述虚拟机的标识和所述迁入位置的对应的上行网络设备的标识向迁入位置的对应的上行网络设备推送虚拟机参数。
15.一种网络设备,其特征在于,所述网络设备为需要迁移的虚拟机的迁出位置的上行网络设备,所述网络设备包括接收单元和迁移单元;
所述接收单元,用于接收所述虚拟机所在的服务器发送的虚拟机参数迁移消息,所述虚拟机参数迁移消息包括所述虚拟机的标识和虚拟机参数迁移指示,所述虚拟机参数迁移指示用于指示所述虚拟机的迁出位置的上行网络设备在所述虚拟机的不运行阶段迁移虚拟机参数,以使所述虚拟机的虚拟机参数从所述虚拟机的迁出位置的上行网络设备迁移到所述虚拟机的迁入位置的上行网络设备,并用于指示所述虚拟机的迁移状态,所述迁移状态包括迁入或迁出;
所述迁移单元,用于根据所述虚拟机参数迁移消息迁移虚拟机参数;
其中,所述虚拟机参数是所述虚拟机的上行网络设备中的动态信息。
16.一种虚拟机服务器,其特征在于,包括触发单元和发送单元;
所述触发单元,用于在虚拟机的不运行阶段触发所述发送单元发送虚拟机参数迁移消息;
所述发送单元,用于发送虚拟机参数迁移消息,所述虚拟机参数迁移消息用于使所述虚拟机的迁出位置的上行网络设备在所述虚拟机的不运行阶段迁移所述虚拟机的虚拟机参数,以使所述虚拟机的虚拟机参数从所述虚拟机的迁出位置的上行网络设备迁移到所述虚拟机的迁入位置的上行网络设备;所述虚拟机参数迁移消息包括所述虚拟机的标识;
其中,所述虚拟机参数是所述虚拟机的上行网络设备中的动态信息。
17.根据权利要求16所述的虚拟机服务器,其特征在于,所述发送单元,具体用于向迁移管理设备发送所述虚拟机参数迁移消息,以使所述迁移管理设备在所述虚拟机的不运行阶段发起虚拟机参数的迁移。
18.根据权利要求16所述的虚拟机服务器,其特征在于,所述发送单元,具体用于向所述虚拟机的迁出位置的上行网络设备发送所述虚拟机参数迁移消息,所述虚拟机参数迁移消息,还包括虚拟机参数迁移指示,所述虚拟机参数迁移指示用于指示所述虚拟机的迁出位置的上行网络设备在所述虚拟机的不运行阶段迁移虚拟机参数,并用于指示所述虚拟机的迁移状态,所述迁移状态包括迁入或迁出。
虚拟机参数迁移的方法、设备和虚拟机服务器\n技术领域\n[0001] 本发明涉及网络通信领域,尤其涉及一种虚拟机参数迁移的方法、设备和虚拟机服务器。\n背景技术\n[0002] 服务器虚拟化是将服务器物理资源抽象成逻辑资源,让一台服务器成为多台独立的虚拟服务器,或者让几台服务器作为一台服务器来使用的技术。服务器虚拟化不再受限于物理上的界限,而是硬件变成可以动态管理的资源池,从而提高资源的利用率,简化系统管理,实现服务器整合。\n[0003] 服务器虚拟化通常的实现方式是将服务器虚拟为虚拟机(VirtualMachine,VM)。\n虚拟机是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。其中,某些情况下需要应用虚拟机迁移(migration)技术。虚拟机迁移技术利用服务器、存储和网络连接的完全虚拟化,可将正在运行的整个虚拟机从一台服务器即刻移到另一台服务器中。\n[0004] 虚拟机迁移的一个重要要求是业务不中断,为达到这一目标,就必须在虚拟机迁移完成之前,在虚拟机迁入位置的服务器即目的服务器,以及目的服务器的上行网络设备上配置相应的虚拟机参数。虚拟机参数可以包括静态配置和动态信息。静态配置即不随时间动态变化的虚拟机参数,这些配置的时间要求并不敏感,只要在VM迁移完成之前配置完就不会影响VM上运行的业务。除静态配置之外,在虚拟机的上行网络设备上还会根据网络流量或状态生成一些动态信息。动态信息为可能随时间动态变化的虚拟机参数,例如防火墙(firewall)或具有防火墙功能的设备可以保存传输控制协议(Transmission Control Protocol,TCP)连接表,即描述一个TCP连接的必要信息,如源网际协议(InternetProtocol,IP)地址和目的IP地址,源端口和目的端口,连接状态,当前序列号等;又如启动动态主机设置协议(Dynamic Host ConfigurationProtocol,DHCP)监听(snooping)功能的上行网络设备上需要有DHCPsnooping表;某些上行网络设备上还可以保存累计数据,如一个VM当前已经建立多少个TCP连接,发了多少报文等。这些动态信息是无法事先配置的。而这些动态信息的正确配置将直接影响VM上正在运行的业务。例如,如果防火墙缺乏TCP连接表将导致VM上正在运行的业务报文被防火墙丢弃。\n[0005] 通常,在虚拟机迁移时,虚拟机参数中只有静态配置会被迁移,动态信息由虚拟机的上行网络设备在虚拟机迁移后重新获取。在重新获取到动态信息前,虚拟机的业务可能出现中断。\n发明内容\n[0006] 本发明实施例的目的是提供一种虚拟机参数迁移的方法、设备和虚拟机服务器,用以解决虚拟机迁移中的业务中断问题。\n[0007] 本发明实施例的目的是通过以下技术方案实现的:\n[0008] 一种虚拟机参数迁移方法,包括:\n[0009] 在虚拟机的不运行阶段接收虚拟机参数迁移消息,所述虚拟机参数迁移消息用于使所述虚拟机的上行网络设备在所述虚拟机的不运行阶段迁移所述虚拟机的虚拟机参数,所述虚拟机参数迁移消息包括所述虚拟机的标识。\n[0010] 另一种虚拟机参数迁移方法,包括:\n[0011] 在虚拟机的不运行阶段发送虚拟机参数迁移消息,所述虚拟机参数迁移消息用于使所述虚拟机的上行网络设备在所述虚拟机的不运行阶段迁移所述虚拟机的虚拟机参数,所述虚拟机参数迁移消息包括所述虚拟机的标识。\n[0012] 一种迁移管理设备,包括接收单元和迁移单元;\n[0013] 所述接收单元,用于接收虚拟机参数迁移消息,所述虚拟机参数迁移消息用于使所述虚拟机的上行网络设备在所述虚拟机的不运行阶段迁移所述虚拟机的虚拟机参数,所述虚拟机参数迁移消息包括所述虚拟机的标识;\n[0014] 所述迁移单元,用于根据所述虚拟机参数迁移消息迁移虚拟机参数。\n[0015] 一种网络设备,所述网络设备位于虚拟机的上行路径上,所述网络设备包括,接收单元和迁移单元;\n[0016] 所述接收单元,用于接收虚拟机参数迁移消息,所述虚拟机参数迁移消息包括所述虚拟机的标识和虚拟机参数迁移指示,所述虚拟机参数迁移指示用于指示所述虚拟机的上行网络设备在所述虚拟机的不运行阶段迁移虚拟机参数,并用于指示所述虚拟机的迁移状态,所述迁移状态包括迁入或迁出;\n[0017] 所述迁移单元,用于根据所述虚拟机参数迁移消息迁移虚拟机参数。\n[0018] 一种虚拟机服务器,包括触发单元和发送单元;\n[0019] 所述触发单元,用于在虚拟机的不运行阶段触发所述发送单元发送虚拟机参数迁移消息;\n[0020] 所述发送单元,用于发送虚拟机参数迁移消息,所述虚拟机参数迁移消息用于使所述虚拟机的上行网络设备在所述虚拟机的不运行阶段迁移所述虚拟机的虚拟机参数,所述虚拟机参数迁移消息包括所述虚拟机的标识。\n[0021] 采用本发明实施例提供的技术方案,由于在虚拟机的不运行阶段中,需要迁移的虚拟机不提供业务,虚拟机的上行网络设备上相应的虚拟机参数中的动态信息不会发生变化,虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数,可以正确完成虚拟机参数迁移,解决了虚拟机迁移中的业务中断问题。\n附图说明\n[0022] 图1为本发明一个实施例中虚拟机参数迁移方法流程图;\n[0023] 图2为本发明另一个实施例中虚拟机参数迁移方法流程图;\n[0024] 图3为本发明一个实施例中迁移管理设备框图;\n[0025] 图4为本发明一个实施例中网络设备框图;\n[0026] 图5为本发明又一个实施例中虚拟机服务器框图。\n具体实施方式\n[0027] 以下结合图1说明本发明一个实施例:\n[0028] 图1为本发明一个实施例中虚拟机参数迁移方法流程图。该方法包括:\n[0029] 102、在虚拟机的不运行阶段接收虚拟机参数迁移消息,虚拟机参数迁移消息用于使虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数,虚拟机参数迁移消息包括上述虚拟机的标识。\n[0030] 需要迁移的虚拟机参数包括动态信息,即可以是虚拟机的上行网络设备中的动态信息,也可以是动态信息和静态配置。\n[0031] 虚拟机的不运行(not running)阶段是指需要迁移的虚拟机在迁出位置和迁入位置都不提供业务的阶段。通常在该阶段中,需要迁移的虚拟机会完成迁出位置和迁入位置间的内存拷贝。由于在虚拟机的不运行阶段中,需要迁移的虚拟机不提供业务,虚拟机的上行网络设备上相应的虚拟机参数中的动态信息不会发生变化,因此在虚拟机的不运行阶段中进行虚拟机参数迁移可以正确完成虚拟机参数迁移。\n[0032] 上行网络设备是指从虚拟机到网关的路径上的需要配置虚拟机参数的各个网络设备,包括路由器,交换机,防火墙,负载均衡器或其他网络设备,只要需要配置虚拟机参数都可以视为上行网络设备。\n[0033] 需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,发送虚拟机参数迁移消息,以保证虚拟机参数迁移在虚拟机的不运行阶段中进行。通常需要迁移的虚拟机所在的服务器中运行有虚拟机、虚拟交换机(virtual switch)和其他实体,该虚拟机参数迁移消息可以由虚拟机发出,也可以由虚拟机连接的虚拟交换机发出,也可以由虚拟机所在的服务器中其他可以得知虚拟机迁移的状态的实体发出。\n[0034] 虚拟机参数迁移消息中包括需要迁移的虚拟机的标识,以通知接收方需要迁移哪一个虚拟机对应的虚拟机参数。可选的,该虚拟机参数迁移消息中还可以包括虚拟机参数迁移指示。该虚拟机参数迁移指示用于指示接收方在虚拟机的不运行阶段迁移虚拟机参数。可选的,该虚拟机参数迁移指示可以进一步指示虚拟机的当前状态,例如not running或准备开始(beginning to start)等。可选的,该虚拟机参数迁移指示可以进一步指示虚拟机的迁移状态,如迁入或迁出等。虚拟机的当前状态和虚拟机的迁移状态可以分别指示,也可以复用同一组信息,例如,not running可以既表示虚拟机处于不运行状态,也表示虚拟机的迁移状态为迁出;beginning to start可以既表示虚拟机处于准备开始状态,也表示虚拟机的迁移状态为迁入。该虚拟机参数迁移指示可以是标志位,也可以是状态值,或者两者的结合。\n[0035] 虚拟机参数迁移消息可以是扩展的虚拟机发现和配置协议(Virtual Machine Discovery and Configuration Protocol,VDP)消息,例如扩展的关联(Associate)消息,或一个新定义的VDP消息。虚拟机参数迁移消息也可以是其他类型的消息,如自定义的一种新协议中的消息。\n[0036] 虚拟机参数迁移消息用于使虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数。举例来说,由迁移管理设备接收虚拟机参数迁移消息,由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,迁移管理设备可以在虚拟机的不运行阶段发起虚拟机参数的迁移。也可以由虚拟机的上行网络设备接收虚拟机参数迁移消息,由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,接收到该虚拟机参数迁移消息的网络设备可以在虚拟机的不运行阶段迁移虚拟机参数。\n[0037] 如果由迁移管理设备接收虚拟机参数迁移消息,需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,向迁移管理设备发送虚拟机参数迁移消息,该虚拟机参数迁移消息可以是一个自定义的消息,其中包括虚拟机的标识。可选的,该虚拟机参数迁移消息中也可以包括虚拟机参数迁移指示。\n[0038] 迁移管理设备在收到所述虚拟机参数迁移消息后,根据网络拓扑确定需要迁移虚拟机参数的网络设备。网络拓扑中包括各网络设备间的连接关系和各网络设备的类型。网络拓扑可以是迁移管理设备从网络管理设备获得的,也可以是迁移管理设备自身保存的。\n根据需要迁移虚拟机参数的网络设备,迁移管理设备发起虚拟机参数的迁移。\n[0039] 由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,迁移管理设备可以在虚拟机的不运行阶段发起虚拟机参数的迁移。\n[0040] 迁移管理设备可以以多种方式在虚拟机的不运行阶段发起虚拟机参数的迁移。\n[0041] 例如,迁移管理设备收到虚拟机参数迁移消息后,可以获取虚拟机的迁出位置的上行网络设备的虚拟机参数,并向虚拟机的迁入位置的上行网络设备发送获取的虚拟机参数。\n[0042] 如果虚拟机的迁出位置或迁入位置有多个上行网络设备,则迁移管理设备获取虚拟机参数后,将虚拟机参数发送到对应的迁入位置的上行网络设备。\n[0043] 例如,如果虚拟机的迁出位置的上行网络设备中启动DHCP snooping功能的上行网络设备具有防火墙功能,而虚拟机的迁入位置的上行网络设备中有独立的防火墙,与启动DHCP snooping功能的上行网络设备不是同一设备。则迁移管理设备从虚拟机的迁出位置的上行网络设备中获取TCP连接表和DHCP snooping表,将TCP连接表发送到虚拟机的迁入位置的上行网络设备中的防火墙,将DHCP snooping表发送到虚拟机的迁入位置的上行网络设备中的启动DHCP snooping功能的上行网络设备。\n[0044] 虚拟机的迁出位置的上行网络设备可以在迁移管理设备获取到虚拟机参数后将相应的虚拟机参数删除,或不做处理等待其老化。\n[0045] 迁移管理设备在虚拟机的不运行阶段发起虚拟机参数的迁移的方式也可以为,迁移管理设备收到虚拟机参数迁移消息后,向虚拟机的迁入位置的上行网络设备发送虚拟机参数获取消息,该虚拟机参数获取消息包括虚拟机的标识和虚拟机的迁出位置的对应的上行网络设备的标识。该虚拟机参数获取消息用于使虚拟机的迁入位置的上行网络设备根据虚拟机的标识和迁出位置的对应的上行网络设备的标识获取迁出位置的对应的上行网络设备的虚拟机参数。\n[0046] 迁移管理设备在虚拟机参数获取消息中添加虚拟机参数迁移消息中的虚拟机标识和有相应虚拟机参数的网络设备的标识。接收到虚拟机参数获取消息的网络设备从虚拟机参数获取消息中的网络设备的标识对应的网络设备获取虚拟机标识对应的虚拟机的虚拟机参数。可选的,虚拟机参数获取消息中还可以携带需要迁移的虚拟机参数的类型,如TCP连接表、DHCP snooping表和累计数据等类型中的一种或多种。接收到虚拟机参数获取消息的网络设备根据需要迁移的虚拟机参数的类型获取相应类型的虚拟机参数。\n[0047] 虚拟机的迁出位置的上行网络设备可以在虚拟机的迁入位置的上行网络设备获取到虚拟机参数后将相应的虚拟机参数删除,或不做处理等待其老化。\n[0048] 迁移管理设备在虚拟机的不运行阶段发起虚拟机参数的迁移的方式还可以为,迁移管理设备收到虚拟机参数迁移消息后,向虚拟机的迁出位置的上行网络设备发送虚拟机参数推送消息,该虚拟机参数推送消息包括虚拟机的标识和虚拟机的迁入位置的对应的上行网络设备的标识。该虚拟机参数推送消息用于使虚拟机的迁出位置的上行网络设备根据虚拟机的标识和迁入位置的对应的上行网络设备的标识向迁入位置的对应的上行网络设备推送虚拟机参数。\n[0049] 迁移管理设备在虚拟机参数推送消息中添加虚拟机参数迁移消息中的虚拟机标识和需要相应虚拟机参数的网络设备的标识。接收到虚拟机参数推送消息的网络设备向虚拟机参数推送消息中的网络设备的标识对应的网络设备推送虚拟机标识对应的虚拟机的虚拟机参数。可选的,虚拟机参数推送消息中还可以携带需要迁移的虚拟机参数的类型,如TCP连接表、DHCP snooping表和累计数据等类型中的一种或多种。接收到虚拟机参数推送消息的网络设备根据需要迁移的虚拟机参数的类型推送相应类型的虚拟机参数。\n[0050] 虚拟机的迁出位置的上行网络设备可以在推送虚拟机参数后将相应的虚拟机参数删除,或不做处理等待其老化。\n[0051] 如果由虚拟机的上行网络设备接收虚拟机参数迁移消息,需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,向虚拟机的上行网络设备发送虚拟机参数迁移消息,该虚拟机参数迁移消息可以是扩展的VDP消息也可以是自定义的消息。需要迁移的虚拟机所在的服务器可以发送目的地址是虚拟机的网关的虚拟机参数迁移消息,这样该虚拟机参数迁移消息就可以被虚拟机的上行网络设备接收到。需要迁移的虚拟机所在的服务器也可以发送目的地址是特定组播地址的虚拟机参数迁移消息,接收到该组播地址的网络设备向其上行端口,即指向网关的端口,转发该虚拟机参数迁移消息。虚拟机的上行网络设备接收到目的地址是该特定组播地址的虚拟机参数迁移消息后,迁移虚拟机参数。\n[0052] 虚拟机参数迁移消息中包括虚拟机的标识和虚拟机参数迁移指示。虚拟机参数迁移指示用于指示虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机参数,并用于指示虚拟机的迁移状态,迁移状态包括迁入或迁出。由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,虚拟机的上行网络设备可以在虚拟机的不运行阶段迁移虚拟机参数。\n[0053] 接收到虚拟机参数迁移消息后,网络设备根据虚拟机参数迁移指示所指示的迁移状态做相应的操作。例如,如果虚拟机参数迁移指示所指示的迁移状态为迁出,说明接收到虚拟机参数迁移消息的网络设备为虚拟机的迁出位置的上行网络设备,该网络设备向虚拟机参数管理设备发送虚拟机参数。如果虚拟机参数迁移指示所指示的迁移状态为迁入,说明接收到虚拟机参数迁移消息的网络设备为虚拟机的迁入位置的上行网络设备,该网络设备从虚拟机参数管理设备获取虚拟机参数。\n[0054] 网络设备可以只获取虚拟机参数迁移消息中的虚拟机的标识相关的,并与该网络设备属性相符合的动态信息。\n[0055] 如果需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,发送的虚拟机参数迁移消息为扩展的虚拟机发现和配置协议,如扩展的Associate消息或新定义的VDP消息,由于虚拟机发现和配置协议通常只发送到与该服务器直接相连的交换机,该交换机可以将该扩展的虚拟机发现和配置协议转换为可以继续转发的虚拟机参数迁移消息。该转换后的虚拟机参数迁移消息可以是自定义的消息,包括转换前的扩展的虚拟机发现和配置协议格式的虚拟机参数迁移消息中的虚拟机的标识和虚拟机参数迁移指示。\n[0056] 采用本发明实施例提供的技术方案,由于在虚拟机的不运行阶段中,需要迁移的虚拟机不提供业务,虚拟机的上行网络设备上相应的虚拟机参数中的动态信息不会发生变化,虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数,可以正确完成虚拟机参数迁移,解决了虚拟机迁移中的业务中断问题。\n[0057] 以下结合图2说明本发明另一个实施例:\n[0058] 图2为本发明另一个实施例中虚拟机参数迁移方法流程图。该方法与图1所示实施例对应,从发送方描述本发明实施例中虚拟机参数迁移方法。该方法包括:\n[0059] 202、在虚拟机的不运行阶段发送虚拟机参数迁移消息,虚拟机参数迁移消息用于使虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数,虚拟机参数迁移消息包括上述虚拟机的标识。\n[0060] 需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,发送虚拟机参数迁移消息,以保证虚拟机参数迁移在虚拟机的不运行阶段中进行。通常需要迁移的虚拟机所在的服务器中运行有虚拟机、虚拟交换机和其他实体,该虚拟机参数迁移消息可以由虚拟机发出,也可以由虚拟机连接的虚拟交换机发出,也可以由虚拟机所在的服务器中其他可以得知虚拟机迁移的状态的实体发出。\n[0061] 虚拟机参数迁移消息中包括需要迁移的虚拟机的标识,以通知接收方需要迁移哪一个虚拟机对应的虚拟机参数。可选的,该虚拟机参数迁移消息中还可以包括虚拟机参数迁移指示。该虚拟机参数迁移指示用于指示接收方在虚拟机的不运行阶段迁移虚拟机参数。可选的,该虚拟机参数迁移指示可以进一步指示虚拟机的当前状态,例如not running或beginning to start等。可选的,该虚拟机参数迁移指示可以进一步指示虚拟机的迁移状态,如迁入或迁出等。虚拟机的当前状态和虚拟机的迁移状态可以分别指示,也可以复用同一组信息,例如,not running可以既表示虚拟机处于不运行状态,也表示虚拟机的迁移状态为迁出;beginning to start可以既表示虚拟机处于准备开始状态,也表示虚拟机的迁移状态为迁入。该虚拟机参数迁移指示可以是标志位,也可以是状态值,或者两者的结合。\n[0062] 虚拟机参数迁移消息可以是扩展的虚拟机发现和配置协议(Virtual Machine Discovery and Configuration Protocol,VDP)消息,例如扩展的关联(Associate)消息,或一个新定义的VDP消息。虚拟机参数迁移消息也可以是其他类型的消息,如自定义的一种新协议中的消息。\n[0063] 需要迁移的虚拟机参数包括动态信息,即可以是虚拟机的上行网络设备中的动态信息,也可以是动态信息和静态配置。\n[0064] 虚拟机的不运行阶段是指需要迁移的虚拟机在迁出位置和迁入位置都不提供业务的阶段。通常在该阶段中,需要迁移的虚拟机会完成迁出位置和迁入位置间的内存拷贝。\n由于在虚拟机的不运行阶段中,需要迁移的虚拟机不提供业务,虚拟机的上行网络设备上相应的虚拟机参数中的动态信息不会发生变化,因此在虚拟机的不运行阶段中进行虚拟机参数迁移可以正确完成虚拟机参数迁移。\n[0065] 上行网络设备是指从虚拟机到网关的路径上的需要配置虚拟机参数的各个网络设备,包括路由器,交换机,防火墙,负载均衡器或其他网络设备,只要需要配置虚拟机参数都可以视为上行网络设备。\n[0066] 虚拟机参数迁移消息用于使虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数。举例来说,向迁移管理设备发送虚拟机参数迁移消息,由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,可以使迁移管理设备在虚拟机的不运行阶段发起虚拟机参数的迁移。也可以向虚拟机的上行网络设备发送虚拟机参数迁移消息,由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,可以使接收到该虚拟机参数迁移消息的网络设备在虚拟机的不运行阶段迁移虚拟机参数。\n[0067] 以向迁移管理设备发送虚拟机参数迁移消息为例,需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,向迁移管理设备发送虚拟机参数迁移消息,该虚拟机参数迁移消息可以是一个自定义的消息,其中包括虚拟机的标识。可选的,该虚拟机参数迁移消息中也可以包括虚拟机参数迁移指示。\n[0068] 迁移管理设备在收到所述虚拟机参数迁移消息后,根据网络拓扑确定需要迁移虚拟机参数的网络设备。网络拓扑中包括各网络设备间的连接关系和各网络设备的类型。网络拓扑可以是迁移管理设备从网络管理设备获得的,也可以是迁移管理设备自身保存的。\n根据需要迁移虚拟机参数的网络设备,迁移管理设备发起虚拟机参数的迁移。\n[0069] 由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,迁移管理设备可以在虚拟机的不运行阶段发起虚拟机参数的迁移。\n[0070] 迁移管理设备可以以多种方式在虚拟机的不运行阶段发起虚拟机参数的迁移。\n[0071] 例如,迁移管理设备收到虚拟机参数迁移消息后,可以获取虚拟机的迁出位置的上行网络设备的虚拟机参数,并向虚拟机的迁入位置的上行网络设备发送获取的虚拟机参数。\n[0072] 如果虚拟机的迁出位置或迁入位置有多个上行网络设备,则迁移管理设备获取虚拟机参数后,将虚拟机参数发送到对应的迁入位置的上行网络设备。\n[0073] 例如,如果虚拟机的迁出位置的上行网络设备中启动DHCP snooping功能的上行网络设备具有防火墙功能,而虚拟机的迁入位置的上行网络设备中有独立的防火墙,与启动DHCP snooping功能的上行网络设备不是同一设备。则迁移管理设备从虚拟机的迁出位置的上行网络设备中获取TCP连接表和DHCP snooping表,将TCP连接表发送到虚拟机的迁入位置的上行网络设备中的防火墙,将DHCP snooping表发送到虚拟机的迁入位置的上行网络设备中的启动DHCP snooping功能的上行网络设备。\n[0074] 虚拟机的迁出位置的上行网络设备可以在迁移管理设备获取到虚拟机参数后将相应的虚拟机参数删除,或不做处理等待其老化。\n[0075] 迁移管理设备在虚拟机的不运行阶段发起虚拟机参数的迁移的方式也可以为,迁移管理设备收到虚拟机参数迁移消息后,向虚拟机的迁入位置的上行网络设备发送虚拟机参数获取消息,该虚拟机参数获取消息包括虚拟机的标识和虚拟机的迁出位置的对应的上行网络设备的标识。该虚拟机参数获取消息用于使虚拟机的迁入位置的上行网络设备根据虚拟机的标识和迁出位置的对应的上行网络设备的标识获取迁出位置的对应的上行网络设备的虚拟机参数。\n[0076] 迁移管理设备在虚拟机参数获取消息中添加虚拟机参数迁移消息中的虚拟机标识和有相应虚拟机参数的网络设备的标识。接收到虚拟机参数获取消息的网络设备从虚拟机参数获取消息中的网络设备的标识对应的网络设备获取虚拟机标识对应的虚拟机的虚拟机参数。可选的,虚拟机参数获取消息中还可以携带需要迁移的虚拟机参数的类型,如TCP连接表、DHCP snooping表和累计数据等类型中的一种或多种。接收到虚拟机参数获取消息的网络设备根据需要迁移的虚拟机参数的类型获取相应类型的虚拟机参数。\n[0077] 虚拟机的迁出位置的上行网络设备可以在虚拟机的迁入位置的上行网络设备获取到虚拟机参数后将相应的虚拟机参数删除,或不做处理等待其老化。\n[0078] 迁移管理设备在虚拟机的不运行阶段发起虚拟机参数的迁移的方式还可以为,迁移管理设备收到虚拟机参数迁移消息后,还可以向虚拟机的迁出位置的上行网络设备发送虚拟机参数推送消息,该虚拟机参数推送消息包括虚拟机的标识和虚拟机的迁入位置的对应的上行网络设备的标识。该虚拟机参数推送消息用于使虚拟机的迁出位置的上行网络设备根据虚拟机的标识和迁入位置的对应的上行网络设备的标识向迁入位置的对应的上行网络设备推送虚拟机参数。\n[0079] 迁移管理设备在虚拟机参数推送消息中添加虚拟机参数迁移消息中的虚拟机标识和需要相应虚拟机参数的网络设备的标识。接收到虚拟机参数推送消息的网络设备向虚拟机参数推送消息中的网络设备的标识对应的网络设备推送虚拟机标识对应的虚拟机的虚拟机参数。可选的,虚拟机参数推送消息中还可以携带需要迁移的虚拟机参数的类型,如TCP连接表、DHCP snooping表和累计数据等类型中的一种或多种。接收到虚拟机参数推送消息的网络设备根据需要迁移的虚拟机参数的类型推送相应类型的虚拟机参数。\n[0080] 虚拟机的迁出位置的上行网络设备可以推送虚拟机参数后将相应的虚拟机参数删除,或不做处理等待其老化。\n[0081] 如果由虚拟机的上行网络设备接收虚拟机参数迁移消息,需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,向虚拟机的上行网络设备发送虚拟机参数迁移消息,该虚拟机参数迁移消息可以是扩展的VDP消息也可以是自定义的消息。需要迁移的虚拟机所在的服务器可以发送目的地址是虚拟机的网关的虚拟机参数迁移消息,这样该虚拟机参数迁移消息就可以被虚拟机的上行网络设备接收到。需要迁移的虚拟机所在的服务器也可以发送目的地址是特定组播地址的虚拟机参数迁移消息,接收到该组播地址的网络设备向其上行端口,即指向网关的端口,转发该虚拟机参数迁移消息。虚拟机的上行网络设备接收到目的地址是该特定组播地址的虚拟机参数迁移消息后,迁移虚拟机参数。\n[0082] 虚拟机参数迁移消息中包括虚拟机的标识和虚拟机参数迁移指示。虚拟机参数迁移指示用于指示虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机参数,并用于指示虚拟机的迁移状态,迁移状态包括迁入或迁出。由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,虚拟机的上行网络设备可以在虚拟机的不运行阶段迁移虚拟机参数。\n[0083] 虚拟机参数迁移消息用于使接收到该消息的网络设备根据虚拟机参数迁移指示所指示的迁移状态做相应的操作。\n[0084] 例如,虚拟机的迁出位置的服务器在虚拟机的不运行阶段向上行网络设备发送虚拟机参数迁移消息,以使虚拟机的迁出位置的上行网络设备向虚拟机参数管理设备发送虚拟机参数。虚拟机的迁出位置的服务器发出的虚拟机参数迁移消息中的虚拟机参数迁移指示所指示的迁移状态为迁出,接收到该消息的网络设备向虚拟机参数管理设备发送虚拟机参数。\n[0085] 又如,虚拟机的迁入位置的服务器在虚拟机的不运行阶段向上行网络设备发送虚拟机参数迁移消息,以使虚拟机的迁入位置的上行网络设备从虚拟机参数管理设备获取虚拟机参数。虚拟机的迁入位置的服务器发出的虚拟机参数迁移消息中的虚拟机参数迁移指示所指示的迁移状态为迁入,接收到该消息的网络设备从虚拟机参数管理设备获取虚拟机参数。\n[0086] 网络设备可以只获取虚拟机参数迁移消息中的虚拟机的标识相关的,并与该网络设备属性相符合的动态信息。\n[0087] 如果需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,发送的虚拟机参数迁移消息为扩展的虚拟机发现和配置协议,如扩展的Associate消息或新定义的VDP消息,由于虚拟机发现和配置协议通常只发送到与该服务器直接相连的交换机,该与该服务器直接相连的交换机可以将该扩展的虚拟机发现和配置协议转换为可以继续转发的虚拟机参数迁移消息。该转换后的虚拟机参数迁移消息可以是自定义的消息,包括转换前的扩展的虚拟机发现和配置协议格式的虚拟机参数迁移消息中的虚拟机的标识和虚拟机参数迁移指示。\n[0088] 采用本发明实施例提供的技术方案,由于在虚拟机的不运行阶段中,需要迁移的虚拟机不提供业务,虚拟机的上行网络设备上相应的虚拟机参数中的动态信息不会发生变化,虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数,可以正确完成虚拟机参数迁移,解决了虚拟机迁移中的业务中断问题。\n[0089] 以下结合图3说明本发明又一个实施例:\n[0090] 图3为本发明一个实施例中迁移管理设备框图。该迁移管理设备包括接收单元\n302和迁移单元304。\n[0091] 接收单元302,用于接收虚拟机参数迁移消息,所述虚拟机参数迁移消息用于使虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数,虚拟机参数迁移消息包括上述虚拟机的标识;\n[0092] 迁移单元304,用于根据所述虚拟机参数迁移消息迁移虚拟机参数。\n[0093] 需要迁移的虚拟机参数包括动态信息,即可以是虚拟机的上行网络设备中的动态信息,也可以是动态信息和静态配置。\n[0094] 虚拟机的不运行阶段是指需要迁移的虚拟机在迁出位置和迁入位置都不提供业务的阶段。通常在该阶段中,需要迁移的虚拟机会完成迁出位置和迁入位置间的内存拷贝。\n由于在虚拟机的不运行阶段中,需要迁移的虚拟机不提供业务,虚拟机的上行网络设备上相应的虚拟机参数中的动态信息不会发生变化,因此在虚拟机的不运行阶段中进行虚拟机参数迁移可以正确完成虚拟机参数迁移。\n[0095] 上行网络设备是指从虚拟机到网关的路径上的需要配置虚拟机参数的各个网络设备,包括路由器,交换机,防火墙,负载均衡器或其他网络设备,只要需要配置虚拟机参数都可以视为上行网络设备。\n[0096] 需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,发送虚拟机参数迁移消息,以保证虚拟机参数迁移在虚拟机的不运行阶段中进行。通常需要迁移的虚拟机所在的服务器中运行有虚拟机、虚拟交换机和其他实体,该虚拟机参数迁移消息可以由虚拟机发出,也可以由虚拟机连接的虚拟交换机(virtual switch)发出,也可以由虚拟机所在的服务器中其他可以得知虚拟机迁移的状态的实体发出。\n[0097] 虚拟机参数迁移消息中包括需要迁移的虚拟机的标识,以通知接收方需要迁移哪一个虚拟机对应的虚拟机参数。可选的,该虚拟机参数迁移消息中还可以包括虚拟机参数迁移指示。该虚拟机参数迁移指示用于指示接收方在虚拟机的不运行阶段迁移虚拟机参数。可选的,该虚拟机参数迁移指示可以进一步指示虚拟机的当前状态,例如not running或beginning to start等。可选的,该虚拟机参数迁移指示可以进一步指示虚拟机的迁移状态,如迁入或迁出等。虚拟机的当前状态和虚拟机的迁移状态可以分别指示,也可以复用同一组信息,例如,not running可以既表示虚拟机处于不运行状态,也表示虚拟机的迁移状态为迁出;beginning to start可以既表示虚拟机处于准备开始状态,也表示虚拟机的迁移状态为迁入。该虚拟机参数迁移指示可以是标志位,也可以是状态值,或者两者的结合。\n[0098] 虚拟机参数迁移消息可以是自定义的一种新协议中的消息。\n[0099] 需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,向迁移管理设备发送虚拟机参数迁移消息,该虚拟机参数迁移消息可以是一个自定义的消息,其中包括虚拟机的标识。可选的,该虚拟机参数迁移消息中也可以包括虚拟机参数迁移指示。由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,迁移管理设备可以在虚拟机的不运行阶段发起虚拟机参数的迁移。\n[0100] 需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,向迁移管理设备发送虚拟机参数迁移消息,该虚拟机参数迁移消息可以是一个自定义的消息,其中包括虚拟机的标识。可选的,该虚拟机参数迁移消息中也可以包括虚拟机参数迁移指示。\n[0101] 迁移单元304可以进一步用于,根据网络拓扑确定需要迁移虚拟机参数的网络设备。网络拓扑中包括各网络设备间的连接关系和各网络设备的类型。网络拓扑可以从网络管理设备获得的,也可以是保存在迁移管理设备中的。迁移单元304根据需要迁移虚拟机参数的网络设备,发起虚拟机参数的迁移。\n[0102] 由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,迁移管理设备可以在虚拟机的不运行阶段发起虚拟机参数的迁移。\n[0103] 迁移单元304可以有多种实现方式。\n[0104] 例如,迁移单元304具体用于,获取虚拟机的迁出位置的上行网络设备的虚拟机参数,并向虚拟机的迁入位置的上行网络设备发送获取的虚拟机参数。\n[0105] 如果虚拟机的迁出位置或迁入位置有多个上行网络设备,则迁移单元304获取虚拟机参数后,将虚拟机参数发送到对应的迁入位置的上行网络设备。\n[0106] 例如,如果虚拟机的迁出位置的上行网络设备中启动DHCP snooping功能的上行网络设备具有防火墙功能,而虚拟机的迁入位置的上行网络设备中有独立的防火墙,与启动DHCP snooping功能的上行网络设备不是同一设备。则迁移单元304从虚拟机的迁出位置的上行网络设备中获取TCP连接表和DHCP snooping表,将TCP连接表发送到虚拟机的迁入位置的上行网络设备中的防火墙,将DHCP snooping表发送到虚拟机的迁入位置的上行网络设备中的启动DHCP snooping功能的上行网络设备。\n[0107] 虚拟机的迁出位置的上行网络设备可以在迁移管理设备获取到虚拟机参数后将相应的虚拟机参数删除,或不做处理等待其老化。\n[0108] 迁移单元304,也可以具体用于,向虚拟机的迁入位置的上行网络设备发送虚拟机参数获取消息,该虚拟机参数获取消息包括虚拟机的标识和虚拟机的迁出位置的对应的上行网络设备的标识。该虚拟机参数获取消息用于使虚拟机的迁入位置的上行网络设备根据虚拟机的标识和迁出位置的对应的上行网络设备的标识获取迁出位置的对应的上行网络设备的虚拟机参数。\n[0109] 迁移管理设备在虚拟机参数获取消息中添加虚拟机参数迁移消息中的虚拟机标识和有相应虚拟机参数的网络设备的标识。接收到虚拟机参数获取消息的网络设备从虚拟机参数获取消息中的网络设备的标识对应的网络设备获取虚拟机标识对应的虚拟机的虚拟机参数。可选的,虚拟机参数获取消息中还可以携带需要迁移的虚拟机参数的类型,如TCP连接表、DHCP snooping表和累计数据等类型中的一种或多种。接收到虚拟机参数获取消息的网络设备根据需要迁移的虚拟机参数的类型获取相应类型的虚拟机参数。\n[0110] 虚拟机的迁出位置的上行网络设备可以在虚拟机的迁入位置的上行网络设备获取到虚拟机参数后将相应的虚拟机参数删除,或不做处理等待其老化。\n[0111] 迁移单元304,也可以具体用于,向虚拟机的迁出位置的上行网络设备发送虚拟机参数推送消息,该虚拟机参数推送消息包括虚拟机的标识和虚拟机的迁入位置的对应的上行网络设备的标识。该虚拟机参数推送消息用于使虚拟机的迁出位置的上行网络设备根据虚拟机的标识和迁入位置的对应的上行网络设备的标识向迁入位置的对应的上行网络设备推送虚拟机参数。\n[0112] 迁移管理设备在虚拟机参数推送消息中添加虚拟机参数迁移消息中的虚拟机标识和需要相应虚拟机参数的网络设备的标识。接收到虚拟机参数推送消息的网络设备向虚拟机参数推送消息中的网络设备的标识对应的网络设备推送虚拟机标识对应的虚拟机的虚拟机参数。可选的,虚拟机参数推送消息中还可以携带需要迁移的虚拟机参数的类型,如TCP连接表、DHCP snooping表和累计数据等类型中的一种或多种。接收到虚拟机参数推送消息的网络设备根据需要迁移的虚拟机参数的类型推送相应类型的虚拟机参数。\n[0113] 虚拟机的迁出位置的上行网络设备可以推送虚拟机参数后将相应的虚拟机参数删除,或不做处理等待其老化。\n[0114] 采用本发明实施例提供的技术方案,由于在虚拟机的不运行阶段中,需要迁移的虚拟机不提供业务,虚拟机的上行网络设备上相应的虚拟机参数中的动态信息不会发生变化,虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数,迁移管理设备可以正确完成虚拟机参数迁移,解决了虚拟机迁移中的业务中断问题。\n[0115] 以下结合图4说明本发明另一个实施例:\n[0116] 图4为本发明一个实施例中网络设备框图。该网络设备位于虚拟机的上行路径上,该网络设备包括,接收单元402和迁移单元404;\n[0117] 接收单元402,用于接收虚拟机参数迁移消息,虚拟机参数迁移消息包括虚拟机的标识和虚拟机参数迁移指示,虚拟机参数迁移指示用于指示虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机参数,并用于指示虚拟机的迁移状态,上述迁移状态包括迁入或迁出;\n[0118] 迁移单元404,用于根据虚拟机参数迁移消息迁移虚拟机参数。\n[0119] 该网络设备位于虚拟机的上行路径上。上行网络路径是指从虚拟机到网关的路径。该网络设备可以是路由器,交换机,防火墙,负载均衡器或其他网络设备,只要需要配置虚拟机参数都可以视为该网络设备。\n[0120] 需要迁移的虚拟机参数包括动态信息,即可以是虚拟机的上行网络设备中的动态信息,也可以是动态信息和静态配置。\n[0121] 虚拟机的不运行阶段是指需要迁移的虚拟机在迁出位置和迁入位置都不提供业务的阶段。通常在该阶段中,需要迁移的虚拟机会完成迁出位置和迁入位置间的内存拷贝。\n由于在虚拟机的不运行阶段中,需要迁移的虚拟机不提供业务,虚拟机的上行网络设备上相应的虚拟机参数中的动态信息不会发生变化,因此在虚拟机的不运行阶段中进行虚拟机参数迁移可以正确完成虚拟机参数迁移。\n[0122] 需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,发送虚拟机参数迁移消息,以保证虚拟机参数迁移在虚拟机的不运行阶段中进行。通常需要迁移的虚拟机所在的服务器中运行有虚拟机、虚拟交换机和其他实体,该虚拟机参数迁移消息可以由虚拟机发出,也可以由虚拟机连接的虚拟交换机发出,也可以由虚拟机所在的服务器中其他可以得知虚拟机迁移的状态的实体发出。\n[0123] 虚拟机参数迁移消息可以是扩展的VDP消息,例如扩展的关联Associate消息,或一个新定义的VDP消息。虚拟机参数迁移消息也可以是其他类型的消息,如自定义的一种新协议中的消息。\n[0124] 需要迁移的虚拟机所在的服务器可以发送目的地址是虚拟机的网关的虚拟机参数迁移消息,这样该虚拟机参数迁移消息就可以被虚拟机的上行网络设备接收到。需要迁移的虚拟机所在的服务器也可以发送目的地址是特定组播地址的虚拟机参数迁移消息,接收到该组播地址的网络设备向其上行端口,即指向网关的端口,转发该虚拟机参数迁移消息。虚拟机的上行网络设备接收到目的地址是该特定组播地址的虚拟机参数迁移消息后,迁移虚拟机参数。\n[0125] 虚拟机参数迁移消息中包括需要迁移的虚拟机的标识,以通知接收方需要迁移哪一个虚拟机对应的虚拟机参数。该虚拟机参数迁移消息中还包括虚拟机参数迁移指示。该虚拟机参数迁移指示用于指示接收方在虚拟机的不运行阶段迁移虚拟机参数。该虚拟机参数迁移指示进一步指示虚拟机的迁移状态,如迁入或迁出等。可选的,该虚拟机参数迁移指示可以进一步指示虚拟机的当前状态,例如not running或beginning tostart等。\n虚拟机的当前状态和虚拟机的迁移状态可以分别指示,也可以复用同一组信息,例如,not running可以既表示虚拟机处于不运行状态,也表示虚拟机的迁移状态为迁出;beginning to start可以既表示虚拟机处于准备开始状态,也表示虚拟机的迁移状态为迁入。该虚拟机参数迁移指示可以是标志位,也可以是状态值,或者两者的结合。\n[0126] 迁移单元404根据虚拟机参数迁移指示所指示的迁移状态做相应的操作。例如,如果虚拟机参数迁移指示所指示的迁移状态为迁出,说明接收到虚拟机参数迁移消息的网络设备为虚拟机的迁出位置的上行网络设备,迁移单元404向虚拟机参数管理设备发送虚拟机参数。如果虚拟机参数迁移指示所指示的迁移状态为迁入,说明接收到虚拟机参数迁移消息的网络设备为虚拟机的迁入位置的上行网络设备,迁移单元404从虚拟机参数管理设备获取虚拟机参数。迁移单元404可以只获取虚拟机参数迁移消息中的虚拟机的标识相关的,并与网络设备属性相符合的动态信息。\n[0127] 如果需要迁移的虚拟机所在的服务器在虚拟机的不运行阶段,发送的虚拟机参数迁移消息为扩展的虚拟机发现和配置协议,如扩展的Associate消息或新定义的VDP消息,由于虚拟机发现和配置协议通常只发送到与该服务器直接相连的交换机,该与该服务器直接相连的交换机可以将该扩展的虚拟机发现和配置协议转换为可以继续转发的虚拟机参数迁移消息。该转换后的虚拟机参数迁移消息可以是自定义的消息,包括转换前的扩展的虚拟机发现和配置协议格式的虚拟机参数迁移消息中的虚拟机的标识和虚拟机参数迁移指示。\n[0128] 在与服务器直接相连的交换机进行协议转换的情况下,如果位于虚拟机的上行路径上的网络设备为与该服务器直接相连的交换机,接收单元402接收的虚拟机参数迁移消息可以为扩展的VDP消息或自定义的消息。如果位于虚拟机的上行路径上的网络设备不是与该服务器直接相连的交换机,接收单元402接收的虚拟机参数迁移消息为自定义的消息。\n[0129] 采用本发明实施例提供的技术方案,由于在虚拟机的不运行阶段中,需要迁移的虚拟机不提供业务,虚拟机的上行网络设备上相应的虚拟机参数中的动态信息不会发生变化,位于虚拟机的上行路径上的网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数,可以正确完成虚拟机参数迁移,解决了虚拟机迁移中的业务中断问题。\n[0130] 以下结合图5说明本发明又一个实施例:\n[0131] 图5为本发明又一个实施例中虚拟机服务器框图。该虚拟机服务器包括触发单元\n502和发送单元504。\n[0132] 触发单元502,用于在虚拟机的不运行阶段触发发送单元504发送虚拟机参数迁移消息\n[0133] 发送单元504,用于发送虚拟机参数迁移消息,所述虚拟机参数迁移消息用于使所述虚拟机的上行网络设备在所述虚拟机的不运行阶段迁移所述虚拟机的虚拟机参数,所述虚拟机参数迁移消息包括所述虚拟机的标识。\n[0134] 触发单元502在虚拟机的不运行阶段,触发发送单元504发送虚拟机参数迁移消息,以保证虚拟机参数迁移在虚拟机的不运行阶段中进行。触发单元502和发送单元504可以由虚拟机实现,也可以由虚拟机连接的虚拟交换机实现,也可以由虚拟机所在的服务器中其他可以得知虚拟机迁移的状态的实体实现。\n[0135] 虚拟机参数迁移消息中包括需要迁移的虚拟机的标识,以通知接收方需要迁移哪一个虚拟机对应的虚拟机参数。可选的,该虚拟机参数迁移消息中还可以包括虚拟机参数迁移指示。该虚拟机参数迁移指示用于指示接收方在虚拟机的不运行阶段迁移虚拟机参数。可选的,该虚拟机参数迁移指示可以进一步指示虚拟机的当前状态,例如not running或beginning to start等。可选的,该虚拟机参数迁移指示可以进一步指示虚拟机的迁移状态,如迁入或迁出等。虚拟机的当前状态和虚拟机的迁移状态可以分别指示,也可以复用同一组信息,例如,not running可以既表示虚拟机处于不运行状态,也表示虚拟机的迁移状态为迁出;beginning to start可以既表示虚拟机处于准备开始状态,也表示虚拟机的迁移状态为迁入。该虚拟机参数迁移指示可以是标志位,也可以是状态值,或者两者的结合。\n[0136] 虚拟机参数迁移消息可以是扩展的VDP消息,例如扩展的关联Associate消息,或一个新定义的VDP消息。虚拟机参数迁移消息也可以是其他类型的消息,如自定义的一种新协议中的消息。\n[0137] 需要迁移的虚拟机参数包括动态信息,即可以是虚拟机的上行网络设备中的动态信息,也可以是动态信息和静态配置。\n[0138] 虚拟机的不运行阶段是指需要迁移的虚拟机在迁出位置和迁入位置都不提供业务的阶段。通常在该阶段中,需要迁移的虚拟机会完成迁出位置和迁入位置间的内存拷贝。\n由于在虚拟机的不运行阶段中,需要迁移的虚拟机不提供业务,虚拟机的上行网络设备上相应的虚拟机参数中的动态信息不会发生变化,因此在虚拟机的不运行阶段中进行虚拟机参数迁移可以正确完成虚拟机参数迁移。\n[0139] 上行网络设备是指从虚拟机到网关的路径上的需要配置虚拟机参数的各个网络设备,包括路由器,交换机,防火墙,负载均衡器或其他网络设备,只要需要配置虚拟机参数都可以视为上行网络设备。\n[0140] 虚拟机参数迁移消息用于使虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数。举例来说,发送单元504向迁移管理设备发送虚拟机参数迁移消息,由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,可以使迁移管理设备在虚拟机的不运行阶段发起虚拟机参数的迁移。发送单元504也可以向虚拟机的上行网络设备发送虚拟机参数迁移消息,由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,可以使接收到该虚拟机参数迁移消息的网络设备在虚拟机的不运行阶段迁移虚拟机参数。\n[0141] 以发送单元504向迁移管理设备发送虚拟机参数迁移消息为例,触发单元502在虚拟机的不运行阶段,触发发送单元504向迁移管理设备发送虚拟机参数迁移消息,该虚拟机参数迁移消息可以是一个自定义的消息,其中包括虚拟机的标识。可选的,该虚拟机参数迁移消息中也可以包括虚拟机参数迁移指示。\n[0142] 迁移管理设备在收到所述虚拟机参数迁移消息后,根据网络拓扑确定需要迁移虚拟机参数的网络设备。网络拓扑中包括各网络设备间的连接关系和各网络设备的类型。网络拓扑可以是迁移管理设备从网络管理设备获得的,也可以是迁移管理设备自身保存的。\n根据需要迁移虚拟机参数的网络设备,迁移管理设备发起虚拟机参数的迁移。\n[0143] 由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,迁移管理设备可以在虚拟机的不运行阶段发起虚拟机参数的迁移。\n[0144] 迁移管理设备可以以多种方式在虚拟机的不运行阶段发起虚拟机参数的迁移。\n[0145] 例如,迁移管理设备收到虚拟机参数迁移消息后,可以获取虚拟机的迁出位置的上行网络设备的虚拟机参数,并向虚拟机的迁入位置的上行网络设备发送获取的虚拟机参数。\n[0146] 如果虚拟机的迁出位置或迁入位置有多个上行网络设备,则迁移管理设备获取虚拟机参数后,将虚拟机参数发送到对应的迁入位置的上行网络设备。\n[0147] 例如,如果虚拟机的迁出位置的上行网络设备中启动DHCP snooping功能的上行网络设备具有防火墙功能,而虚拟机的迁入位置的上行网络设备中有独立的防火墙,与启动DHCP snooping功能的上行网络设备不是同一设备。则迁移管理设备从虚拟机的迁出位置的上行网络设备中获取TCP连接表和DHCP snooping表,将TCP连接表发送到虚拟机的迁入位置的上行网络设备中的防火墙,将DHCP snooping表发送到虚拟机的迁入位置的上行网络设备中的启动DHCP snooping功能的上行网络设备。\n[0148] 虚拟机的迁出位置的上行网络设备可以在迁移管理设备获取到虚拟机参数后将相应的虚拟机参数删除,或不做处理等待其老化。\n[0149] 迁移管理设备在虚拟机的不运行阶段发起虚拟机参数的迁移的方式也可以为,迁移管理设备收到虚拟机参数迁移消息后,向虚拟机的迁入位置的上行网络设备发送虚拟机参数获取消息,该虚拟机参数获取消息包括虚拟机的标识和虚拟机的迁出位置的对应的上行网络设备的标识。该虚拟机参数获取消息用于使虚拟机的迁入位置的上行网络设备根据虚拟机的标识和迁出位置的对应的上行网络设备的标识获取迁出位置的对应的上行网络设备的虚拟机参数。\n[0150] 迁移管理设备在虚拟机参数获取消息中添加虚拟机参数迁移消息中的虚拟机标识和有相应虚拟机参数的网络设备的标识。接收到虚拟机参数获取消息的网络设备从虚拟机参数获取消息中的网络设备的标识对应的网络设备获取虚拟机标识对应的虚拟机的虚拟机参数。可选的,虚拟机参数获取消息中还可以携带需要迁移的虚拟机参数的类型,如TCP连接表、DHCP snooping表和累计数据等类型中的一种或多种。接收到虚拟机参数获取消息的网络设备根据需要迁移的虚拟机参数的类型获取相应类型的虚拟机参数。\n[0151] 虚拟机的迁出位置的上行网络设备可以在虚拟机的迁入位置的上行网络设备获取到虚拟机参数后将相应的虚拟机参数删除,或不做处理等待其老化。\n[0152] 迁移管理设备在虚拟机的不运行阶段发起虚拟机参数的迁移的方式还可以为,迁移管理设备收到虚拟机参数迁移消息后,还可以向虚拟机的迁出位置的上行网络设备发送虚拟机参数推送消息,该虚拟机参数推送消息包括虚拟机的标识和虚拟机的迁入位置的对应的上行网络设备的标识。该虚拟机参数推送消息用于使虚拟机的迁出位置的上行网络设备根据虚拟机的标识和迁入位置的对应的上行网络设备的标识向迁入位置的对应的上行网络设备推送虚拟机参数。\n[0153] 迁移管理设备在虚拟机参数推送消息中添加虚拟机参数迁移消息中的虚拟机标识和需要相应虚拟机参数的网络设备的标识。接收到虚拟机参数推送消息的网络设备向虚拟机参数推送消息中的网络设备的标识对应的网络设备推送虚拟机标识对应的虚拟机的虚拟机参数。可选的,虚拟机参数推送消息中还可以携带需要迁移的虚拟机参数的类型,如TCP连接表、DHCP snooping表和累计数据等类型中的一种或多种。接收到虚拟机参数推送消息的网络设备根据需要迁移的虚拟机参数的类型推送相应类型的虚拟机参数。\n[0154] 虚拟机的迁出位置的上行网络设备可以推送虚拟机参数后将相应的虚拟机参数删除,或不做处理等待其老化。\n[0155] 如果由虚拟机的上行网络设备接收虚拟机参数迁移消息,触发单元502在虚拟机的不运行阶段,触发发送单元504向虚拟机的上行网络设备发送虚拟机参数迁移消息,该虚拟机参数迁移消息可以是扩展的VDP消息也可以是自定义的消息。触发单元502可以发送目的地址是虚拟机的网关的虚拟机参数迁移消息,这样该虚拟机参数迁移消息就可以被虚拟机的上行网络设备接收到。\n[0156] 虚拟机参数迁移消息中包括虚拟机的标识和虚拟机参数迁移指示。虚拟机参数迁移指示用于指示虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机参数,并用于指示虚拟机的迁移状态,迁移状态包括迁入或迁出。由于虚拟机参数迁移消息在虚拟机的不运行阶段发出,虚拟机的上行网络设备可以在虚拟机的不运行阶段迁移虚拟机参数。\n[0157] 虚拟机参数迁移消息用于使接收到该消息的网络设备根据虚拟机参数迁移指示所指示的迁移状态做相应的操作。\n[0158] 例如,源虚拟机服务器,即虚拟机的迁出位置的服务器,的发送单元504在虚拟机的不运行阶段向上行网络设备发送虚拟机参数迁移消息,以使虚拟机的迁出位置的上行网络设备向虚拟机参数管理设备发送虚拟机参数。源虚拟机服务器发出的虚拟机参数迁移消息中的虚拟机参数迁移指示所指示的迁移状态为迁出,接收到该消息的网络设备向虚拟机参数管理设备发送虚拟机参数。\n[0159] 又如,目的虚拟机服务器,即虚拟机的迁入位置的服务器,的发送单元504在虚拟机的不运行阶段向上行网络设备发送虚拟机参数迁移消息,以使虚拟机的迁入位置的上行网络设备从虚拟机参数管理设备获取虚拟机参数。目的虚拟机服务器发出的虚拟机参数迁移消息中的虚拟机参数迁移指示所指示的迁移状态为迁入,接收到该消息的网络设备从虚拟机参数管理设备获取虚拟机参数。\n[0160] 网络设备可以只获取虚拟机参数迁移消息中的虚拟机的标识相关的,并与该网络设备属性相符合的动态信息。\n[0161] 如果在虚拟机的不运行阶段,发送单元504发送的虚拟机参数迁移消息为扩展的虚拟机发现和配置协议,如扩展的Associate消息或新定义的VDP消息,由于虚拟机发现和配置协议通常只发送到与该服务器直接相连的交换机,该与该服务器直接相连的交换机可以将该扩展的虚拟机发现和配置协议转换为可以继续转发的虚拟机参数迁移消息。该转换后的虚拟机参数迁移消息可以是自定义的消息,包括转换前的扩展的虚拟机发现和配置协议格式的虚拟机参数迁移消息中的虚拟机的标识和虚拟机参数迁移指示。\n[0162] 采用本发明实施例提供的技术方案,由于在虚拟机的不运行阶段中,需要迁移的虚拟机不提供业务,虚拟机的上行网络设备上相应的虚拟机参数中的动态信息不会发生变化,虚拟机的上行网络设备在虚拟机的不运行阶段迁移虚拟机的虚拟机参数,可以正确完成虚拟机参数迁移,解决了虚拟机迁移中的业务中断问题。\n[0163] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质可以是ROM/RAM,磁盘或光盘等。\n[0164] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
法律信息
- 2015-07-22
- 2012-11-21
实质审查的生效
IPC(主分类): H04L 12/24
专利申请号: 201110071982.X
申请日: 2011.03.24
- 2012-09-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-04-01
|
2008-10-28
| | |
2
| |
2008-01-09
|
2007-07-10
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |