CN103430149A - 虚拟机迁移通知方法和系统 - Google Patents

虚拟机迁移通知方法和系统 Download PDF

Info

Publication number
CN103430149A
CN103430149A CN2011800014189A CN201180001418A CN103430149A CN 103430149 A CN103430149 A CN 103430149A CN 2011800014189 A CN2011800014189 A CN 2011800014189A CN 201180001418 A CN201180001418 A CN 201180001418A CN 103430149 A CN103430149 A CN 103430149A
Authority
CN
China
Prior art keywords
address
router
control node
migrated
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800014189A
Other languages
English (en)
Other versions
CN103430149B (zh
Inventor
郑若滨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103430149A publication Critical patent/CN103430149A/zh
Application granted granted Critical
Publication of CN103430149B publication Critical patent/CN103430149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种虚拟机迁移通知方法和系统。目标控制节点根据目标服务器发送的包含待迁移VM地址的第一ARP消息更新IP路由表并通过第一路由协议报文向源控制节点发送更新后待迁移VM的IP地址路由信息,源控制节点根据第一路由协议报文更新IP路由表并通过第二ARP消息向源服务器发送待迁移VM的地址。采用本发明提供的拟机迁移方法和系统,能够节省控制信令占用的带宽。

Description

虚拟机迁移通知方法和系统
技术领域
本发明实施例涉及通信技术, 尤其涉及一种虚拟机(Virtual Machine, 简称 VM ) 迁移方法和系统。 背景技术
随着计算机技术以及通信技术的不断发展, 数据中心(Data Center, 简 称 DC ) 网络得到越来越广泛的应用。
在 DC网络中, 在服务器上设置多个 VM进行计算。 当某个服务器的负 载过大或发生故障时, 需要将该服务器上设置的 VM迁移到其它服务器。 目 前, 在 VM迁移时, 通过广播地址解析协议(Address Resolution Protocol, 简称 ARP )消息的方式向 DC网络中的相关节点通知待迁移 VM的媒体访问 控制 ( Media Access Control, 简称 MAC )地址。 由于每个 DC内部包括大 量的 VM, 因此, 采用现有的 VM迁移方法会在 DC网络中形成广播风暴, 与 迁移相关的控制信令占用大量网络带宽, 造成网络带宽资源的浪费。 发明内容
本发明实施例提供一种虚拟机迁移通知方法, 用以解决现有技术中的缺 陷, 节省控制信令占用的带宽。
本发明实施例还提供一种虚拟机迁移系统,用以解决现有技术中的缺陷, 节省控制信令占用的带宽。
本发明实施例提供一种虚拟机 VM迁移方法, 包括:
目标服务器启动待迁移 VM并通过第一地址解析协议 ARP消息向目标控 制节点发送所述待迁移 VM的媒体访问控制 MAC地址和网际协议 IP地址; 所述目标控制节点根据所述第一 ARP消息更新 IP路由表, 通过第一路 由协议报文向源控制节点发送更新后待迁移 VM的 IP地址路由信息,所述更 新后待迁移 VM的 IP地址路由信息包括所述待迁移 VM的 IP地址和所述目 标控制节点的 IP地址;
所述源控制节点根据所述第一路由协议报文中的所述待迁移 VM的 IP地 址和所述目标控制节点的 IP地址更新 IP路由表,通过第二 ARP消息向源服 务器发送待迁移 VM的 IP地址或 IP地址和 MAC地址。
本发明实施例还提供一种虚拟机 VM迁移系统, 包括:
目标服务器,用于启动待迁移 VM并通过第一地址解析协议 ARP消息向 目标控制节点发送所述待迁移 VM的媒体访问控制 MAC地址和网际协议 IP 地址;
目标控制节点, 用于根据所述第一 ARP消息更新 IP路由表, 通过第一 路由协议报文向源控制节点发送更新后待迁移 VM的 IP地址路由信息,所述 更新后待迁移 VM的 IP地址路由信息包括所述待迁移 VM的 IP地址和所述 目标控制节点的 IP地址;
源控制节点, 用于根据所述第一路由协议报文中的所述待迁移 VM的 IP 地址和所述目标控制节点的 IP地址更新 IP路由表,通过第二 ARP消息向源 服务器发送待迁移 VM的 IP地址或 IP地址和 MAC地址;
源服务器, 用于从所述源控制节点接收所述第二 ARP消息。 ARP协议, 在各个站点之间的交互过程采用路由协议, 由目标控制节点和源 控制节点对完成 ARP 消息与路由协议报文之间的相互触发和转化。 从而将 ARP协议的报文限制在各个站点内部, 避免了将 ARP协议发到各个站点之 间的 DC互联网络中, 因此避免了在 DC互联网络中广播 ARP消息带来的广 播风暴, 从而节省了控制信令占用的带宽。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面 描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1本发明实施例一的虚拟机迁移通知方法的流程图;
图 2为本发明实施例二和本发明实施例三的网络结构示意图;
图 3为本发明实施例二的虚拟机迁移通知方法的信令流程图;
图 4为本发明实施例三的虚拟机迁移通知方法的信令流程图;
图 5为本发明实施例四的虚拟机迁移系统的结构示意图;
图 6为本发明实施例五的目标控制节点 52的结构示意图;
图 7为本发明实施例六的源控制节点 53的结构示意图。 具体实施方式
为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例, 都属于本发明保护的范围。
图 1本发明实施例一的虚拟机迁移通知方法的流程图。 如图 1所示, 该 方法包括如下过程。
步骤 101: 目标服务器启动待迁移 VM并通过第一 ARP消息向目标控制 节点发送待迁移 VM的 MAC地址和网际协议 ( Internet Procotol, 简称 IP ) 地址。
其中, 目标服务器是指迁移后的 VM所在的服务器。 目标控制节点是指 迁移后的 VM所在的站点的控制节点, 具体可以是迁移后的 VM所在的站点 的用户边缘(Customer Edge, 简称 CE )路由器或运营商边缘(Provider Edge, 简称 PE )路由器。在本发明实施例一以及后续的各个实施例中, ARP 消息可以采用免费 ARP ( Gratuitous ARP, 简称 GARP )。
步骤 102: 目标控制节点根据第一 ARP消息更新 IP路由表, 通过第一 路由协议报文向源控制节点发送更新后待迁移 VM的 IP地址路由信息。
其中, 源控制节点是指迁移前的 VM所在的站点的控制节点, 具体可以 是迁移前 VM所在的站点的 CE路由器或 PE路由器。
在本步骤中,更新后待迁移 VM的 IP地址路由信息包括待迁移 VM的 IP 地址和目标控制节点的 IP地址。在本发明实施例一以及以下的各个实施例中 , 所涉及的路由协议报文是指采用路由协议发送的报文, 路由协议可以采用边 界网关协议 ( Border Gateway Protocol , 简称 BGP )或中间系统到中间系统 ( Internediate System to Intermediate System, 简称 IS-IS )协议。
由于根据 ARP和路由协议的规定, 一个 ARP消息只能包含一个 VM的 地址, 而一个路由协议报文可以包括多个 VM的地址, 因此当目标控制节点 接收到多个第一 ARP消息时, 能够将多个第一 ARP消息中的 VM的地址整 合到一个第一路由协议报文中发送给源控制节点。 各个站点以各自的控制节 点作为信息交互的边缘节点, 采用上述方案, 在各个站点之间采用路由协议 报文, 将每个站点内对于多个 VM的 ARP消息整合为一个路由协议报文, 在 各个站点之间采用路由协议报文进行消息传输,与将每个 ARP消息均在各个 站点之间进行传输相比, 采用路由协议报文进行整合集中的方式可以大量减 少站点之间的消息传输量。
步骤 103: 源控制节点根据第一路由协议报文中的待迁移 VM的 IP地址 和目标控制节点的 IP地址更新 IP路由表,通过第二 ARP消息向源服务器发 送待迁移 VM的 IP地址, 或 IP地址和 MAC地址的组合。
源服务器是指迁移前的 VM所在的服务器。
在本发明实施例一中, 在 VM迁移控制过程中, 在各个站点内的交互过 程采用 ARP协议, ARP协议是数据链路层(data link layer )协议, 各站点 之间的交互过程采用路由协议,由目标控制节点和源控制节点对完成 ARP消 息与路由协议报文之间的相互触发和转化。从而将 ARP协议的报文限制在各 个站点内部, 避免了将 ARP协议发到各个站点之间的 DC互联网络中。 因为 一个 ARP消息只能针对一个地址, 而一个路由协议报文可以包括多个地址, 因此, 通过在 DC互联网络中采用路由协议报文替代 ARP消息, 避免了在 DC互联网络中广播 ARP消息带来的广播风暴, 从而节省了控制信令占用的 带宽。
图 2为本发明实施例二和本发明实施例三的网络结构示意图。 如图 2所 示, 该网络为支持 VM迁移的 DC网络。 该网络中包括三个站点, 三个站点 通过各自的 CE路由器分别连接一个 PE路由器, 三个 PE路由器相连, 构成 一个 DC互联网络。 具体地, 以第一站点包括第一服务器为例, 在第一服务 器上设置有多个 VM, 例如 VM11和 VM12等, 并且, 第一站点包括第一 CE 路由器, 该第一 CE路由器连接到第一 PE路由器; 以第二站点包括第二服 务器为例, 在第二服务器上设置有多个 VM, 例如 VM21 等, 并且, 第二站 点包括第二 CE路由器,该第二 CE路由器连接到第二 PE路由器; 以第三站 点包括第三服务器为例, 在第三服务器上设置有多个 VM, 例如 VM31 等, 并且, 第三站点包括第三 CE路由器, 该第三 CE路由器连接到第三 PE路由 器。 上述第一 PE路由器、 第二 PE路由器与第三 PE路由器相互连接。 在以 下的本发明实施例二和本发明实施例三中, 以将本发明实施例一中的虚拟机 迁移通知方法应用到图 2所示的网络架构中为例, 详细说明本发明实施例一 的虚拟机迁移通知方法。 在本发明实施例二和本发明实施例三中, 以第一服 务器上的 VM12迁移到第三服务器上为例, 则, 待迁移虚拟机为 VM12; 第 一服务器为源服务器, 第一 CE路由器为源 CE路由器, 第一 PE路由器为源 PE路由器; 第三服务器为目标服务器, 第三 CE路由器为目标 CE路由器, 第三 PE路由器为目标 PE路由器。其中,源控制节点可以为第一 CE路由器, 相应地, 目标控制节点为第三 CE路由器。 或者, 源控制节点可以为第一 PE 路由器, 相应地, 目标控制节点为第三 PE路由器。 以下分别通过本发明实 施例二和本发明实施例三对上述两种情况进行具体说明。
图 3为本发明实施例二的虚拟机迁移通知方法的信令流程图。 在本发明 实施例二中, 以控制节点为 CE路由器为例, 在各个 CE路由器上设置 ARP 代理功能。
以 VM12从第一站点中的第一服务器迁移到第三站点中的第三服务器的 过程为例, 则第一站点为源站点, 第一服务器为源服务器, 第一 CE路由器 为源 CE路由器; 第三站点为目标站点, 第三服务器为目标服务器, 第三 CE 路由器为目标 CE路由器。 如图 3所示, 该方法包括如下过程。
步骤 301 : 第一 CE路由器通过 ARP消息从第一服务器获取第一服务器 的 VM12的 MAC地址和 IP地址的映射关系。
在本步骤中,各个 CE路由器通过 ARP消息从自身对应的服务器获取自 身对应的站点内的 VM的 MAC地址和 IP地址的映射关系。 具体地, 第一服 务器向第一 CE路由器发送 ARP消息,该消息中包括第一站点内 VM的 MAC 地址和 IP地址的映射关系; 第一 CE路由器从第一服务器接收上述 ARP消 息, 根据该 ARP消息获取第一站点内 VM的 MAC地址和 IP地址的映射关 系,第二 CE路由器通过 ARP消息从第二服务器获取第二站点内 VM的 MAC 地址和 IP地址的映射关系 , 第三 CE路由器通过 ARP消息从第三服务器获 取第三站点内 VM的 MAC地址和 IP地址的映射关系。在本发明实施例二中, 仅以 VM12从第一站点内的第一服务器迁移到第三站点内的第三服务器的过 程为例, 因此, 在本步骤中, 第一 CE路由器通过 ARP消息从第一服务器获 取第一站点内 VM的 MAC地址和 IP地址的映射关系。 由于迁移前 VM12位 于第一站点内,所以第一 CE路由器获取的第一站点内 VM的 MAC地址和 IP 地址的映射关系中, 包括 VM12的 MAC地址和 IP地址的映射关系。
在本步骤中, 各个 CE路由器在获取到各自对应的站点内的 VM的 MAC 地址和 IP地址的映射关系之后, 还根据对应的站点内的 VM的 MAC地址和 IP地址的映射关系, 在自身存储 MAC地址与 IP地址的映射表。 仍以第一 CE路由器为例, 表 1为第一 CE路由器的 MAC地址和 IP地址的映射表。 在表 1 以及本发明各个实施例的以下各表中, @表示地址的具体内容。 第一 CE路由器通过 ARP消息从第一服务器获取第一站点内 VM的 MAC地址和 IP地址的映射关系之后, 将上述映射关系存储到表 1 中。 其中, 表 1中包括 第一服务器的 VM12的 MAC地址和 IP地址的映射关系。 表 1 第一 CE路由器的 MAC地址和 IP地址的映射表
步骤 302:第一 CE路由器通过路由协议报文向第三 CE路由器发送第一 服务器的 VM12的 IP地址路由信息。
在本步骤中, 各个 CE路由器通过路由协议报文向其它 CE路由器发送 自身对应站点的 VM的 IP地址路由信息。 具体地, 第一 CE路由器通过路由 协议报文向第二 CE路由器和第三 CE路由器发送第一站点的 VM的 IP地址 路由信息,第二 CE路由器通过路由协议报文向第一 CE路由器和第三 CE路 由器发送第二站点的 VM的 IP地址路由信息, 第三 CE路由器通过路由协议 报文向第一 CE路由器和第二 CE路由器发送第三站点的 VM的 IP地址路由 信息。 在本发明实施例二中, 仅以 VM12从第一站点中的第一服务器迁移到 第三站点中的第三服务器的过程为例, 因此, 在本步骤中, 仅以第一 CE路 由器通过路由协议报文向第三 CE路由器发送第一站点的 VM的 IP地址路由 信息为例。 其它 CE路由器发送各自对应站点的 VM的 IP地址路由信息的具 体过程可以参照第一 CE路由器发送第一站点的 VM的 IP地址路由信息的过 程实现, 在此不再赘述。
具体地, 第一 CE路由器通过路由协议报文向第三 CE路由器发送第一站点 的 VM的 IP地址路由信息的具体过程包括: 首先, 第一 CE路由器将第一站点 内 VM的 IP地址与第一 CE路由器的 IP地址组成第一站点的 IP地址路由信息。 在本发明实施例二中, 迁移前的 VM12位于第一站点中的第一服务器中,属于 第一站点内的 VM, 因此, 第一 CE路由器所在的第一站点的 VM的 IP地址路由 信息中, 包括第一服务器的 VM12的 IP地址路由信息。 具体地, 第一服务器的 VM12的 IP地址路由信息包括第一服务器的 VM12的 IP地址和第一 CE路由器 的 IP地址。 然后, 第一 CE路由器通过路由协议报文向第三 CE路由器发送第 一站点的 VM的 IP地址路由信息。通过发送第一站点的 VM的 IP地址路由信息, 第一 CE路由器将位于第一站点中第一服务器的 VM12的 IP地址路由信息发送 给第三 CE路由器。
在本步骤中, 各个 CE路由器通过路由协议报文向其它 CE路由器发送自身 对应站点的 VM的 IP地址路由信息之后, 其它 CE路由器根据获得的站点的 VM 的 IP地址路由信息, 在自身存储各自的 IP路由表, 并更新自身存储的 MAC地 址和 IP地址的映射表。 参见表 2至表 5, 其中: 表 2为第三 CE路由器的 IP路由 表; 表 3为第二 CE路由器的 IP路由表; 表 4为第一 CE路由器的 IP路由表; 表 5 为第二 CE路由器的 MAC地址和 IP地址的映射表。
第三 CE路由器的 IP路由表
第二 CE路由器的 IP路由表
CE路由器的 IP路由表
第二 CE路由器的 MAC地址和 IP地址的映射表
步骤 303:第三服务器通过 ARP消息向第三服务器与第三 CE路由器之间的 节点发送第三服务器的 VM12的 MAC地址和 IP地址。 在本步骤中, 第三服务器与第三 CE路由器之间的节点可以包括交换机、 集线器、 路由器等等。 当第一服务器由于负荷过重或发生故障时, 需要将第 一服务器中的 VM12迁移到第三服务器。在此情况下, 可以通过网络管理员手 动触发 VM12的迁移过程, 或者由第一服务器触发 VM12的迁移过程。 VM12 的迁移过程具体包括如下步骤:首先,第三服务器启动一个 VM,该 VM的 MAC 地址和 IP地址都与第一服务器的 VM12的 MAC地址和 IP地址相同。 在本发明 实施例二中, 第三服务器启动的该 VM最终将代替第一服务器的 VM12,该 VM 也被称为 VM12。 第三服务器的 VM12的 MAC地址和 IP地址分别与第一服务器 的 VM12的 MAC地址和 IP地址相同。 然后, 第三服务器向第三服务器与第三 CE路由器之间的节点发送 ARP消息, 该 ARP消息中携带有第三服务器的 VM 12的 MAC地址和 I P地址。
步骤 304: 第三服务器与第三 CE路由器之间的节点学习第三服务器的 VM 12的 MAC地址并更新 MAC地址转发表。
在本步骤中, 在第三站点内广播上述步骤 303中第三服务器发送的 ARP消 息, 则第三站点内的所有节点, 即第三服务器与第三 CE路由器之间的所有节 点, 都将学习到第三服务器的 VM12的 MAC地址, 并根据该 MAC地址更新各 自的 MAC地址转发表。
步骤 305: 第三 CE路由器通过 ARP消息从第三服务器与第三 CE路由器之 间的节点获取第三服务器的 VM 12的 MAC地址和 I P地址。
在本步骤中, 第三服务器与第三 CE路由器之间的节点向第三 CE路由器转 发 ARP消息, 从而使得步骤 303中第三服务器发送的携带有第三服务器的 VM12的 MAC地址和 IP地址的 ARP消息被第三 CE路由器接收。
步骤 306: 第三 CE路由器更新 IP路由表并获得第三服务器的 VM12的 IP地 址对应的下一跳地址。
在本步骤中, 第三 CE路由器根据获得的第三服务器的 VM12的 IP地址和 MAC地址, 更新第三 CE路由器中存储的 IP路由表。 并且, 步骤 305中第三 CE 路由器获取的 ARP消息触发第三 CE路由器查 IP路由表, 获得第三服务器的 VM 12的 I P地址对应的下一跳地址。在本发明实施例二中,第三服务器的 VM 12 的 IP地址对应的下一跳地址为第一 CE路由器的 IP地址。
步骤 307: 第三 CE路由器通过路由协议报文向第一 CE路由器和第二 CE路 由器发送更新的第三服务器的 VM12的 IP地址路由信息。
在本步骤中, 首先, 作为第三 CE路由器将第三服务器的 VM12的 IP地址与 第三 CE路由器的 IP地址组成更新的第三服务器的 VM12的 IP地址路由信息。 并且, 第三 CE路由器根据上述更新的第三服务器的 VM12的 IP地址路由信息 更新自身存储的 IP路由表。 参见表 6, 表 6为更新后的第三 CE路由器的 IP路由 表。 然后, 以步骤 305中获取到 ARP消息的动作作为触发条件, 第三 CE路由 器发起路由协议报文, 通过路由协议报文将更新的第三服务器的 VM 12的 I P 地址路由信息发送给其它 CE路由器节点, 例如发送给第一 CE路由器和第二 CE路由器。 具体地, 上述路由协议可以采用 BGP或 IS-IS协议。 更新后的第三 CE路由器的 IP路由表
步骤 308: 第一 CE路由器更新 IP路由表。
在本步骤中, 第一 CE路由器接收到步骤 307中的路由协议报文后,根据第 三服务器的 VM12的 IP地址, 查询第一 CE路由器自身存储的 IP路由表。 由于 第三服务器的 VM12的 IP地址与第一服务器的 VM12的 IP地址相同, 经查询, 第一 CE路由器发现该表中已经存在由该 VM12的 IP地址和第一 CE路由器的 IP地址组成的第一服务器的 VM12的 IP地址路由信息。 根据第三服务器的 VM12的 IP地址路由信息查询第一 CE路由器自身存储的 IP路由表, 第一 CE路 由器获知该 VM12由本地第一站点迁移到其它站点, 则第一 CE路由器根据步 骤 307的路由协议报文中携带的更新的第三服务器的 VM12的 IP地址路由信 息更新 IP路由表,将该表中的 VM12的 IP地址与下一跳地址组成新的 IP地址路 由信息。 在本发明实施例二中, VM12的下一跳地址为第三 CE路由器的 IP地 址。 参见表 7, 表 7为更新后的第二 CE路由器的 IP路由表。 第二 CE路由器的 IP路由表
并且, 在步骤 308中, 第一 CE路由器根据该路由协议报文获知该 VM12由 本地第一站点迁移到其它站点, 则继续执行如下的步骤 309, 由第一 CE路由 器根据该路由协议报文触发 ARP消息。
步骤 309: 第一 CE路由器通过 ARP消息向第一服务器与第一 CE路由器之 间的节点发送 VM 12的 I P地址或发送 VM 12的 I P地址和 MAC地址。
在本步骤中, 具体可以采用如下具体实施方式: 第一 CE路由器触发 ARP 消息, 该 ARP消息中携带着 VM12的 IP地址。 第一 CE路由器向第一站点中广 播上述触发的 ARP消息, 用于通知第一站点中的节点释放属于第一服务器的 VM12的相关资源, 例如, 计算资源或存储资源等。 在第一站点中广播该 ARP 消息, 则第一服务器与第一 CE路由器之间的节点均会接收到该 ARP消息。 在 上述过程中, 第一 CE路由器还可以先根据 VM12的 IP地址查询第一 CE路由器 自身存储的 MAC地址和 IP地址的映射表, 得到 VM12的 MAC地址。 然后, 第 一 CE路由器触发 ARP消息, 该 ARP消息中携带着 VM12的 IP地址和 MAC地 址。 该 ARP消息还可以用于更新第一站点内各个节点的 MAC地址转发表。 在 第一站点中广播该 ARP消息,则第一服务器与第一 CE路由器之间的节点均会 接收到该 ARP消息。
在本步骤中, 在采用上述两种实施方式中的任何一种方式的情况下, 上述 方式中采用的 ARP消息可以通过对现有的 ARP消息的操作字段( Operation Code, 简称 OP Code )进行拓展来实现。 具体扩展方法为: 为 ARP消息的 OP Code赋予一个设定的值, 通过该设定的值指示释放属于第一服务器的并 且地址与 ARP消息所携带的 IP地址相同的 VM的相关资源。 其中, 相关资源可 以包括计算资源或存储资源等等。
步骤 310: 第一服务器与第一 CE路由器之间的节点学习 VM 12的 MAC地址 并更新 MAC地址转发表。
在本步骤中, 第一服务器与第一 CE路由器之间的节点接收步骤 309中的 ARP消息。 具体地, 步骤 309中的 ARP消息承载在以太网 (Ethernet, 简称 ETH )帧中传送给第一服务器与第一 CE路由器之间的节点, 该 ETH帧中包含 VM 12的 MAC地址, 第一服务器与第一 CE路由器之间的节点重新学习 VM 12 的 MAC地址, 并根据学习到的 VM12的 MAC地址更新各自的 MAC地址转发 表。
步骤 31 1:第一服务器接收第一服务器与第一 CE路由器之间的节点转发的 ARP消息, 获取 VM12的 IP地址, 或获取 VM12的 IP地址和 MAC地址。
步骤 312: 第一服务器释放第一服务器的 VM 12的相关资源。 在本步骤中,第一服务器在收到步骤 309中第一 CE路由器触发的 ARP消息 后, 释放属于第一服务器的 VM12的相关资源。 其中, 相关资源可以包括计算 资源或存储资源等等。
在步骤 307之后, 还可以执行如下的步骤 313。 其中, 步骤 308至步骤 312 需按照上述顺序执行, 步骤 313可以在步骤 308至步骤 312之前、 之后或同时 执行。
步骤 313: 第二 CE路由器更新 IP路由表。
在本步骤中, 第二 CE路由器接收到步骤 307中的路由协议报文后,根据第 三服务器的 VM12的 IP地址, 查询第二 CE路由器自身存储的 IP路由表。 由于 第三服务器的 VM12的 IP地址与第一服务器的 VM12的 IP地址相同, 经查询, 第二 CE路由器发现该表中已经存在由该 VM12的 IP地址和第一 CE路由器的 IP地址组成的第一服务器的 VM12的 IP地址路由信息。 根据上述查询结果, 由 于 VM 12的 IP地址对应的不是第二 CE路由器的本地地址, 即对应的不是第二 CE路由器的 IP地址, 第二 CE路由器获知该 VM12不是从本地第二站点迁移出 去的。 因此, 第二 CE路由器仅根据步骤 307的路由协议报文中携带的更新的 第三服务器的 VM12的 IP地址路由信息更新 IP路由表, 将该表中的 VM12的 IP 地址与第三 CE路由器的 IP地址组成新的 IP地址路由信息。 参见表 8, 表 8为更 新后的第一 CE路由器的 IP路由表。
并且, 在步骤 313中, 由于第二 CE路由器获知该 VM12不是从本地第 二站点迁移出去的, 因此, 在步骤 313之后, 第二 CE路由器并不触发携带 VM12的 IP地址或携带 VM12的 IP地址和 MAC地址的 ARP消息。
在上述本发明实施例二的具体过程中, 如果不存在第一服务器与第一控 制节点之间的节点和第三服务器与第三控制节点之间的节点, 则步骤 303和 304可以省略, 由第三服务器通过 ARP消息直接向第三 CE路由器发送第三 服务器的 VM12的 MAC地址和 IP地址即可。 CE路由器的 IP路由表
采用上述 VM迁移方法, 将 VM12从第一站点中的第一服务器迁移到第 三站点中的第三服务器。 以第二站点的第二服务器中的 VM21与该 VM12通 信为例。
在 VM12迁移之前, VM12位于第一站点中的第一服务器, VM21与 VM12 的通信过程如下。
步骤 3a: 第二 CE路由器获取来自 VM21的 IP报文。
在本步骤中, 首先, VM21向第二 CE路由器发出携带有 VM12的 IP地 址的 ARP消息, 通过该消息向第二 CE路由器请求 VM12的 MAC地址。 然 后, 第二 CE路由器作为 ARP代理, 查询第二 CE路由器自身的 MAC地址 和 IP地址的映射表, 参见表 5。 根据第二 CE路由器的 MAC地址和 IP地址 的映射表,第二 CE路由器将第二 CE路由器的 MAC地址作为 VM12的 MAC 地址回复给 VM21。 然后, VM21向第二 CE路由器发送 IP报文, 该 IP报文 的目的 IP地址为 VM12的 IP地址。 具体地, 该 IP报文被承载于 ETH报文 上发送给第二 CE路由器, 该 ETH报文的目的 MAC地址为第二 CE路由器 的 MAC地址。
步骤 3b: 第二 CE路由器将 IP报文封装入通往第一 CE路由器的 IP隧 道。
在本步骤中, 第二 CE路由器收到步骤 3a中 IP报文, 该 IP报文的目的 IP地址为 VM12的 IP地址。 第二 CE路由器查询第二 CE路由器自身的 IP 路由表, 参见表 3。 根据 VM12的 IP地址, 查询得到下一跳为第一 CE路由 器。则第二 CE路由器将该 IP报文封装入通往第一 CE路由器的 IP隧道。具 体地, 该 IP隧道的目的地址为第一 CE路由器的 IP地址, 源地址为第二 CE 路由器的 IP地址。
步骤 3c: 第一 CE路由器获取承载于 IP隧道的 IP报文。
在本步骤中, 第一 CE路由器接收来自第二 CE路由器的上述封装后的 报文, 去除 IP隧道封装, 得到 IP报文。 其中, 得到的该 IP报文的目的 IP 地址为 VM12的 IP地址。
步骤 3d: 第一 CE路由器向第一服务器中的 VM12发送 IP报文。
在本步骤中,第一 CE路由器根据得到的 IP报文的目的 IP地址为 VM12 的 IP地址, 查询第一 CE路由器自身的 IP路由表, 参见表 4。 第一 CE路由 器查询得到下一跳为本地, 则第一 CE路由器在第一站点内发送该 IP报文, 该 IP报文的目的 IP地址为 VM12的 IP地址。位于第一站点内第一服务器中 的 VM12收到该 IP报文。
上述步骤 3a至步骤 3d为 VM12迁移之前的数据传递过程, 在上述步骤 307之前执行。 在执行了上述步骤 307至步骤 309之后, VM12发生迁移。 在 VM12迁移之后, VM12位于第三站点中的第三服务器,此时 VM21与 VM12 的通信过程如下。
在 VM12迁移后,第一 CE路由器的数据传输过程包括如下步骤 3e至步 骤 3h。
步骤 3e: 第一 CE路由器获取承载于 IP隧道的 IP报文。
在本步骤中, 在第一 CE路由器收到步骤 307的路由协议报文后, 如果 该第一 CE路由器还收到承载于以第一 CE路由器的 IP地址的 IP隧道并且目 的 IP地址为 VM12的 IP地址的 IP报文, 则按照下述步骤执行。
步骤 3f: 第一 CE路由器将 IP报文封装入通往第三 CE路由器的 IP隧 道。
在本步骤中, 第一 CE路由器根据 VM12的 IP地址查询第一 CE路由器 自身的 IP路由表, 参见表 8, 得到 VM12的 IP地址对应的下一跳地址为第 三 CE路由器的 IP地址。 然后, 第一 CE路由器将目的 IP地址为 VM12的 IP地址的 IP报文封装入通往第三 CE路由器的 IP隧道,该 IP隧道的目的地 址为第三 CE路由器的 IP地址, 源地址为第一 CE路由器的 IP地址。在第二 CE路由器收到路由协议报文晚于第一 CE路由器的情况下 ,通过执行本步骤, 能够保证在 VM 12发生迁移之后, 数据传输过程不丟包, 保证数据传输的正 确性。
步骤 3g: 第三 CE路由器获取承载于 IP隧道的 IP报文。
在本步骤中, 第三 CE路由器接收来自第一 CE路由器的上述封装后的 报文, 去除 IP隧道封装, 得到 IP报文。 其中, 得到的 IP报文的目的 IP地 址为 VM12的 IP地址。
步骤 3h: 第三 CE路由器向第三服务器中的 VM12发送 IP报文。
在本步骤中,第三 CE路由器根据得到的 IP报文的目的 IP地址为 VM12 的 IP地址, 查询第三 CE路由器自身的 IP路由表, 参见表 6。 第三 CE路由 器查询得到下一跳为本地, 则第三 CE路由器在第三站点内发送该 IP报文, 该 IP报文的目的 IP地址为 VM12的 IP地址。位于第三站点内的第三服务器 中的 VM12收到该 IP报文。
在 VM12迁移后, 第二 CE路由器的数据传输过程包括如下步骤 3i至步 骤 3k。 步骤 3i至步骤 3k可以在步骤 3e至步骤 3h之前、 之后或同时执行。
步骤 3i:第二 CE路由器将 IP报文封装入通往第三 CE路由器的 IP隧道。 在本步骤中, 在第二 CE路由器收到步骤 307的路由协议报文后, 如果 第二 CE路由器收到来自自身站点的目的 IP地址为 VM12的 IP地址的 IP报 文, 则第二 CE路由器根据 VM12的 IP地址查询第二 CE路由器自身的 IP 路由表, 参见表 7。 根据 VM12的 IP地址, 查询得到 VM12的 IP地址对应 的下一跳地址为第三 CE路由器的 IP地址。 然后, 第一 CE路由器将该目的 IP地址为 VM12的 IP地址的 IP报文封装入通往第三 CE路由器的 IP隧道, 该 IP隧道的目的地址为第三 CE路由器的 IP地址,源地址为第一 CE路由器 的 IP地址。 采用本步骤, 第二 CE路由器直接将待发送给 VM 12的 IP报文 转发给第三 CE路由器。
步骤 3j: 第三 CE路由器获取承载于 IP隧道的 IP报文。
在本步骤中, 第三 CE路由器接收来自第二 CE路由器的上述封装后的 报文, 去除 IP隧道封装, 得到 IP报文。 其中, 得到的 IP报文的目的 IP地 址为 VM12的 IP地址。
步骤 3k: 第三 CE路由器向第三服务器中的 VM12发送 IP报文。
本步骤与上述步骤 3h相同, 在此不再赘述。
在本发明实施例二中, 在 VM迁移控制过程中, 站点内的交互过程采用 ARP协议,站点间的交互过程采用路由协议。 因此,各个 CE路由器与该 CE 路由器自身所在的站点内的其它节点进行交互时, 采用 ARP 协议; 作为源 CE路由器的第一 CE路由器与作为目标 CE路由器的第三 CE路由器进行交 互时, 采用路由协议; 由第一 CE路由器与第三 CE路由器完成 ARP消息与 路由协议报文之间的相互触发和转化。从而将 ARP协议的报文限制在各个站 点内部, 避免了将 ARP协议发到 DC互联网络中。 因为一个 ARP消息只能 针对一个地址, 而一个路由协议报文可以包括多个地址, 因此, 通过在 DC 互联网络中采用路由协议报文替代 ARP消息,避免了在 DC互联网络中广播 ARP消息带来的广播风暴, 从而节省了控制信令占用的带宽。
图 4为本发明实施例三的虚拟机迁移通知方法的信令流程图。 在本发明 实施例三中, 以控制节点为 PE路由器为例, 在各个 PE路由器上设置 ARP 代理功能。 在本发明实施例三中, 以 VM12从第一站点中的第一服务器迁移 到第三站点中的第三服务器的过程为例, 则第一站点为源站点, 第一服务器 为源服务器, 第一 PE路由器为源 PE路由器; 第三站点为目标站点, 第三服 务器为目标服务器, 第三 PE路由器为目标 PE路由器。 以各个 PE路由器之 间通过多协议标记交换 ( Multiprotocol Label Switching, 简称 MPLS )技术 构成 VPN为例。 如图 4所示, 该方法包括如下过程。
步骤 401 : 第一 PE路由器通过 ARP消息从第一服务器获取第一服务器 的 VM12的 MAC地址和 IP地址的映射关系。
在本步骤中, 各个 PE路由器通过 ARP消息从自身对应的服务器获取自 身对应的站点内的 VM的 MAC地址和 IP地址的映射关系。 具体地, 第一服 务器向第一 CE路由器发送 ARP消息,该消息中包括第一站点内 VM的 MAC 地址和 IP地址的映射关系; 第一 CE路由器向第一 PE路由器转发该 ARP 消息; 第一 PE路由器从第一 CE路由器接收上述 ARP消息, 根据该 ARP 消息获取第一站点内 VM的 MAC地址和 IP地址的映射关系, 第二 PE路由 器通过 ARP消息从第二服务器获取第二站点内 VM的 MAC地址和 IP地址 的映射关系, 第三 PE路由器通过 ARP 消息从第三服务器获取第三站点内 VM的 MAC地址和 IP地址的映射关系。 在本发明实施例三中, 仅以 VM12 从第一站点内的第一服务器迁移到第三站点内的第三服务器的过程为例, 因 此, 在本步骤中, 第一 PE路由器通过 ARP消息从第一服务器获取第一站点 内 VM的 MAC地址和 IP地址的映射关系。 由于迁移前 VM12位于第一站点 内, 所以第一 PE路由器获取的第一站点内 VM的 MAC地址和 IP地址的映 射关系中, 包括 VM12的 MAC地址和 IP地址的映射关系。
在本步骤中, 各个 PE路由器在获取到各自对应的站点内的 VM的 MAC 地址和 IP地址的映射关系之后, 还根据对应的站点内的 VM的 MAC地址和 IP地址的映射关系, 在自身存储 MAC地址与 IP地址的映射表。 仍以第一 PE路由器为例,表 9为第一 PE路由器的 MAC地址和 IP地址的映射表。第 一 PE路由器通过 ARP消息从第一服务器获取第一站点内 VM的 MAC地址 和 IP地址的映射关系之后, 将上述映射关系存储到表 9中。 其中, 表 9中包 括第一服务器的 VM12的 MAC地址和 IP地址的映射关系。 PE路由器的 MAC地址和 IP地址的映射表
步骤 402:第一 PE路由器通过路由协议报文向第三 PE路由器发送第一 服务器的 VM12的 IP地址路由信息。
在本步骤中,各个 PE路由器通过路由协议报文向其它 PE路由器发送自 身对应站点的 VM的 IP地址路由信息。 具体地, 第一 PE路由器通过路由协 议报文向第二 PE路由器和第三 PE路由器发送第一站点的 VM的 IP地址路 由信息,第二 PE路由器通过路由协议报文向第一 PE路由器和第三 PE路由 器发送第二站点的 VM的 IP地址路由信息, 第三 PE路由器通过路由协议报 文向第一 PE路由器和第二 PE路由器发送第三站点的 VM的 IP地址路由信 息。 在本发明实施例三中, 仅以 VM12从第一站点中的第一服务器迁移到第 三站点中的第三服务器的过程为例, 因此, 在本步骤中, 仅以第一 PE路由 器通过路由协议报文向第三 PE路由器发送第一站点的 VM的 IP地址路由信 息为例。 其它 PE路由器发送各自对应站点的 VM的 IP地址路由信息的具体 过程可以参照第一 PE路由器发送第一站点的 VM的 IP地址路由信息的过程 实现, 在此不再赘述。
具体地, 第一 PE路由器通过路由协议报文向第三 PE路由器发送第一站点 的 VM的 IP地址路由信息的具体过程包括: 首先, 第一 PE路由器将第一站点 内 VM的 IP地址与第一 PE路由器的 IP地址组成第一站点的 IP地址路由信息。在 本发明实施例三中, 迁移前的 VM12位于第一站点中的第一服务器中,属于第 一站点内的 VM, 因此, 第一 PE路由器组成的第一站点的 VM的 IP地址路由信 息中, 包括第一服务器的 VM12的 IP地址路由信息。 具体地, 第一服务器的 VM12的 IP地址路由信息包括第一服务器的 VM12的 IP地址和第一 PE路由器 的 IP地址。 然后, 第一 PE路由器通过路由协议报文向第三 PE路由器发送第一 站点的 VM的 IP地址路由信息。 通过发送第一站点的 VM的 IP地址路由信息, 第一 PE路由器将位于第一站点中第一服务器的 VM12的 IP地址路由信息发送 给第三 PE路由器。
在本步骤中, 各个 PE路由器通过路由协议报文向其它 PE路由器发送自身 对应站点的 VM的 IP地址路由信息之后, 其它 PE路由器根据获得的站点的 VM 的 IP地址路由信息, 在自身存储各自的 IP路由表, 并更新自身存储的 MAC地 址和 IP地址的映射表。 参见表 10至表 13, 其中: 表 10为第三 PE路由器的 IP 路由表; 表 11为第二 PE路由器的 IP路由表; 表 12为第一 PE路由器的 IP路由 表;表 13为第二 PE路由器的 MAC地址和 IP地址的映射表。在上述各表中, "X" 表示 16进制数; "-" 表示缺省。
具体地, 在本发明实施例中, 上述路由协议可以采用 BGP协议。 PE路由 器之间的网络为 PSN。 如果分组交换网 ( Packet Switching Network, PSN ) 为 MPLS网络, 优选地, 上述路由协议可以采用多协议扩展( Multiprotocol , 简称 MP ) BGP协议, 以便携带伪线(Pseudowire, 简称 PW )标签。 第三 PE路由器的 IP路由表
第二 PE路由器的 IP路由表
表 13 第二 PE路由器的 MAC地址和 IP地址的映射表
步骤 403:第三服务器通过 ARP消息向第三服务器与第三 PE路由器之间的 节点发送第三服务器的 VM12的 MAC地址和 IP地址。 在本步骤中, 当第一服务器由于负荷过重或发生故障时, 需要将第一服务 器中的 VM12迁移到第三服务器。 首先, 第三服务器启动一个 VM, 该 VM的 MAC地址和 IP地址都与第一服务器的 VM12的 MAC地址和 IP地址相同。 在本 发明实施例三中, 第三服务器启动的该 VM最终将代替第一服务器的 VM 12 , 该 VM也被称为 VM12。 第三服务器的 VM12的 MAC地址和 IP地址分别与第一 服务器的 VM12的 MAC地址和 IP地址相同。 然后, 第三服务器向第三服务器 与第三 PE路由器之间的节点发送 ARP消息,该 ARP消息中携带有第三服务器 的 VM 12的 MAC地址和 I P地址。
步骤 404: 第三服务器与第三 PE路由器之间的节点学习第三服务器的 VM 12的 MAC地址并更新 MAC地址转发表。
在本步骤中, 在第三站点内广播上述步骤 403中第三服务器发送的 ARP消 息, 则第三站点内的所有节点, 即第三服务器与第三 PE路由器之间的所有节 点, 都将学习到第三服务器的 VM12的 MAC地址, 并根据该 MAC地址更新各 自的 MAC地址转发表。
步骤 405: 第三 PE路由器通过 ARP消息从第三服务器与第三 PE路由器之 间的节点获取第三服务器的 VM 12的 MAC地址和 I P地址。
在本步骤中, 步骤 403中第三服务器发送的携带有第三服务器的 VM12的 MAC地址和 IP地址的 ARP消息被第三 PE路由器接收。
步骤 406: 第三 PE路由器更新 IP路由表并获得第三服务器的 VM12的 IP地 址对应的下一跳地址。
在本步骤中, 第三 PE路由器根据获得的第三服务器的 VM12的 IP地址和 MAC地址, 更新第三 PE路由器中存储的 IP路由表。 并且, 步骤 405中第三 PE 路由器获取的 ARP消息触发第三 PE路由器查 IP路由表, 获得第三服务器的 VM12的 IP地址对应的下一跳地址。在本发明实施例三中,第三服务器的 VM12 的 IP地址对应的下一跳地址为第一 PE路由器的 IP地址。 步骤 407: 第三 PE路由器通过路由协议报文向第一 PE路由器和第二 PE路 由器发送更新的第三服务器的 VM12的 IP地址路由信息。
在本步骤中, 首先, 第三 PE路由器将第三服务器的 VM12的 IP地址与第三 PE路由器的 IP地址, 组成更新的第三服务器的 VM12的 IP地址路由信息。 并 且, 第三 PE路由器根据上述更新的第三服务器的 VM12的 IP地址路由信息更 新自身存储的 IP路由表。 参见表 14, 表 14为更新后的第三 PE路由器的 IP路由 表。 然后, 以步骤 405中获取到 ARP消息的动作作为触发条件, 第三 PE路由 器发起路由协议报文, 通过路由协议报文将更新的第三服务器的 VM 12的 I P 地址路由信息发送给其它 PE路由器节点, 例如发送给第一 PE路由器和第二 PE路由器。 具体地, 上述路由协议可以采用 BGP协议。 在路由协议报文中, 还可以携带一个设定的 PW标签, 该设定的 PW标签用于指示该路由协议报文 由第三 PE路由器以外的其它 PE路由器发送到第三 PE路由器。 例如, 该设定 的 PW标签可以为: x54321。 更新后的第三 PE路由器的 IP路由表
步骤 408: 第一 PE路由器更新 IP路由表。
在本步骤中, 第一 PE路由器接收到步骤 407中的路由协议报文后, 根据第 三服务器的 VM12的 IP地址, 查询第一 PE路由器自身存储的 IP路由表。 由于 第三服务器的 VM12的 IP地址与第一服务器的 VM12的 IP地址相同, 经查询, 第一 PE路由器发现该表中已经存在由该 VM12的 IP地址和第一 PE路由器的 IP 地址组成的第一服务器的 VM12的 IP地址路由信息。 根据第三服务器的 VM12 的 IP地址路由信息查询第一 PE路由器自身存储的 IP路由表,第一 PE路由器获 知该 VM12由本地第一站点迁移到其它站点, 则第一 PE路由器根据步骤 407 的路由协议报文中携带的更新的第三服务器的 VM12的 IP地址路由信息更新 IP路由表, 将该表中的 VM12的 IP地址与第三 PE路由器的 IP地址组成新的 IP 地址路由信息。参见表 15,表 15为更新后的第二 PE路由器的 IP路由表。其中, 由步骤 407中的路由协议报文触发第一 PE路由器对 VM12的 IP地址与步骤 407中设定的 PW标签进行绑定, 参见表 15, VM12的 IP地址绑定的 PW标签为 x54321。
第二 PE路由器的 IP路由表
并且, 在步骤 408中, 第一 PE路由器根据该路由协议报文获知该 VM12由 本地第一站点迁移到其它站点, 则继续执行如下的步骤 409, 由第一 PE路由 器根据该路由协议报文触发 ARP消息。
步骤 409: 第一 PE路由器通过 ARP消息向第一服务器与第一 PE路由器之 间的节点发送 VM 12的 I P地址或发送 VM 12的 I P地址和 MAC地址。
在本步骤中, 具体可以采用如下具体实施方式: 第一 PE路由器触发 ARP 消息, 该 ARP消息中携带着 VM12的 IP地址。 第一 PE路由器向第一站点中广 播上述触发的 ARP消息, 用于通知第一站点中的节点释放属于第一服务器的 VM12的相关资源, 例如, 计算资源或存储资源等。 在第一站点中广播该 ARP 消息, 则第一服务器与第一 PE路由器之间的节点均会接收到该 ARP消息。 在 上述过程中, 第一 PE路由器还可以先根据 VM12的 IP地址查询第一 PE路由器 自身存储的 MAC地址和 IP地址的映射表, 得到 VM12的 MAC地址。 然后, 第 一 PE路由器触发 ARP消息, 该 ARP消息中携带着 VM 12的 IP地址和 MAC地 址。 还 ARP消息可以用于更新第一站点内各个节点的 MAC地址转发表。 在第 一站点中广播该 ARP消息, 则第一服务器与第一 PE路由器之间的节点均会接 收到该 ARP消息。
在本步骤中, 在采用上述两种实施方式中的任何一种方式的情况下, 上述 方式中采用的 ARP消息可以通过对现有的 ARP消息的 OP进行拓展来实现。具 体扩展方法为: 为 ARP消息的 OP赋予一个设定的值, 通过该设定的值指示释 放属于第一服务器的并且地址与 ARP消息所携带的 IP地址相同的 VM的相关 资源。 其中, 相关资源可以包括计算资源或存储资源等等。
步骤 410: 第一服务器与第一 PE路由器之间的节点学习 VM 12的 MAC地址 并更新 MAC地址转发表。
在本步骤中, 第一站点内的所有节点重新学习 VM12的 MAC地址, 并根据 学习到的 VM12的 MAC地址更新各自的 MAC地址转发表。
步骤 411:第一服务器接收第一服务器与第一 PE路由器之间的节点转发的 ARP消息, 获取 VM12的 IP地址, 或获取 VM12的 IP地址和 MAC地址。
步骤 412: 第一服务器释放第一服务器的 VM12的相关资源。
在本步骤中,第一服务器在收到步骤 409中第一 PE路由器触发的 ARP消息 后, 释放属于第一服务器的 VM12的相关资源。 其中, 相关资源可以包括计算 资源或存储资源等等。
在步骤 407之后, 还可以执行如下的步骤 413。 其中, 步骤 408至步骤 412 需按照上述顺序执行, 步骤 413可以在步骤 408至步骤 412之前、 之后或同时 执行。 步骤 413: 第二 PE路由器更新 IP路由表。
在本步骤中, 第二 PE路由器接收到步骤 407中的路由协议报文后, 根据第 三服务器的 VM12的 IP地址, 查询第二 PE路由器自身存储的 IP路由表。 由于 第三服务器的 VM12的 IP地址与第一服务器的 VM12的 IP地址相同, 经查询, 第二 PE路由器发现该表中已经存在由该 VM12的 IP地址和第一 PE路由器的 IP 地址组成的第一服务器的 VM12的 IP地址路由信息。根据上述查询结果, 由于 VM 12的 I P地址对应的不是第二 PE路由器的本地地址, 即对应的不是第二 PE 路由器的 IP地址, 第二 PE路由器获知该 VM12不是从本地第二站点迁移出去 的。 因此, 第二 PE路由器仅根据步骤 407的路由协议报文中携带的更新的第 三服务器的 VM12的 IP地址路由信息更新 IP路由表, 将该表中的 VM12的 IP地 址与第三 PE路由器的 IP地址组成新的 IP地址路由信息。 参见表 16, 表 16为更 新后的第一 PE路由器的 IP路由表。 其中, 由步骤 407中的路由协议报文触发 第二 PE路由器对 VM 12的 I P地址与步骤 407中设定的 PW标签进行绑定, 参见 表 16 , VM 12的 I P地址绑定的 P W标签为 X54321。
并且, 在步骤 413中, 由于第二 PE路由器获知该 VM12不是从本地第二站 点迁移出去的, 因此, 在步骤 413之后, 第二 PE路由器并不触发携带 VM12 的 IP地址或携带 VM12的 IP地址和 MAC地址的 ARP消息。
PE路由器的 IP路由表
在上述本发明实施例三的具体过程中, 如果不存在第一服务器与第一控 制节点之间的节点和第三服务器与第三控制节点之间的节点, 则步骤 403和 404可以省略, 由第三服务器通过 ARP消息直接向第三 PE路由器发送第三 服务器的 VM12的 MAC地址和 IP地址即可。
采用上述 VM迁移方法, 将 VM12从第一站点中的第一服务器迁移到第 三站点中的第三服务器。 以第二站点的第二服务器中的 VM21与该 VM12通 信为例。
在 VM12迁移之前, VM12位于第一站点中的第一服务器, VM21与 VM12 的通信过程如下。
步骤 4a: 第二 PE路由器获取来自 VM21的 IP报文。
在本步骤中, 首先, VM21向第二 PE路由器发出携带有 VM12的 IP地 址的 ARP消息, 通过该消息向第二 PE路由器请求 VM12的 MAC地址。 然 后, 第二 PE路由器作为 ARP代理, 查询第二 PE路由器自身的 MAC地址 和 IP地址的映射表, 参见表 13。 根据第二 PE路由器的 MAC地址和 IP地 址的映射表, 第二 PE路由器将第二 PE路由器的 MAC地址作为 VM12的 MAC地址回复给 VM21。 然后, VM21向第二 PE路由器发送 IP报文, 该 IP 报文的目的 IP地址为 VM12的 IP地址。 具体地, 该 IP报文被承载于 ETH 报文上发送给第二 PE路由器, 该 ETH报文的目的 MAC地址为第二 PE路 由器的 MAC地址。
步骤 4b: 第二 PE路由器将 IP报文封装入通往第一 PE路由器的 MPLS 隧道。
在本步骤中, 第二 PE路由器收到步骤 4a中 IP报文, 该 IP报文的目的 IP地址为 VM12的 IP地址。 第二 PE路由器查询第二 PE路由器自身的 IP 路由表, 参见表 11。 根据 VM12的 IP地址, 查询得到下一跳为第一 PE路由 器。 则第二 PE路由器将该 IP报文添加 PW头后, 封装入通往第一 PE路由 器的 MPLS隧道。 具体地, 该 MPLS隧道的目的地址为第一 PE路由器的 IP 地址, 源地址为第二 PE路由器的 IP地址。
步骤 4c: 第一 PE路由器获取承载于 MPLS隧道的 IP报文。
在本步骤中,第一 PE路由器接收来自第二 PE路由器的上述封装后的报 文, 去除 MPLS隧道封装, 得到 IP报文。 其中, 得到的该 IP报文的目的 IP 地址为 VM12的 IP地址。
步骤 4d: 第一 PE路由器向第一服务器中的 VM12发送 IP报文。
在本步骤中,第一 PE路由器根据得到的 IP报文的目的 IP地址为 VM12 的 IP地址, 查询第一 PE路由器自身的 IP路由表, 参见表 12。 第一 PE路 由器查询得到下一跳为本地,则第一 PE路由器在第一站点内发送该 IP报文, 该 IP报文的目的 IP地址为 VM12的 IP地址。位于第一站点内第一服务器中 的 VM12收到该 IP报文。
上述步骤 4a至步骤 4d为 VM12迁移之前的数据传递过程, 在上述步骤
407之前执行。 在执行了上述步骤 407至步骤 409之后, VM12发生迁移。 在 VM12迁移之后, VM12位于第三站点中的第三服务器,此时 VM21与 VM12 的通信过程如下。
在 VM12迁移后,第一 PE路由器的数据传输过程包括如下步骤 4e至步 骤 4h。
步骤 4e: 第一 PE路由器获取承载于 MPLS隧道的 IP报文。
在本步骤中, 在第一 PE路由器收到步骤 407的路由协议报文后, 如果 该第一 PE路由器还收到承载于以第一 PE路由器的 IP地址的 MPLS隧道并 且目的 IP地址为 VM12的 IP地址的 IP报文, 则按照下述步骤执行。
步骤 4f: 第一 PE路由器将 IP报文封装入通往第三 PE路由器的 MPLS 隧道。
在本步骤中, 第一 PE路由器根据 VM12的 IP地址查询第一 PE路由器 自身的 IP路由表, 参见表 16, 查询得到 VM12的 IP地址对应的下一跳地址 为第三 PE路由器的 IP地址, 并且查询得到设定的 PW标签, 即 x54321。 然后, 第一 PE路由器将目的 IP地址为 VM12的 IP地址的 IP报文添加与上 述设定的 PW标签相同的 PW头后, 封装入通往第三 PE路由器的 MPLS隧 道, 该 MPLS隧道的目的地址为第三 PE路由器的 IP地址, 源地址为第一 PE路由器的 IP地址。在第二 PE路由器收到路由协议报文晚于第一 PE路由 器的情况下, 通过执行本步骤, 能够保证在 VM 12发生迁移之后, 数据传输 过程不丟包, 保证数据传输的正确性。
步骤 4g: 第三 PE路由器获取承载于 MPLS隧道的 IP报文。
在本步骤中,第三 PE路由器接收来自第一 PE路由器的上述封装后的报 文, 去除 MPLS隧道封装, 得到 IP报文。 其中, 得到的 IP报文的目的 IP地 址为 VM12的 IP地址。
步骤 4h: 第三 PE路由器向第三服务器中的 VM12发送 IP报文。
在本步骤中,第三 PE路由器根据得到的 IP报文的目的 IP地址为 VM12 的 IP地址, 查询第三 PE路由器自身的 IP路由表, 参见表 14。 第三 PE路 由器查询得到下一跳为本地,则第三 PE路由器在第三站点内发送该 IP报文, 该 IP报文的目的 IP地址为 VM12的 IP地址。位于第三站点内的第三服务器 中的 VM12收到该 IP报文。
在 VM12迁移后, 第二 PE路由器的数据传输过程包括如下步骤 4i至步 骤 4k。 步骤 4i至步骤 4k可以在步骤 4e至步骤 4h之前、 之后或同时执行。
步骤 4i: 第二 PE路由器将 IP报文封装入通往第三 PE路由器的 MPLS 隧道。
在本步骤中, 在第二 PE路由器收到步骤 407的路由协议报文后, 如果 第二 PE路由器收到来自自身站点的目的 IP地址为 VM12的 IP地址的 IP报 文, 则第二 PE路由器根据 VM12的 IP地址查询第二 PE路由器自身的 IP 路由表, 参见表 15。 根据 VM12的 IP地址, 查询得到 VM12的 IP地址对应 的下一跳地址为第三 PE路由器的 IP地址, 并且查询得到设定的 PW标签, 即 x54321。。 然后, 第一 PE路由器将该目的 IP地址为 VM12的 IP地址的 IP报文添加与上述设定的 PW标签相同的 PW头后, 封装入通往第三 PE路 由器的 MPLS隧道, 该 MPLS隧道的目的地址为第三 PE路由器的 IP地址, 源地址为第一 PE路由器的 IP地址。 采用本步骤, 第二 PE路由器直接将待 发送给 VM12的 IP报文转发给第三 PE路由器。
步骤 4j: 第三 PE路由器获取承载于 MPLS隧道的 IP报文。
在本步骤中,第三 PE路由器接收来自第二 PE路由器的上述封装后的报 文, 去除 MPLS隧道封装, 得到 IP报文。 其中, 得到的 IP报文的目的 IP地 址为 VM12的 IP地址。
步骤 4k: 第三 PE路由器向第三服务器中的 VM12发送 IP报文。
本步骤与上述步骤 4h相同, 在此不再赘述。
在本发明实施例的上述技术方案中,以基于 MPLS的 DC互联网络为例, 其中, 各个 PE路由器节点之间将以太网帧承载到 DC互联网络的 MPLS隧 道上进行传输, 参见步骤 407。 一种更加优化的技术方案是, 各个 PE路由 器节点之间将 IP报文直接承载在 DC互联网络的 IP隧道之上, 该优化的技 术方案能够进一步降低 MAC表项数量。
在本发明实施例三中, 在 VM迁移控制过程中, 在 PE路由器设置 ARP 代理功能, 因此减少了站点出口节点和站点内部的交换机的 MAC表项数量。 并且, 站点内的交互过程采用 ARP协议, 站点间的交互过程采用路由协议。 因此,各个 PE路由器与该 PE路由器自身所在的站点内的其它节点进行交互 时, 采用 ARP协议; 作为源 PE路由器的第一 PE路由器与作为目标 PE路 由器的第三 PE路由器进行交互时,采用路由协议; 由第一 PE路由器与第三 PE 路由器完成 ARP 消息与路由协议报文之间的相互触发和转化。 从而将 ARP协议的报文限制在各个站点内部, 避免了将 ARP协议发到 DC互联网 络中。 因为一个 ARP消息只能针对一个地址, 而一个路由协议报文可以包括 多个地址, 因此, 通过在 DC互联网络中采用路由协议报文替代 ARP消息, 避免了在 DC互联网络中广播 ARP消息带来的广播风暴,从而节省了控制信 令占用的带宽。
在上述本发明实施例二和本发明实施例三的技术方案的基础上,具体地, 上述两个实施例中的 PE路由器可以设置在服务器上, CE路由器可以设置在 该服务器的 VM上, 即, 采用服务器作为 PE路由器, 采用服务器上的 VM 作为 CE路由器。 采用上述设置, 服务器作为 PE路由器将直接支持路由协 议(如 BGP )。 虚拟机迁移的具体过程与上述本发明实施例二和本发明实施 例三中的过程相同, 只是本发明实施例二和本发明实施例三中的 PE路由器 进行的操作由服务器完成, CE路由器进行的操作由服务器上的 VM完成,具 体地, 由于 CE路由器设置在服务器的 VM上, 因此不存在服务器与 CE路 由器之间的节点, 上述本发明实施例二或实施例三的具体过程中不包括步骤 303、 步骤 304、 步骤 403和步骤 404, 由第三服务器通过 ARP消息直接向 第三 CE路由器或第三 PE路由器发送第三服务器的 VM12的 MAC地址和 IP 地址即可。 采用此种设置, PE路由器不属于 PE路由器之间的运营商网络, 因此站点对 PE路由器之间的运营商网络彻底透明,即 PE路由器之间的运营 商网络边缘不必获知站点内部的 MAC地址路由。
图 5为本发明实施例四的虚拟机迁移系统的结构示意图。 如图 5所示, 该系统中至少包括: 目标服务器 51、 目标控制节点 52、 源控制节点 53和源 服务器 54。
其中, 目标服务器 51用于启动待迁移 VM并通过第一 ARP消息向目标 控制节点 52发送待迁移 VM的 MAC地址和 IP地址。
目标控制节点 52用于根据第一 ARP消息更新 IP路由表,通过第一路由 协议报文向源控制节点 53发送更新后待迁移 VM的 IP地址路由信息, 更新 后待迁移 VM的 IP地址路由信息包括待迁移 VM的 IP地址和目标控制节点 52的 IP地址。
源控制节点 53用于根据第一路由协议报文中的所述待迁移 VM的 IP地 址和目标控制节点 52的 IP地址更新 IP路由表, 通过第二 ARP消息向源服 务器 54发送待迁移 VM的 IP地址或 IP地址和 MAC地址;
源服务器 54用于根据第二 ARP消息释放待迁移 VM的相关资源。
在上述技术方案的基础上, 源控制节点 53还用于通过第三 ARP消息从 源服务器 54获取待迁移 VM的 MAC地址和 IP地址的映射关系, 通过第二 路由协议报文向目标控制节点 52发送待迁移 VM的 IP地址路由信息, IP地 址路由信息包括待迁移 VM的 IP地址和源控制节点 53的 IP地址。
在上述技术方案的基础上, 该系统还包括: 目标服务器与目标控制节点 之间的节点 55、 源服务器与源控制节点之间的节点 56。 其中, 目标服务器 51具体用于通过第一 ARP消息向目标服务器与目标控制节点之间的节点 55 发送待迁移 VM的 MAC地址和 IP地址。 目标服务器与目标控制节点之间的 节点 55具体用于学习待迁移 VM的 MAC地址和 IP地址并更新 MAC地址转 发表, 向目标控制节点 52转发第一 ARP消息。 源控制节点 53具体用于通 过第二 ARP消息向源服务器与源控制节点之间的节点 56发送待迁移 VM的 IP地址或 IP地址和 MAC地址。 源服务器与源控制节点之间的节点 56具体 用于学习待迁移 VM的 MAC地址并更新 MAC地址转发表, 向源服务器 54 转发第二 ARP消息。
在上述技术方案的基础上, 该系统还包括: 其它控制节点 57。 其中, 目 标控制节点 52还用于在根据第一 ARP消息更新 IP路由表之后,通过第一路 由协议报文向其它控制节点 57发送更新后待迁移 VM的 IP地址路由信息。 其它控制节点 57用于根据第一路由协议报文中的待迁移 VM的 IP地址和目 标控制节点 52的 IP地址更新 IP路由表。
在上述技术方案的基础上, 源控制节点 53或其它控制节点 57还用于在 接收来自目标控制节点 52的第一路由协议报文之后, 当获取到报文目的 IP 地址为待迁移 VM的 IP地址的 IP报文时,向目标控制节点 52发送 IP报文。 目标控制节点 52还用于向目标服务器 51发送 IP报文。
在上述技术方案的基础上, 上述目标控制节点 52、 源控制节点 53、 其 它控制节点 57均为 CE路由器。 源控制节点 53或其它控制节点 57具体用 于将 IP报文封装入通往目标 CE路由器的 IP隧道发送给目标 CE路由器。
或者, 在上述技术方案的基础上, 目标控制节点 52、 源控制节点 53、 其它控制节点 57均为 PE路由器。 第一路由协议报文中还包括: PW标签。 源控制节点 53还用于绑定待迁移 VM的 IP地址和 PW标签。源控制节点 53 或其它控制节点 57具体用于为 IP报文添加与 PW标签相同的 PW头后, 封 装入通往目标 PE路由器的 MPLS隧道发送给目标 PE路由器。
在本发明实施例四中, 在 VM迁移系统中, 在各个站点内的交互过程采 用 ARP协议, 各站点之间的交互过程采用路由协议, 由目标控制节点 52和 源控制节点 53对完成 ARP消息与路由协议报文之间的相互触发和转化。 从 而将 ARP协议的报文限制在各个站点内部, 避免了将 ARP协议发到各个站 点之间的 DC互联网络中。通过在 DC互联网络中采用路由协议报文替代 ARP 消息, 避免了在 DC互联网络中广播 ARP消息带来的广播风暴, 从而节省了 控制信令占用的带宽。
图 6为本发明实施例五的目标控制节点 52的结构示意图。 如图 6所示, 该目标控制节点 52中至少包括: ARP模块 521、 处理模块 522、 路由协议 模块 523。
其中, ARP模块 521用于通过第一 ARP消息从目标服务器 51获取待迁 移 VM的 MAC地址和 IP地址。 处理模块 522用于根据第一 ARP消息更新 IP路由表。 路由协议模块 523用于通过第一路由协议报文向源控制节点 53 发送更新后待迁移 VM的 IP地址路由信息, 更新后待迁移 VM的 IP地址路 由信息包括待迁移 VM的 IP地址和目标控制节点 52的 IP地址。
在上述技术方案的基础上, ARP模块 521具体用于从目标服务器 51与 目标控制节点 52之间的节点获取转发自目标服务器 51的第一 ARP消息。
在上述技术方案的基础上, 路由协议模块 523还用于通过第一路由协议 报文向其它控制节点 57发送更新后待迁移 VM的 IP地址路由信息, 更新后 待迁移 VM的 IP地址路由信息包括待迁移 VM的 IP地址和目标控制节点 52 的 IP地址, 以使其它控制节点 57根据第一路由协议报文中的待迁移 VM的 IP地址和目标控制节点 52的 IP地址更新 IP路由表。
在上述技术方案的基础上, 目标控制节点 52、 源控制节点 53和其它控 制节点 57均为 CE路由器。
或者, 在上述技术方案的基础上, 目标控制节点 52、 源控制节点 53和 其它控制节点 57均为 PE路由器。 第一路由协议报文中还包括: PW标签。
在本发明实施例五中, 目标控制节点 52对 ARP消息与路由协议报文进 行相互触发和转化, 以在目标控制节点 52 对应的在站点内的交互过程采用 ARP协议, 在各个站点之间的交互过程采用路由协议, 从而将 ARP协议的 报文限制在各个站点内部,避免了将 ARP协议发到各个站点之间的 DC互联 网络中。 通过在 DC互联网络中采用路由协议报文替代 ARP消息, 避免了在 DC互联网络中广播 ARP消息带来的广播风暴, 从而节省了控制信令占用的 带宽。
图 7为本发明实施例六的源控制节点 53的结构示意图。 如图 7所示, 该源控制节点 53中至少包括: 路由协议模块 531、 处理模块 532、 ARP模 块 533。
其中,路由协议模块 531用于通过第一路由协议报文从目标控制节点 52 获取更新后待迁移 VM的 IP地址路由信息, 更新后待迁移 VM的 IP地址路 由信息包括待迁移 VM的 IP地址和目标控制节点 52的 IP地址。
处理模块 532用于根据第一路由协议报文中的待迁移 VM的 IP地址和目 标控制节点 52的 IP地址更新 IP路由表。
ARP模块 533用于通过第二 ARP消息向源服务器 54发送待迁移 VM的 IP地址或 IP地址和 MAC地址, 以使源服务器 54释放待迁移 VM的相关资 源。
在上述技术方案的基础上, ARP模块 533具体用于通过第二 ARP消息 向源服务器 54与源控制节点 53之间的节点发送待迁移 VM的 IP地址或 IP 地址和 MAC地址, 以使源服务器 54与源控制节点 53之间的节点向源服务 器 54转发第二 ARP消息。
在上述技术方案的基础上, ARP模块 533具体用于向源站点中广播第二 ARP消息, 第二 ARP消息中包括待迁移 VM的 IP地址。 或者, ARP模块 533具体用于根据待迁移 VM的 IP地址查询存储的 MAC地址和 IP地址的映 射表, 获取待迁移 VM的 MAC地址, 向源站点中广播第二 ARP消息, 第二 ARP消息中包括待迁移 VM的 IP地址和 MAC地址。
在上述技术方案的基础上, 该节点中还包括: IP报文模块。 IP报文模块 用于在通过第一路由协议报文从目标控制节点 52获取更新后待迁移 VM的 IP 地址路由信息之后, 当获取到报文目的 IP地址为上述待迁移 VM的 IP地址 的 IP报文时, 向目标控制节点 52发送 IP报文, 以使目标控制节点 52向目 标服务器 51发送 IP报文。
在上述技术方案的基础上, 源控制节点 53和目标控制节点 52均为 CE 路由器。 IP报文模块具体用于将 IP报文封装入通往目标 CE路由器的 IP隧 道发送给目标 CE路由器。
或者, 在上述技术方案的基础上, 源控制节点 53和目标控制节点 52均 为 PE路由器。 第一路由协议报文中还包括: PW标签。 处理模块 532还用 于绑定待迁移 VM的 IP地址和 PW标签。 IP报文模块具体用于为 IP报文添 加与 PW标签相同的 PW头后, 封装入通往目标 PE路由器的 MPLS隧道发 送给目标 PE路由器。
在本发明实施例六中, 源控制节点 53对 ARP消息与路由协议报文进行 相互触发和转化, 以在源控制节点 53对应的站点内的交互过程采用 ARP协 议, 在各个站点之间的交互过程采用路由协议,从而将 ARP协议的报文限制 在各个站点内部, 避免了将 ARP协议发到各个站点之间的 DC互联网络中。 通过在 DC互联网络中采用路由协议报文替代 ARP消息,避免了在 DC互联 网络中广播 ARP消息带来的广播风暴, 从而节省了控制信令占用的带宽。 需要说明的是: 对于前述的各方法实施例, 为了简单描述, 故将其都表 述为一系列的动作组合, 但是本领域技术人员应该知悉, 本发明并不受所描 述的动作顺序的限制, 因为依据本发明, 某些步骤可以采用其他顺序或者同 时进行。 其次, 本领域技术人员也应该知悉, 说明书中所描述的实施例均属 于优选实施例, 所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中, 对各个实施例的描述都各有侧重, 某个实施例中没有 详述的部分, 可以参见其他实施例的相关描述。
本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读 取存储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述 的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存储程序代码的介 质。
最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对其 限制; 尽管参照前述实施例对本发明进行了详细的说明, 本领域的普通技术 人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改, 或 者对其中部分技术特征进行等同替换; 而这些修改或者替换, 并不使相应技 术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

  1. 权 利 要求
    1、 一种虚拟机 VM迁移方法, 其特征在于, 包括:
    目标服务器启动待迁移 VM并通过第一地址解析协议 ARP消息向目标控 制节点发送所述待迁移 VM的媒体访问控制 MAC地址和网际协议 IP地址; 所述目标控制节点根据所述第一 ARP消息更新 IP路由表, 通过第一路 由协议报文向源控制节点发送更新后待迁移 VM的 IP地址路由信息,所述更 新后待迁移 VM的 IP地址路由信息包括所述待迁移 VM的 IP地址和所述目 标控制节点的 IP地址;
    所述源控制节点根据所述第一路由协议报文中的所述待迁移 VM的 IP地 址和所述目标控制节点的 IP地址更新 IP路由表,通过第二 ARP消息向源服 务器发送待迁移 VM的 IP地址或 IP地址和 MAC地址。
  2. 2、 根据权利要求 1所述的方法, 其特征在于, 所述通过第二 ARP消息 向源服务器发送待迁移 VM的 IP地址或 IP地址和 MAC地址之后还包括: 所述源服务器根据所述第二 ARP消息释放所述待迁移 VM的相关资源。 3、根据权利要求 1或 2所述的方法, 其特征在于, 所述目标服务器启动 待迁移 VM并通过第一 ARP消息向目标控制节点发送所述待迁移 VM的 MAC 地址和 IP地址之前还包括:
    所述源控制节点通过第三 ARP消息从源服务器获取所述待迁移 VM 的 MAC地址和 IP地址的映射关系;
    源控制节点通过第二路由协议报文向目标控制节点发送所述待迁移 VM 的 IP地址路由信息, 所述 IP地址路由信息包括所述待迁移 VM的 IP地址和 所述源控制节点的 IP地址。
  3. 4、 根据权利要求 1至 3中任意一项所述的方法, 其特征在于, 所述通过第一 ARP消息向目标控制节点发送所述待迁移 VM的 MAC地 址和 IP地址包括: 目标服务器通过所述第一 ARP消息向目标服务器与目标 控制节点之间的节点发送所述待迁移 VM的 MAC地址和 IP地址; 所述目标 服务器与目标控制节点之间的节点学习所述待迁移 VM的 MAC地址和 IP地 址并更新 MAC地址转发表; 所述目标服务器与目标控制节点之间的节点向 所述目标控制节点转发所述第一 ARP消息,以使所述目标控制节点获取所述 待迁移 VM的 MAC地址和 IP地址;
    所述通过第二 ARP消息向源服务器发送待迁移 VM的 IP地址或 IP地址 和 MAC地址, 包括: 源控制节点通过所述第二 ARP消息向源服务器与源控 制节点之间的节点发送所述待迁移 VM的 IP地址或 IP地址和 MAC地址;所 述源服务器与源控制节点之间的节点学习所述待迁移 VM的 MAC地址并更 新 MAC地址转发表; 所述源服务器与源控制节点之间的节点向所述源服务 器转发所述第二 ARP消息, 以使所述源服务器获取所述待迁移 VM的 IP地 址或 IP地址和 MAC地址。
  4. 5、 根据权利要求 4所述的方法, 其特征在于, 所述源控制节点通过所述 第二 ARP消息向源服务器与源控制节点之间的节点发送所述待迁移 VM的 IP 地址或 IP地址和 MAC地址包括:
    所述源控制节点向源站点中广播所述第二 ARP消息, 所述第二 ARP消 息中包括所述待迁移 VM的 IP地址;
    或, 所述源控制节点根据所述待迁移 VM的 IP地址查询 MAC地址和 IP 地址的映射表, 获取所述待迁移 VM的 MAC地址, 向源站点中广播所述第 二 ARP消息, 所述第二 ARP消息中包括所述待迁移 VM的 IP地址和 MAC 地址。
  5. 6、 根据权利要求 5所述的方法, 其特征在于, 所述目标控制节点根据所 述第一 ARP消息更新 IP路由表之后还包括:
    所述目标控制节点通过所述第一路由协议报文向其它控制节点发送所述 更新后待迁移 VM的 IP地址路由信息;
    所述其它控制节点根据所述第一路由协议报文中的所述待迁移 VM的 IP 地址和所述目标控制节点的 IP地址更新 IP路由表。 7、 根据权利要求 6所述的方法, 其特征在于,
    所述控制节点为用户边缘 CE路由器; 所述源控制节点或所述其它控制 节点向所述目标控制节点发送所述 IP报文包括: 源 CE路由器或其它 CE路 由器将所述 IP报文封装入通往目标 CE路由器的 IP隧道发送给目标 CE路由 器;
    或, 所述控制节点为运营商边缘 PE路由器; 所述第一路由协议报文中 还包括: 伪线 PW标签; 所述源控制节点根据所述第一路由协议报文中的所 述待迁移 VM的 IP地址和所述目标控制节点的 IP地址更新 IP路由表还包括: 源 PE路由器绑定所述待迁移 VM的 IP地址和所述 PW标签; 所述源控制节 点或所述其它控制节点向所述目标控制节点发送所述 IP报文包括: 源 PE路 由器为所述 IP报文添加与所述 PW标签相同的 PW头后, 封装入通往目标 PE路由器的多协议标记交换 MPLS隧道发送给目标 PE路由器。
  6. 8、 一种虚拟机 VM迁移系统, 其特征在于, 包括:
    目标服务器,用于启动待迁移 VM并通过第一地址解析协议 ARP消息向 目标控制节点发送所述待迁移 VM的媒体访问控制 MAC地址和网际协议 IP 地址;
    目标控制节点, 用于根据所述第一 ARP消息更新 IP路由表, 通过第一 路由协议报文向源控制节点发送更新后待迁移 VM的 IP地址路由信息,所述 更新后待迁移 VM的 IP地址路由信息包括所述待迁移 VM的 IP地址和所述 目标控制节点的 IP地址;
    源控制节点, 用于根据所述第一路由协议报文中的所述待迁移 VM的 IP 地址和所述目标控制节点的 IP地址更新 IP路由表,通过第二 ARP消息向源 服务器发送待迁移 VM的 IP地址或 IP地址和 MAC地址;
    源服务器, 用于从所述源控制节点接收所述第二 ARP消息。
  7. 9、 根据权利要求 8所述的系统, 其特征在于,
    所述源服务器还用于根据所述第二 ARP消息释放所述待迁移 VM的相关 资源。
  8. 10、 根据权利要求 8或 9所述的系统, 其特征在于,
    所述源控制节点还用于通过第三 ARP 消息从所述源服务器获取所述待 迁移 VM的 MAC地址和 IP地址的映射关系, 通过第二路由协议报文向所述 目标控制节点发送所述待迁移 VM的 IP地址路由信息, 所述 IP地址路由信 息包括所述待迁移 VM的 IP地址和所述源控制节点的 IP地址。
  9. 11、 根据权利要求 8或 9所述的系统, 其特征在于, 还包括: 目标服务 器与目标控制节点之间的节点和源服务器与源控制节点之间的节点;
    所述目标服务器具体用于通过所述第一 ARP 消息向所述目标服务器与 目标控制节点之间的节点发送所述待迁移 VM的 MAC地址和 IP地址;
    所述目标服务器与目标控制节点之间的节点具体用于学习所述待迁移 VM的 MAC地址和 IP地址并更新 MAC地址转发表,向所述目标控制节点转 发所述第一 ARP消息;
    所述源控制节点具体用于通过所述第二 ARP 消息向源服务器与源控制 节点之间的节点发送所述待迁移 VM的 IP地址或 IP地址和 MAC地址;
    所述源服务器与源控制节点之间的节点具体用于学习所述待迁移 VM的
    MAC地址并更新 MAC地址转发表, 向所述源服务器转发所述第二 ARP消 自
  10. 12、 根据权利要求 8至 11 中任意一项所述的系统, 其特征在于, 还包 括: 其它控制节点;
    所述目标控制节点还用于在根据所述第一 ARP消息更新 IP路由表之后, 通过所述第一路由协议报文向所述其它控制节点发送所述更新后待迁移 VM 的 IP地址路由信息;
    所述其它控制节点用于根据所述第一路由协议报文中的所述待迁移 VM 的 IP地址和所述目标控制节点的 IP地址更新 IP路由表。
  11. 13、 根据权利要求 12所述的系统, 其特征在于, 所述源控制节点或所述其它控制节点还用于在接收来自所述目标控制节 点的第一路由协议报文之后, 当获取到报文目的 IP地址为所述待迁移 VM的 IP地址的 IP报文时, 向所述目标控制节点发送所述 IP报文;
    所述目标控制节点还用于向所述目标服务器发送所述 IP报文。
  12. 14、 根据权利要求 13所述的系统, 其特征在于,
    所述目标控制节点、 所述源控制节点、 所述其它控制节点均为 CE路由 器; 所述源控制节点或所述其它控制节点具体用于将所述 IP报文封装入通往 目标 CE路由器的 IP隧道发送给目标 CE路由器;
    或, 所述目标控制节点、 所述源控制节点、 所述其它控制节点均为 PE 路由器; 所述第一路由协议报文中还包括: 伪线 PW标签; 所述源控制节点 还用于绑定所述待迁移 VM的 IP地址和所述 PW标签;所述源控制节点或所 述其它控制节点具体用于为所述 IP报文添加与所述 PW标签相同的 PW头 后,封装入通往目标 PE路由器的多协议标记交换 MPLS隧道发送给目标 PE 路由器。
CN201180001418.9A 2011-08-15 2011-08-15 虚拟机迁移通知方法和系统 Active CN103430149B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/078397 WO2012119390A1 (zh) 2011-08-15 2011-08-15 虚拟机迁移通知方法和系统

Publications (2)

Publication Number Publication Date
CN103430149A true CN103430149A (zh) 2013-12-04
CN103430149B CN103430149B (zh) 2016-03-30

Family

ID=46797445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180001418.9A Active CN103430149B (zh) 2011-08-15 2011-08-15 虚拟机迁移通知方法和系统

Country Status (2)

Country Link
CN (1) CN103430149B (zh)
WO (1) WO2012119390A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105208048A (zh) * 2014-05-30 2015-12-30 株式会社日立制作所 全局迁移管理器、网关、虚拟机迁移系统及其方法
CN106998297A (zh) * 2017-03-22 2017-08-01 新华三技术有限公司 一种虚拟机迁移方法和装置
CN107306223A (zh) * 2016-04-21 2017-10-31 华为技术有限公司 数据传输系统、方法及装置
CN109981493A (zh) * 2019-04-09 2019-07-05 苏州浪潮智能科技有限公司 一种用于配置虚拟机网络的方法和装置
CN111988223A (zh) * 2020-08-19 2020-11-24 杭州迪普科技股份有限公司 虚拟机迁移方法与网络系统
CN112486627A (zh) * 2016-08-30 2021-03-12 华为技术有限公司 一种确定虚拟机迁移的方法和装置
CN113612782A (zh) * 2021-08-06 2021-11-05 中国联合网络通信集团有限公司 虚拟机迁移验证方法及装置
CN115297055A (zh) * 2022-07-25 2022-11-04 紫光云技术有限公司 一种公有云云主机迁移arp表项更新方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104052666B (zh) * 2013-03-14 2018-05-11 新华三技术有限公司 实现主机路由可达的方法和装置
US10977064B2 (en) 2017-08-23 2021-04-13 Red Hat, Inc. Live virtual machine migration
US10838752B2 (en) 2017-08-28 2020-11-17 Red Hat Israel, Ltd. Network notification loss detection for virtual machine migration
US11070629B2 (en) 2017-08-30 2021-07-20 Red Hat Israel, Ltd Migration notification and response messages for virtual machines
US10628198B2 (en) 2017-08-30 2020-04-21 Red Hat Israel Ltd. Hypervisor management of migration notification and response messages for virtual machines
US10965641B2 (en) 2017-12-07 2021-03-30 Red Hat, Inc. Live virtual machine migration utilizing network address pools
US10693801B2 (en) 2018-02-20 2020-06-23 Red Hat, Inc. Packet drop reduction in virtual machine migration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764752A (zh) * 2009-12-25 2010-06-30 杭州华三通信技术有限公司 远程集中镜像管理的方法和系统
US20100287548A1 (en) * 2009-05-06 2010-11-11 Vmware, Inc. Long Distance Virtual Machine Migration
CN102137001A (zh) * 2010-11-29 2011-07-27 华为技术有限公司 交换路由信息的方法、设备和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080189432A1 (en) * 2007-02-02 2008-08-07 International Business Machines Corporation Method and system for vm migration in an infiniband network
CN101876883B (zh) * 2009-11-30 2012-02-01 英业达股份有限公司 保持虚拟机器的远程操作不中断的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287548A1 (en) * 2009-05-06 2010-11-11 Vmware, Inc. Long Distance Virtual Machine Migration
CN101764752A (zh) * 2009-12-25 2010-06-30 杭州华三通信技术有限公司 远程集中镜像管理的方法和系统
CN102137001A (zh) * 2010-11-29 2011-07-27 华为技术有限公司 交换路由信息的方法、设备和系统

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105208048A (zh) * 2014-05-30 2015-12-30 株式会社日立制作所 全局迁移管理器、网关、虚拟机迁移系统及其方法
CN107306223A (zh) * 2016-04-21 2017-10-31 华为技术有限公司 数据传输系统、方法及装置
CN107306223B (zh) * 2016-04-21 2020-08-14 华为技术有限公司 数据传输系统、方法及装置
CN112486627A (zh) * 2016-08-30 2021-03-12 华为技术有限公司 一种确定虚拟机迁移的方法和装置
CN112486627B (zh) * 2016-08-30 2022-04-12 华为技术有限公司 一种虚拟机迁移的方法和装置
CN106998297A (zh) * 2017-03-22 2017-08-01 新华三技术有限公司 一种虚拟机迁移方法和装置
CN106998297B (zh) * 2017-03-22 2019-11-08 新华三技术有限公司 一种虚拟机迁移方法和装置
CN109981493A (zh) * 2019-04-09 2019-07-05 苏州浪潮智能科技有限公司 一种用于配置虚拟机网络的方法和装置
CN109981493B (zh) * 2019-04-09 2020-05-01 苏州浪潮智能科技有限公司 一种用于配置虚拟机网络的方法和装置
CN111988223A (zh) * 2020-08-19 2020-11-24 杭州迪普科技股份有限公司 虚拟机迁移方法与网络系统
CN113612782A (zh) * 2021-08-06 2021-11-05 中国联合网络通信集团有限公司 虚拟机迁移验证方法及装置
CN113612782B (zh) * 2021-08-06 2023-02-17 中国联合网络通信集团有限公司 虚拟机迁移验证方法及装置
CN115297055A (zh) * 2022-07-25 2022-11-04 紫光云技术有限公司 一种公有云云主机迁移arp表项更新方法
CN115297055B (zh) * 2022-07-25 2024-01-23 紫光云技术有限公司 一种公有云云主机迁移arp表项更新方法

Also Published As

Publication number Publication date
WO2012119390A1 (zh) 2012-09-13
CN103430149B (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN103430149A (zh) 虚拟机迁移通知方法和系统
US10476796B2 (en) Packet processing method, and device and system
CN107409083B (zh) 对具有evpn控制平面的vxlan中的bgp路由信息的可扩展处理
CN102971992B (zh) 虚拟专用局域网设备、网络组件和数据帧转发方法
US9590902B2 (en) Signaling aliasing capability in data centers
CN102025591B (zh) 虚拟专用网络的实现方法及系统
CN104579954B (zh) 报文跨域转发方法、装置及通信设备
EP3188422B1 (en) Traffic black holing avoidance and fast convergence for active-active pbb-evpn redundancy
EP2750329B1 (en) Method and device for sending internet protocol packets
US20140075047A1 (en) Network-Assisted Virtual Machine Mobility
CN102413060B (zh) Vpls网络中用户专线通信方法及设备
JP2015523788A (ja) 個別管理方式を使用する仮想転送インスタンスの遠端アドレスへのvlanタグ付きパケットのルーティング
CN103270736A (zh) 用于大型二层中目标主机的代表网关和代理以及通过重复因特网协议地址进行地址解析
CN105264493A (zh) 信息中心网络上的动态虚拟机迁移
CN103731349B (zh) 一种以太网虚拟化互联邻居间报文转发方法和边缘设备
EP2227883A1 (en) Setting up a virtual private network
CN106209643A (zh) 报文转发方法及装置
CN102932499A (zh) Vpls网络中的mac地址学习方法及设备
KR20220160639A (ko) 메시지 인터랙션 방법, 장치, 설비 및 저장 매체
JP2014150364A (ja) アドレス生成装置
EP3018866A1 (en) Signaling aliasing capability in data centers
CN106911547B (zh) 一种报文转发方法及装置
CN112822097A (zh) 报文转发的方法、第一网络设备以及第一设备组
CN110752989A (zh) 一种东西向流量转发方法与装置
CN113726653A (zh) 报文处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant