主机迁移方法及装置的制造方法_2

文档序号:9931234阅读:来源:国知局
-port2)以及所在交换机的交换机标识(VS2)等状态信息发送至 控制设备,以使所述控制设备将预存的状态数据库中与主机VM2对应的状态设置为迁移状 〇
[0038] 需要说明的是,本发明在二层网络应用中可以将主机的MAC地址作为主机信息, 在三层网络应用中也可以将主机的IP地址作为主机信息,本发明仅以该主机信息为MAC地 址为例进一步说明,在将主机的IP地址作为主机信息的处理流程也可与参照本发明实施 例处理流程,在此不再赘述。
[0039] 步骤202,获取所述待迁移主机在源交换设备上的运行信息,以触发所述源交换设 备向控制设备发送删除待迁移主机与源交换设备连接端口的删除报文。
[0040] 之后,将待迁移主机VM2在源交换机VS1上的运行信息复制到目标交换机VS2 上,触发源交换机VS1删除与VM2连接的端口 VSl-Port2,并向控制设备发送删除待迁移 主机VM2与源交换设备VS1连接端口 VSl-Port2的删除报文,以通知控制设备待迁移主机 VM2在源交换机VS1上已删除,使控制设备更新自身预存的状态数据库,并重新生成具有与 VS2-P〇rt2对应状态信息的转发流表项下发至SDN网络中的交换设备。其中,该运行信息为 源交换机VS1的存储器中与VM2相关的信息。
[0041] 同时,目标交换机VM2在获取所述待迁移主机VM2在源交换设备VS1上的运行信 息后,保存并配置所述运行信息。并且目标交换设备通过从待迁移主机所在的源交换设备 上复制所述待迁移主机在源交换设备上的运行信息,还可以保证与所述待迁移主机相关的 网络安全策略联动跟随。
[0042] 步骤203,接收所述控制设备根据所述删除报文生成的转发流表项,确定所述待迁 移王机迁移完成。
[0043] 在控制设备根据源交换机VS1发送的删除报文更新自身预存的状态数据库后,会 为SDN网络中的所有交换机分别生成具有与VS2-P 〇rt2对应状态信息的转发流表项下发至 各交换机。各交换机若接收该转发流表项后,确定待迁移主机VM2已从VSl-Port2成功迁 移至VS2-P 〇rt2。并保存该转发流表项,在后续接收到目的地址为VM2的流量时,可根据该 转发流表项将流量经由正确的端口转发至正确的虚拟主机VM2。
[0044] 请参考图3,为本发明一种主机迁移方法的另一个实施流程图,该实施例可以应用 在SDN网络中的控制设备上,包括以下步骤:
[0045] 步骤301,接收交换设备发送的交换设备与主机连接端口的状态信息。
[0046] 在初始状态时,SDN网络中的各交换机都会向控制设备上送交换机与主机连接的 端口的状态信息,或者在后续交换机连接新的主机或主机发生迁移事件时,也会向控制设 备上送交换机与新的主机连接端口的状态信息。该状态信息为修改后的端口信息、端口号 以及端口所在交换机的交换机标识等。例如在主机发生迁移事件时,该修改后的端口信息 实际为将目标交换机创建的新端口的端口信息修改为待迁移主机的主机信息(例如,将端 口的MAC地址修改为待迁移主机的MAC地址)。控制设备在接收到交换机上送的状态信息 时,可以检查自身预存的状态数据库的端口状态中是否具有一致的状态信息,并进行相应 的处理。
[0047] 步骤302,根据所述控制设备的状态数据库预存的信息,判断与所述状态信息对应 的端口所连接的主机是否为待迁移主机。
[0048] 本发明实施例中,控制设备在接收到交换设备发送的状态信息时,可以将该状态 信息与控制设备的状态数据库中预存的端口状态进行比对,根据比对结果判断所述端口连 接的主机是否为待迁移主机,并进行相应地处理,例如,该比对结果可以为以下三种情况:
[0049] 1、该状态数据库不包含与该状态信息一致的端口状态
[0050] 若控制设备预存的状态数据库中不包含与所述交换机发送的状态信息一致的端 口状态,说明发送该状态信息的交换机创建了一个新的端口,同时添加了一个新的主机,并 判断所述端口连接的主机不是待迁移主机,那么将该交换机上送的状态信息保存至状态数 据库中,并根据该状态信息分别为SDN网络中的交换机生成具有该状态信息(修改后的端 口 MAC地址,实际为与端口连接的主机的MAC地址)的流表项,下发至SDN网络中的所有交 换机。
[0051] 2、该状态数据库包含与该状态信息一致的端口状态
[0052] 若控制设备预存的状态数据库中包含所述交换机发送的状态信息,且所述状态信 息与状态数据库中的端口状态一致,判断所述端口连接的主机不是待迁移主机,不做处理。
[0053] 3、该状态数据库包含该状态信息中的端口 MAC地址,但是对应的端口号不一致
[0054] 若控制设备预存的状态数据库中包含所述交换机发送的状态信息中的端口 MAC 地址,但是对应的端口号不一致,可以判断所述端口连接的主机为待迁移主机,同时将状态 数据库中与该待迁移主机标记为迁移状态。本发明仍结合图1举例,例如控制设备预存的 状态数据库中的端口状态如表1所示:
[0055]
[0056] 表 1
[0057] 表1为控制设备预存的状态数据库中的端口状态,仅是为进一步理解本发明的示 例,并不用于限制本发明实施例中状态数据库的具体内容。
[0058] 假设在接收到目标交换机VS2发送的包括目标交换机VS2的端口 VS2_port2以及 对应的MAC地址(VM2-MAC)的状态信息时,若控制设备的状态数据库中具有与VS2发送的 状态信息中一致的端口 MAC地址(VM2-MAC),但是对应的其他信息(交换机标识、端口号) 不一致,则判断与端口 VSl-Port2连接的主机为即将迁移至VS2的VS2-Port4的主机,并将 预存状态数据库中待迁移主机VM2-MAC的标记为迁移状态。但是,此时并不向SDN网络中 的所有交换机下发更新后的转发流表项,因此,此时所有去往VM2的流量还是发往与VS1连 接的VM2,即使是VM3发往VM2的流量也是会发送至与VS1连接的VM2。
[0059] 步骤303,若与所述状态信息对应的端口所连接的主机是待迁移主机,在接收到源 交换设备发送的删除源交换设备与主机连接端口的删除报文时,向SDN网络中的所有交换 设备下发根据所述删除报文生成的转发流表项,以确定所述待迁移主机迁移完成。
[0060] 在对待迁移主机VM2标记为迁移状态后,接着,控制设备可以接收到源交换设备 VS1发送的删除VS1与VM2连接端口 VSl-Port2的删除报文时,说明与VM2连接的端口 VSl-Port2已被删除,控制设备分别为SDN网络中的所有交换机生成具有VM2-MAC以及对 应出端口的流表项,并分别下发至SDN网络中的所有交换机。例如,本发明实施例中分别为 VS1以及VS2下发的流表项可以如表2-1,2-2所示:
[0061]
[0062] 表 2-1
[0063]
[0064]表 2-2
[0065] 表2-1,2-2所示为控制设备分别为VS1以及VS2生成的转发流表项,仅是为进一 步理解本发明的示例,并不用于限制本发明实施例中转发流表项的具体内容。控制设备在 生成转发流表项后,分别将表2-1所示的转发流表项下发至VS1,将表2-2所示的转发流表 项下发至VS2。以使各交换机在接收到目的地址为VM2的流量时,根据该更新后的转发流表 项将流量经由正确的端口发往主机VM2。
[0066] 本发明还提供了一种主机迁移装置的实施例,应用于SDN网络中的交换设备,请 参考图4,为本发明主机迁移装置所在交换设备的硬件架构示意图,其基本硬件环境包括 CPU、内存、转发芯片、非易失性存储器以及其他硬件。图5为该主机迁移装置的逻辑结构示 意图,其从本质上说是一个逻辑装置。在本实施方式中,以软件实现为例,该主机迁移装置 在逻辑层面上可以包括发送单元501、获取单元502以及接收单元503,其中:
[0067] 发送单元501,用于向SDN网络中的控制设备发送目标交换设备与待迁移主机连 接端口的状态信息;
[0068] 获取单元502,用于获取所述待迁移主机在源交换设备上的运行信息,以触发所述 源交换设备向控制设备发送删除待迁移主机与源交换设备连接端口的删除报文;
[0069] 接收单元503,用于接收所述控制设备根据所述删除报文生成的转发流表项,以确 定所述待迁移主机迁移完成。
[0070] 进一步地,所述装置还
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1