《虚拟机在线迁移方法、数据包传输方法和设备.pdf》由会员分享,可在线阅读,更多相关《虚拟机在线迁移方法、数据包传输方法和设备.pdf(27页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104243427 A (43)申请公布日 2014.12.24 CN 104243427 A (21)申请号 201310245242.2 (22)申请日 2013.06.19 H04L 29/06(2006.01) H04L 29/12(2006.01) G06F 9/455(2006.01) (71)申请人 日电 (中国) 有限公司 地址 100191 北京市海淀区学院路 35 号世 宁大厦 20 层 (72)发明人 胡章丰 胡艳 罗彦林 (74)专利代理机构 北京三高永信知识产权代理 有限责任公司 11138 代理人 张耀光 (54) 发明名称 虚拟机在线迁移。
2、方法、 数据包传输方法和设 备 (57) 摘要 本发明公开了一种虚拟机在线迁移方法、 数 据包传输方法和设备, 属于虚拟机领域。方法包 括 : 接收迁移指令, 迁移指令用于指示源虚拟机 迁移至目的虚拟机管理器 ; 获取源虚拟机的虚拟 机数据, 将源虚拟机的虚拟机数据以数据包的形 式发送至目的虚拟机管理器, 使得目的虚拟机管 理器根据虚拟机数据创建虚拟机 ; 当虚拟机数据 发送完成时, 将源虚拟机的虚拟机标识对应的物 理设备地址更新为目的虚拟机管理器所在物理设 备的物理设备地址。本发明可以在访问过程中 根据虚拟机标识获取到变化后的物理设备地址, 实现对迁移后的虚拟机的正确访问, 避免了由于 DN。
3、S 设置不及时而导致的访问错误。 (51)Int.Cl. 权利要求书 4 页 说明书 16 页 附图 6 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书4页 说明书16页 附图6页 (10)申请公布号 CN 104243427 A CN 104243427 A 1/4 页 2 1. 一种虚拟机在线迁移方法, 其特征在于, 所述方法包括 : 接收迁移指令, 所述迁移指令用于指示源虚拟机迁移至目的虚拟机管理器, 所述源虚 拟机所在物理设备与所述目的虚拟机管理器所在物理设备属于数据中心的不同子网络 ; 获取所述源虚拟机的虚拟机数据, 将所述源虚拟机的虚拟机数据以数据包的形。
4、式发送 至所述目的虚拟机管理器, 使得所述目的虚拟机管理器根据所述虚拟机数据创建虚拟机 ; 当虚拟机数据发送完成时, 将所述源虚拟机的虚拟机标识对应的物理设备地址更新为 所述目的虚拟机管理器所在物理设备的物理设备地址。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述源虚拟机的虚拟机标识对应的物理 设备地址更新为所述目的虚拟机管理器所在物理设备的物理设备地址之后, 所述方法还包 括 : 将所述目的虚拟机管理器所在物理设备的物理设备地址发送至正在访问所述源虚拟 机的通信节点, 使得所述通信节点根据更新后的物理设备地址继续访问虚拟机。 3. 根据权利要求 1 或 2 任一项所述的方法, 其。
5、特征在于, 接收迁移指令之前, 所述方法 还包括 : 根据数据中心的物理设备的拓扑结构, 为所述物理设备分配 IP 地址 ; 根据所述物理设备所分配的 IP 地址, 为所述物理设备上运行的虚拟机分配与所述物 理设备的 IP 地址属于同一个 IP 地址池的 IP 地址作为所述虚拟机的虚拟机标识。 4. 一种数据包传输方法, 其特征在于, 所述方法包括 : 接收到第一数据包, 所述第一数据包包头的目标地址段包括第一虚拟机标识 ; 根据所述第一虚拟机标识, 从虚拟机标识与物理设备地址的映射关系中, 获取所述第 一物理设备地址 ; 以所述第一物理设备地址为目标地址段对所述第一数据包进行封装, 得到第二。
6、数据 包 ; 将所述第二数据包转发至所述第一物理设备地址, 使得所述第二数据包由所述第一物 理设备的虚拟机管理器截获后, 解封装所述第二数据包, 并将解封装后的数据包发送至所 述第一虚拟机标识对应的虚拟机。 5. 根据权利要求 4 所述的方法, 其特征在于, 根据所述第一虚拟机标识, 从虚拟机标识 与物理设备地址的映射关系中, 获取所述第一物理设备地址包括 : 向指定装置发送获取请求, 所述获取请求携带所述第一虚拟机标识, 所述指定装置用 于存储虚拟机标识与物理设备地址的映射关系 ; 接收所述指定装置返回的第一物理设备地址。 6. 根据权利要求 4 所述的方法, 其特征在于, 所述方法还包括 。
7、: 接收第三数据包, 所述第三数据包包头的目标地址段包括第三虚拟机标识对应的第三 物理设备地址, 所述第三数据包包头的源地址段包括第四虚拟机标识对应的第四物理设备 地址 ; 解封装所述第三数据包, 得到第四数据包, 所述第四数据包包头的目标地址段包括第 三虚拟机标识, 所述第四数据包包头的源地址段包括第四虚拟机标识 ; 将第四数据包发送至所述第三虚拟机标识对应的虚拟机或 IP 地址。 7. 根据权利要求 4-6 任一项所述的方法, 其特征在于, 接收到第一数据包之前, 所述方 权 利 要 求 书 CN 104243427 A 2 2/4 页 3 法还包括 : 根据数据中心的物理设备的拓扑结构,。
8、 为所述物理设备分配 IP 地址 ; 根据所述物理设备所分配的 IP 地址, 为所述物理设备上运行的虚拟机分配与所述物 理设备的 IP 地址属于同一个 IP 地址池的 IP 地址作为所述虚拟机的虚拟机标识。 8. 一种虚拟机管理装置, 其特征在于, 所述装置包括 : 接收模块, 用于接收迁移指令, 所述迁移指令用于指示源虚拟机迁移至目的虚拟机管 理器, 所述源虚拟机所在物理设备与所述目的虚拟机管理器所在物理设备属于数据中心的 不同子网络 ; 迁移模块, 用于获取所述源虚拟机的虚拟机数据, 将所述源虚拟机的虚拟机数据以数 据包的形式发送至所述目的虚拟机管理器, 使得所述目的虚拟机管理器根据所述虚。
9、拟机数 据创建虚拟机 ; 更新模块, 用于当虚拟机数据发送完成时, 将所述源虚拟机的虚拟机标识对应的物理 设备地址更新为所述目的虚拟机管理器所在物理设备的物理设备地址。 9. 根据权利要求 8 所述的装置, 其特征在于, 所述装置还包括 : 发送模块, 用于将所述目的虚拟机管理器所在物理设备的物理设备地址发送至正在访 问所述源虚拟机的通信节点, 使得所述通信节点根据更新后的物理设备地址继续访问虚拟 机。 10. 根据权利要求 8 或 9 任一项所述的装置, 其特征在于, 所述装置还包括 : IP 地址分配模块, 用于根据数据中心的物理设备的拓扑结构, 为所述物理设备分配 IP 地址 ; 虚拟机。
10、标识分配模块, 用于根据所述物理设备所分配的 IP 地址, 为所述物理设备上运 行的虚拟机分配与所述物理设备的 IP 地址属于同一个 IP 地址池的 IP 地址作为所述虚拟 机的虚拟机标识。 11. 一种数据包传输装置, 其特征在于, 所述装置包括 : 接收模块, 用于接收到第一数据包, 所述第一数据包包头的目标地址段包括第一虚拟 机标识 ; 物理设备地址获取模块, 用于根据所述第一虚拟机标识, 从虚拟机标识与物理设备地 址的映射关系中, 获取所述第一物理设备地址 ; 封装模块, 用于以所述第一物理设备地址为目标地址段对所述第一数据包进行封装, 得到第二数据包 ; 发送模块, 用于将所述第二数。
11、据包转发至所述第一物理设备地址, 使得所述第二数据 包由所述第一物理设备的虚拟机管理器截获后, 解封装所述第二数据包, 并将解封装后的 数据包发送至所述第一虚拟机标识对应的虚拟机。 12. 根据权利要求 11 所述的装置, 其特征在于, 所述物理设备地址获取模块用于触发 所述发送模块向指定装置发送获取请求, 所述获取请求携带所述第一虚拟机标识, 所述指 定装置用于存储虚拟机标识与物理设备地址的映射关系 ; 所述接收模块, 还用于接收所述指定装置返回的第一物理设备地址。 13. 根据权利要求 11 所述的装置, 其特征在于, 所述接收模块还用于接收第三数据包, 所述第三数据包包头的目标地址段包括。
12、第三虚拟机标识对应的第三物理设备地址, 所述第 权 利 要 求 书 CN 104243427 A 3 3/4 页 4 三数据包包头的源地址段包括第四虚拟机标识对应的第四物理设备地址 ; 解封装模块, 用于解封装所述第三数据包, 得到第四数据包, 所述第四数据包包头的目 标地址段包括第三虚拟机标识, 所述第四数据包包头的源地址段包括第四虚拟机标识 ; 所述发送模块, 用于将第四数据包发送至所述第三虚拟机标识对应的虚拟机或 IP 地 址。 14. 根据权利要求 11-13 任一项所述的装置, 其特征在于, 所述装置还包括 : IP 地址分配模块, 用于根据数据中心的物理设备的拓扑结构, 为所述物理。
13、设备分配 IP 地址 ; 虚拟机标识分配模块, 用于根据所述物理设备所分配的 IP 地址, 为所述物理设备上运 行的虚拟机分配与所述物理设备的 IP 地址属于同一个 IP 地址池的 IP 地址作为所述虚拟 机的虚拟机标识。 15. 一种映射关系处理方法, 其特征在于, 所述方法包括 : 接收设备的获取请求, 所述获取请求携带至少一个虚拟机标识 ; 根据所述获取请求携带的虚拟机标识, 从所述虚拟机标识与物理设备地址的映射关系 中获取与所述虚拟机标识对应的物理设备地址 ; 向所述设备发送所述虚拟机标识对应的物理设备地址。 16. 根据权利要求 15 所述的方法, 其特征在于, 该方法还包括 : 接。
14、收设备的更新请求, 所述更新请求携带指定虚拟机标识和物理设备地址 ; 将所述虚拟机标识与物理设备地址的映射关系中与所述指定虚拟机标识对应的物理 设备地址更新为所述更新请求携带的物理设备地址。 17. 一种指定装置, 其特征在于, 所述装置包括 : 请求接收模块, 用于接收设备的获取请求, 所述获取请求携带至少一个虚拟机标识 ; 获取模块, 用于根据所述获取请求携带的虚拟机标识, 从所述虚拟机标识与物理设备 地址的映射关系中获取与所述虚拟机标识对应的物理设备地址 ; 发送模块, 用于向所述设备发送所述虚拟机标识对应的物理设备地址。 18. 根据权利要求 17 所述的装置, 其特征在于, 所述请求。
15、接收模块还用于接收设备的更新请求, 所述更新请求携带指定虚拟机标识和 物理设备地址 ; 所述装置还包括 : 更新模块, 用于将所述虚拟机标识与物理设备地址的映射关系中与所述指定虚拟机标 识对应的物理设备地址更新为所述更新请求携带的物理设备地址。 19. 一种数据中心系统, 其特征在于, 包括 : 虚拟机管理装置, 用于接收迁移指令, 所述迁移指令用于指示源虚拟机迁移至目的虚 拟机管理器, 所述源虚拟机所在物理设备与所述目的虚拟机管理器所在物理设备属于数据 中心的不同子网络 ; 获取所述源虚拟机的虚拟机数据, 将所述源虚拟机的虚拟机数据以数 据包的形式发送至所述目的虚拟机管理器, 使得所述目的虚。
16、拟机管理器根据所述虚拟机数 据创建虚拟机 ; 当虚拟机数据发送完成时, 将所述源虚拟机的虚拟机标识对应的物理设备 地址更新为所述目的虚拟机管理器所在物理设备的物理设备地址 ; 指定装置, 用于存储虚拟机标识与物理设备地址的映射关系, 当接收到获取请求, 根据 权 利 要 求 书 CN 104243427 A 4 4/4 页 5 所述获取请求携带的虚拟机标识, 从所述虚拟机标识与物理设备地址的映射关系中获取与 所述虚拟机标识对应的物理设备地址, 并返回所述虚拟机标识对应的物理设备地址。 权 利 要 求 书 CN 104243427 A 5 1/16 页 6 虚拟机在线迁移方法、 数据包传输方法和。
17、设备 技术领域 0001 本发明涉及虚拟机领域, 特别涉及一种虚拟机在线迁移方法、 数据包传输方法和 设备。 背景技术 0002 随着数据服务的飞速发展, 虚拟化技术越来越广泛的应用于数据中心。虚拟化技 术是将物理设备分割为多个互相隔离的逻辑分区, 并通过虚拟机管理器 (Hypervisor) 在每 个逻辑分区中模拟出一个具有完整硬件的系统, 这种模拟出的每一个完整硬件系统即是一 个虚拟机, 一个虚拟机管理器可以管理多个虚拟机, 数据中心可通过虚拟机管理器应用多 个虚拟机在同一台物理设备上运行多个不同的操作系统。 0003 当需要对虚拟机或物理设备进行升级或数据转移等操作时, 需要对虚拟机进行。
18、在 线迁移。该在线迁移是指在维持虚拟机的操作系统正常运行的情况下, 将一个虚拟机的虚 拟机数据复制到另一个虚拟机的过程。 其中, 被复制的对象为源虚拟机, 复制后传输的目标 为目的虚拟机。该过程如具体可以由以下的数据包转发过程实现 : 源虚拟机管理器根据目 的虚拟机的 IP(Internet Protocol, 网络之间互连的协议) 地址以及目的物理设备的 MAC 地址对待发送数据进行封装 ; 源虚拟机管理器通过与目的虚拟机管理器之间建立的 IP 通 道转发数据包, 当目的虚拟机管理器接收到数据包时, 将数据包发送给目的虚拟机。 0004 上述在线迁移过程一般是在数据链路层面进行。在该在线迁移。
19、过程中, 源虚拟机 所在的物理设备与目的虚拟机所在的物理设备处于同一局域网中。 0005 然而, 随着数据中心的规模越来越大, 简单的二层组网显然不能满足数据中心的 需要, 而必然是一个层次型的三层组网, 因此跨子网的虚拟机迁移技术成为必然的需求。 当 需要在跨局域网的数据中心中进行虚拟机在线迁移时, 其在线迁移过程即涉及到了网络 层。由于源虚拟机所在的物理设备与目的虚拟机所在的物理设备不在同一个局域网中, 会 引起虚拟机 IP 地址的变化。而由于 DNS (Domain Name System, 域名系统) 不能够实时随着 虚拟机IP地址的变化而更新域名与IP地址的映射, 会使得在虚拟机在线。
20、迁移后, 源虚拟机 用户的访问仍然发送至源虚拟机, 导致源虚拟机用户的访问错误, 影响虚拟机的正常运行。 发明内容 0006 为了解决现有技术的问题, 本发明实施例提供了一种虚拟机在线迁移方法、 数据 包传输方法和设备。所述技术方案如下 : 0007 第一方面, 提供了一种虚拟机在线迁移方法, 所述方法包括 : 0008 接收迁移指令, 所述迁移指令用于指示源虚拟机迁移至目的虚拟机管理器, 所述 源虚拟机所在物理设备与所述目的虚拟机管理器所在物理设备属于数据中心的不同子网 络 ; 0009 获取所述源虚拟机的虚拟机数据, 将所述源虚拟机的虚拟机数据以数据包的形式 发送至所述目的虚拟机管理器, 。
21、使得所述目的虚拟机管理器根据所述虚拟机数据创建虚拟 说 明 书 CN 104243427 A 6 2/16 页 7 机 ; 0010 当虚拟机数据发送完成时, 将所述源虚拟机的虚拟机标识对应的物理设备地址更 新为所述目的虚拟机管理器所在物理设备的物理设备地址。 0011 所述源虚拟机的虚拟机标识对应的物理设备地址更新为所述目的虚拟机管理器 所在物理设备的物理设备地址之后, 所述方法还包括 : 0012 将所述目的虚拟机管理器所在物理设备的物理设备地址发送至正在访问所述源 虚拟机的通信节点, 使得所述通信节点根据更新后的物理设备地址继续访问虚拟机。 0013 接收迁移指令之前, 所述方法还包括 。
22、: 0014 根据数据中心的物理设备的拓扑结构, 为所述物理设备分配 IP 地址 ; 0015 根据所述物理设备所分配的 IP 地址, 为所述物理设备上运行的虚拟机分配与所 述物理设备的 IP 地址属于同一个 IP 地址池的 IP 地址作为所述虚拟机的虚拟机标识。 0016 第二方面, 提供了一种数据包传输方法, 所述方法包括 : 0017 接收到第一数据包, 所述第一数据包包头的目标地址段包括第一虚拟机标识 ; 0018 根据所述第一虚拟机标识, 从虚拟机标识与物理设备地址的映射关系中, 获取所 述第一物理设备地址 ; 0019 以所述第一物理设备地址为目标地址段对所述第一数据包进行封装, 。
23、得到第二数 据包 ; 0020 将所述第二数据包转发至所述第一物理设备地址, 使得所述第二数据包由所述第 一物理设备的虚拟机管理器截获后, 解封装所述第二数据包, 并将解封装后的数据包发送 至所述第一虚拟机标识对应的虚拟机。 0021 根据所述第一虚拟机标识, 从虚拟机标识与物理设备地址的映射关系中, 获取所 述第一物理设备地址包括 : 0022 向指定装置发送获取请求, 所述获取请求携带所述第一虚拟机标识, 所述指定装 置用于存储虚拟机标识与物理设备地址的映射关系 ; 0023 接收所述指定装置返回的第一物理设备地址。 0024 所述方法还包括 : 0025 接收第三数据包, 所述第三数据包。
24、包头的目标地址段包括第三虚拟机标识对应的 第三物理设备地址, 所述第三数据包包头的源地址段包括第四虚拟机标识对应的第四物理 设备地址 ; 0026 解封装所述第三数据包, 得到第四数据包, 所述第四数据包包头的目标地址段包 括第三虚拟机标识, 所述第四数据包包头的源地址段包括第四虚拟机标识 ; 0027 将第四数据包发送至所述第三虚拟机标识对应的虚拟机或 IP 地址。 0028 接收到第一数据包之前, 所述方法还包括 : 0029 根据数据中心的物理设备的拓扑结构, 为所述物理设备分配 IP 地址 ; 0030 根据所述物理设备所分配的 IP 地址, 为所述物理设备上运行的虚拟机分配与所 述物。
25、理设备的 IP 地址属于同一个 IP 地址池的 IP 地址作为所述虚拟机的虚拟机标识。 0031 第三方面, 一种虚拟机管理装置, 所述装置包括 : 0032 接收模块, 用于接收迁移指令, 所述迁移指令用于指示源虚拟机迁移至目的虚拟 机管理器, 所述源虚拟机所在物理设备与所述目的虚拟机管理器所在物理设备属于数据中 说 明 书 CN 104243427 A 7 3/16 页 8 心的不同子网络 ; 0033 迁移模块, 用于获取所述源虚拟机的虚拟机数据, 将所述源虚拟机的虚拟机数据 以数据包的形式发送至所述目的虚拟机管理器, 使得所述目的虚拟机管 理器根据所述虚 拟机数据创建虚拟机 ; 003。
26、4 更新模块, 用于当虚拟机数据发送完成时, 将所述源虚拟机的虚拟机标识对应的 物理设备地址更新为所述目的虚拟机管理器所在物理设备的物理设备地址。 0035 所述装置还包括 : 0036 发送模块, 用于将所述目的虚拟机管理器所在物理设备的物理设备地址发送至正 在访问所述源虚拟机的通信节点, 使得所述通信节点根据更新后的物理设备地址继续访问 虚拟机。 0037 所述装置还包括 : 0038 IP 地址分配模块, 用于根据数据中心的物理设备的拓扑结构, 为所述物理设备分 配 IP 地址 ; 0039 虚拟机标识分配模块, 用于根据所述物理设备所分配的 IP 地址, 为所述物理设备 上运行的虚拟机。
27、分配与所述物理设备的 IP 地址属于同一个 IP 地址池的 IP 地址作为所述 虚拟机的虚拟机标识。 0040 第四方面, 提供了一种数据包传输装置, 所述装置包括 : 0041 接收模块, 用于接收到第一数据包, 所述第一数据包包头的目标地址段包括第一 虚拟机标识 ; 0042 物理设备地址获取模块, 用于根据所述第一虚拟机标识, 从虚拟机标识与物理设 备地址的映射关系中, 获取所述第一物理设备地址 ; 0043 封装模块, 用于以所述第一物理设备地址为目标地址段对所述第一数据包进行封 装, 得到第二数据包 ; 0044 发送模块, 用于将所述第二数据包转发至所述第一物理设备地址, 使得所 。
28、述第二 数据包由所述第一物理设备的虚拟机管理器截获后, 解封装所述第二数据包, 并将解封装 后的数据包发送至所述第一虚拟机标识对应的虚拟机。 0045 所述物理设备地址获取模块用于触发所述发送模块向指定装置发送获取请求, 所 述获取请求携带所述第一虚拟机标识, 所述指定装置用于存储虚拟机标识与物理设备地址 的映射关系 ; 0046 所述接收模块, 还用于接收所述指定装置返回的第一物理设备地址。 0047 所述接收模块还用于接收第三数据包, 所述第三数据包包头的目标地址段包括第 三虚拟机标识对应的第三物理设备地址, 所述第三数据包包头的源地址段包括第四虚拟机 标识对应的第四物理设备地址 ; 00。
29、48 解封装模块, 用于解封装所述第三数据包, 得到第四数据包, 所述第四数据包包头 的目标地址段包括第三虚拟机标识, 所述第四数据包包头的源地址段包括第四虚拟机标 识 ; 0049 所述发送模块, 用于将第四数据包发送至所述第三虚拟机标识对应的虚拟机或 IP 地址。 0050 所述装置还包括 : 说 明 书 CN 104243427 A 8 4/16 页 9 0051 IP 地址分配模块, 用于根据数据中心的物理设备的拓扑结构, 为所述物理设备分 配 IP 地址 ; 0052 虚拟机标识分配模块, 用于根据所述物理设备所分配的 IP 地址, 为所述物理设备 上运行的虚拟机分配与所述物理设备的。
30、 IP 地址属于同一个 IP 地址池的 IP 地址作为所述 虚拟机的虚拟机标识。 0053 第五方面, 提供了一种映射关系处理方法, 所述方法包括 : 0054 接收设备的获取请求, 所述获取请求携带至少一个虚拟机标识 ; 0055 根据所述获取请求携带的虚拟机标识, 从所述虚拟机标识与物理设备地址的映射 关系中获取与所述虚拟机标识对应的物理设备地址 ; 0056 向所述设备发送所述虚拟机标识对应的物理设备地址。 0057 该方法还包括 : 0058 接收设备的更新请求, 所述更新请求携带指定虚拟机标识和物理设备地址 ; 0059 将所述虚拟机标识与物理设备地址的映射关系中与所述指定虚拟机标识。
31、对应的 物理设备地址更新为所述更新请求携带的物理设备地址。 0060 第六方面, 提供了一种指定装置, 所述装置包括 : 0061 请求接收模块, 用于接收设备的获取请求, 所述获取请求携带至少一个虚拟机标 识 ; 0062 获取模块, 用于根据所述获取请求携带的虚拟机标识, 从所述虚拟机标识与物理 设备地址的映射关系中获取与所述虚拟机标识对应的物理设备地址 ; 0063 发送模块, 用于向所述设备发送所述虚拟机标识对应的物理设备地址。 0064 所述请求接收模块还用于接收设备的更新请求, 所述更新请求携带指定虚拟机标 识和物理设备地址 ; 0065 所述装置还包括 : 0066 更新模块, 。
32、用于将所述虚拟机标识与物理设备地址的映射关系中与所述指定虚拟 机标识对应的物理设备地址更新为所述更新请求携带的物理设备地址。 0067 第七方面, 提供了一种数据中心系统, 包括 : 0068 虚拟机管理装置, 用于接收迁移指令, 所述迁移指令用于指示源虚拟机迁移至目 的虚拟机管理器, 所述源虚拟机所在物理设备与所述目的虚拟机管理器所在物理设备属于 数据中心的不同子网络 ; 获取所述源虚拟机的虚拟机数据, 将所述源虚拟机的虚拟机数据 以数据包的形式发送至所述目的虚拟机管理器, 使得所述目的虚拟机管理器根据所述虚拟 机数据创建虚拟机 ; 当虚拟机数据发送完成时, 将所述源虚拟机的虚拟机标识对应的。
33、物理 设备地址更新为所述目的虚拟机管理器所在物理设备的物理设备地址 ; 0069 指定装置, 用于存储虚拟机标识与物理设备地址的映射关系, 当接收到获取请求, 根据所述获取请求携带的虚拟机标识, 从所述虚拟机标识与物理设备地址的映射关系中获 取与所述虚拟机标识对应的物理设备地址, 并返回所述虚拟机标识对应的物理设备地址。 0070 本发明实施例提供的技术方案带来的有益效果是 : 0071 本发明实施例提供的虚拟机在线迁移方法、 数据包传输方法和设备, 通过向源虚 拟机发送迁移指令, 所述迁移指令用于指示所述源虚拟机向目的虚拟机进行迁移, 所述源 虚拟机所在物理设备与所述目的虚拟机所在物理设备属。
34、于数据中心的不同子网络 ; 接收所 说 明 书 CN 104243427 A 9 5/16 页 10 述源虚拟机发送的虚拟机数据, 将所述源虚拟机的虚拟机数据以数据包的形式发送至所述 目的虚拟机 ; 当虚拟机数据发送完成时, 将所述源虚拟机的虚拟机标识对应的物理设备地 址更新为所述目的虚拟机对应的物理设备地址。采用本发明实施例提供的技术方案, 通过 在虚拟机的数据迁移结束时, 更新源虚拟机的虚拟机标识对应的物理设备地址, 由于虚拟 机标识未发生变化, 因此, 可以在访问过程中根据虚拟机标识获取到变化后的物理设备地 址, 实现对迁移后的虚拟机的正确访问, 避免了由于 DNS 设置不及时而导致的访。
35、问错误。 附图说明 0072 为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例描述中所 需要 使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对 于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其 他的附图。 0073 图 1 是本发明实施例提供的一种虚拟机在线迁移方法的流程图 ; 0074 图 2 是本发明实施例提供的一种数据中心架构示意图 ; 0075 图 3 为基于图 2 的数据中心架构的虚拟机在线迁移方法的流程图 ; 0076 图 4a 是本发明实施例提供的一种数据包传输方法的流程图 ; 0077 图 4b 。
36、是本发明实施例提供的一种数据包格式的示意图 ; 0078 图 4c 是本发明实施例提供的另一种数据包格式的示意图 ; 0079 图 5 是本发明实施例提供的另一种数据包传输方法的流程图 ; 0080 图 6 是本发明实施例提供的一种网关侧的数据包传输方法的流程图 ; 0081 图 7 是本发明实施例提供的另一种网关侧的数据包传输方法的流程图 ; 0082 图 8 是本发明实施例提供以虚拟机之间的数据交互为例的一种数据包传输方法 的流程图 ; 0083 图 9 是本发明实施例提供的一种虚拟机管理装置的功能方框图 ; 0084 图 10 是本发明实施例提供的一种数据包传输装置的功能方框图 ; 00。
37、85 图 11 是本发明实施例提供的一种指定装置的功能方框图 ; 0086 图 12 是本发明实施例提供的一种数据中心系统的结构示意图。 具体实施方式 0087 为使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图对本发明实施方 式作进一步地详细描述。 0088 图 1 是本发明实施例提供的一种虚拟机在线迁移方法的流程图。该发明实 施例 的执行主体为虚拟机管理装置, 如, 虚拟机管理软件 Hypervisor 等。而为了便于说明, 本发 明实施例仅以该虚拟机管理装置为源虚拟机管理器为例进行描述。 参见图1, 该发明实施例 包括 : 0089 101、 接收迁移指令, 所述迁移指令用于指。
38、示源虚拟机迁移至目的虚拟机管理器, 所述源虚拟机所在物理设备与所述目的虚拟机管理器所在物理设备属于数据中心的不同 子网络 ; 0090 数据中心在需要进行跨子网络的虚拟机迁移的场景中, 由数据中心向源虚拟机管 说 明 书 CN 104243427 A 10 6/16 页 11 理器配置待迁移的源虚拟机以及迁移的目的虚拟机, 源虚拟机管理器接收数据中心的迁移 指令, 该迁移指令至少携带目的虚拟机的虚拟机名称 (如域名或设备名称) , 使得源虚拟机 管理器能够根据迁移指令将源虚拟机上的虚拟机数据迁移至目的虚拟机。 0091 在本发明实施例中, 每个虚拟机标识是该虚拟机面向用户的唯一标识, 该虚拟机。
39、 标识可以由数据中心统一分配。优选地, 虚拟机标识可以为 IP 地址, 在后续实施例中均以 该虚拟机标识为 IP 地址为例进行说明。 0092 102、 获取所述源虚拟机的虚拟机数据, 将所述源虚拟机的虚拟机数据以数据包的 形式发送至所述目的虚拟机管理器, 使得所述目的虚拟机管理器根据所述虚拟机数据创建 虚拟机 ; 0093 其中, 虚拟机数据包括但不限于虚拟机的物理内存和运行状态。 在迁移过程中, 作 为一种将源虚拟机的虚拟机数据发送至目的虚拟机的方式, 可以采用如下方法 : 源虚拟机 管理器根据目的虚拟机的IP地址以及目的物理地址的MAC地址对待发送数据进行封装, 并 将封装后的数据包向目。
40、的物理地址发送, 经过路由转发, 由目的虚拟机管理器接收数据包 并将数据包发送给目的虚拟机。 0094 虚拟机迁移的过程实际上是迁移前后两个物理机器上的虚拟机管理器之间 的交 互过程, 与虚拟机本身无关。 虚拟机迁移时, 迁移数据的是由虚拟机管理器负责封装并从物 理设备的端口发送出去, 跟虚拟机本身无关, 虚拟机本身并不知道自己将要被迁移或者已 经被迁移。 0095 需要说明的是, 源虚拟机的虚拟机数据可以分为多个数据包进行发送, 每个数据 包包括指定大小的数据, 该指定大小可以由技术人员在系统配置时设置, 还可以由源虚拟 机管理器根据网络情况设置。如, 为了避免虚拟机管理器对报文加封装后而使。
41、得报文超出 了 MTU(Maximum Transmission Unit, 最大传输单元) 被分片, 虚拟机上的 MTU 可以相应设 的小一些, 设为物理设备的 MTU 减去 8 个字节。 0096 103、 当虚拟机数据发送完成时, 将所述源虚拟机的虚拟机标识对应的物理设备地 址更新为所述目的虚拟机管理器所在物理设备的物理设备地址。 0097 当虚拟机数据发送完成且物理设备地址更新后, 该虚拟机在线迁移过程结束。在 该在线迁移过程后, 数据中心中的用户访问以及虚拟机的互相访问将依据虚拟机标识以及 虚拟机标识对应的更新后的物理设备地址进行。具体地, 数据中心用户或数据中心内的其 他虚拟机通过。
42、查询 DNS, 获取访问目标虚拟机的 IP 地址, 由于 DNS 解析得到的 IP 地址可看 做是虚拟机的虚拟机标识, 对于访问者来说, 即是通过 DNS 的解析得到该源虚拟机的虚拟 机标识, 并以该虚拟机标识为目的地址进行发送。而由于该源虚拟机的虚拟机标识对应的 物理设备地址在迁移后已经更新, 因此, 以该虚拟机标识为目的地址进行发送时, 虚拟机管 理器会将数据转发至更新后的物理设备地址, 更新后的物理设备地址上的虚拟机处于正常 运行状态, 也就不会发生由于迁移前后物理设备地址发生变化而造成的访问错误。 0098 本发明实施例提供的方法, 通过在虚拟机的数据迁移结束时, 更新源虚拟 机的虚 。
43、拟机标识对应的物理设备地址, 由于虚拟机标识未发生变化, 因此, 可以在访问过程中根据 虚拟机标识获取到变化后的物理设备地址, 实现对迁移后的虚拟机的正确访问, 避免了由 于 DNS 设置不及时而导致的访问错误。 0099 在虚拟机迁移过程结束时, 作为数据中心用户的某些通信节点可能正处于与该源 说 明 书 CN 104243427 A 11 7/16 页 12 虚拟机交互过程中, 该交互通过通信节点与源物理设备之间的基于 IP 地址的通信连接进 行, 而为了保证这些通信节点的通信连接不受虚拟机迁移中物理设备地址变化的影响, 需 要向通信节点发送该更新后的物理设备地址, 以便通信节点根据更新后。
44、的物理设备地址及 时更改其通信连接, 保证通信不中断。因此, 可选地, 基于图 1 所示实施例的技术方案的基 础上, 该步骤 103 “将所述源虚拟机的虚拟机标识对应的物理设备地址更新为所述目的虚拟 机对应的物理设备地址” 之后, 所述方法还包括以下步骤 104 : 0100 104、 将所述目的虚拟机对应的物理设备地址发送至正在访问所述源虚拟机的通 信节点, 使得所述通信节点根据更新后的物理设备地址继续访问虚拟机。 0101 在步骤 103 的更新之后, 源虚拟机管理器根据当前正在访问源虚拟机的通信节点 的 IP 地址, 向该通信节点发送目的虚拟机对应的物理设备地址, 当通信节点接收到更新后。
45、 的物理设备地址时, 及时更新与虚拟机的通信连接的目标 IP 地址, 以更新后的物理设备地 址作为访问的目标 IP 地址继续访问虚拟机, 以避免发生访问中断的情况。 0102 本发明实施例提供的方法, 通过在虚拟机的数据迁移结束时, 更新源虚拟机的虚 拟机标识对应的物理设备地址, 由于虚拟机标识未发生变化, 因此, 可以在访问过程中根据 虚拟机标识获取到变化后的物理设备地址, 实现对迁移后的虚拟机的正确访问, 避免了由 于 DNS 设置不及时而导致的访问错误。进一步 地, 通过将更新的物理设备地址及时通知给 正在访问源虚拟机的通信节点, 保证了通信节点的通信连接不受到物理设备地址更改的影 响,。
46、 能够完成在迁移结束时未完成的正常访问。 0103 可选地, 在本发明实施例中, 虚拟机标识与物理设备地址的映射关系用于维护作 为虚拟机标识的IP地址与该虚拟机标识对应的虚拟机当前所在物理设备的IP地址的映射 关系。该映射关系可以保存在指定装置中, 该指定装置可以为独立的设备或位于数据中心 的某个控制设备的功能模块。 上述步骤103中的 “当虚拟机数据发送完成时, 将所述源虚拟 机的虚拟机标识对应的物理设备地址更新为所述目的虚拟机管理器所在物理设备的物理 设备地址” 包括 : 源虚拟机管理器向指定装置发送更新请求, 该更新请求携带虚拟机标识以 及物理设备地址, 使得指定装置根据将该虚拟机标识对。
47、应的物理设备地址更新为更新请求 所携带的物理设备地址。 0104 可选地, 基于图 1 所示实施例的技术方案的基础上, 源虚拟机管理器接收迁移指 令之前, 所述方法还包括以下步骤 1001、 1002 : 0105 1001、 根据数据中心的物理设备的拓扑结构, 为所述物理设备分配 IP 地址 ; 0106 数据中心包括多个 IP 池, 数据中心根据物理设备的拓扑分布和物理位置, 为物理 设备分配 IP 地址池, 在该 IP 地址池中为该物理设备分配 IP 地址。 0107 1002、 根据所述物理设备所分配的 IP 地址, 为所述物理设备上运行的虚拟机分配 与所述物理设备的IP地址属于同一个。
48、IP地址池的IP地址作为所述虚拟机的虚拟机标识。 0108 在本发明实施例中, 一个物理设备上可以运行多个虚拟机, 从同一 IP 地址池中为 多个虚拟机分别分配 IP 地址。如, 为物理设备分配的 IP 地址为 201.1.1.1, 则可从该 IP 地址所在 IP 段 201.1.1.1 201.1.1.254 中为该物理设备上运行的虚拟机任意分配虚拟 机标识。 0109 进一步地, 为了提高 IP 地址的利用率, 物理设备和其运行的一个虚拟机可以复用 同一 IP 地址池, 即, 同一个 32bit 的 IP 地址即可以是某个物理设备的 IP 地址, 也可以是某 说 明 书 CN 104243。
49、427 A 12 8/16 页 13 个虚拟机的虚拟机标识。 0110 本发明实施例提供的方法, 通过在虚拟机的数据迁移结束时, 更新源虚拟机的虚 拟机标识对应的物理设备地址, 由于虚拟机标识未发生变化, 因此, 可以在访问过程中根据 虚拟机标识获取到变化后的物理设备地址, 实现对迁移后的虚拟机的正确访问, 避免了由 于 DNS 设置不及时而导致的访问错误。进一步地, 通过应用同一 IP 段, 为物理设备以及其 运行的虚拟机进行 IP 地址以及虚拟机标识的分配, 为虚拟机迁移以及数据中心的运行提 供了一种新数据传输模式。 0111 为了便于对本发明实施例进一步了解, 下面结合数据中心结构对本发明实施例的 具体实现进。