一种VLAN配置动态迁移的方法及装置转让专利

申请号 : CN201210279211.4

文献号 : CN102821023B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘浩曾勇刚

申请人 : 杭州华三通信技术有限公司

摘要 :

一种VLAN配置动态迁移的方法及装置,通过在网管系统中事先存储虚拟机ID和对应的VLAN配置信息;在网管系统感知到虚拟机的网络迁移事件时,向虚拟机迁入的物理服务器对应的上行物理交换机下发该虚拟机的VLAN配置,在虚拟机迁移完成后,迁入的物理服务器通过发送RARP报文使得其上行所有物理交换机的ARP表得以更新;如果迁移事件在网管系统完成下发VLAN配置之前已经完成,所述网管系统通过SNMP或命令行老化网关物理交换机上的ARP表,从而完成迁入的物理服务器上行的所有物理交换机的ARP表更新,通过本发明,所述虚拟机的VLAN配置会随着虚拟机的迁移动态的完成迁移。

权利要求 :

1.一种VLAN配置动态迁移的方法,应用在至少包括两台物理服务器及其上行物理交换机构成的网络系统中,其中每台物理服务器可以根据需要,虚拟化为多个不同的虚拟机,其特征在于,所述方法包括:步骤1、在网管系统中事先存储虚拟机的ID和VLAN配置信息间的对应关系;

步骤2、在网管系统感知到虚拟机的网络迁移事件时,向虚拟机迁入的物理服务器对应的上行物理交换机下发该虚拟机的VLAN配置,具体为:所述网管系统根据虚拟机的迁移事件获取迁移的虚拟机的ID及迁入的物理服务器的ID信息,所述网管系统进一步根据该虚拟机的ID获得该虚拟机对应的VLAN配置信息,根据迁入的物理服务器的ID信息查找存储的网络设备拓扑关系得到该迁入物理服务器的上行物理交换机对应的端口,而后将该虚拟机的VLAN配置信息下发给迁入的物理服务器对应的上行物理交换机对应的端口上;

其中,所述步骤2网管系统向迁入物理服务器的上行物理交换机对应的端口下发该迁移虚拟机的VLAN配置信息先于虚拟机的迁移动作完成。

2.如权利要求1所述的方法,其特征在于,在虚拟机迁移完成后,迁入的物理服务器向其网关物理交换机进一步发送RARP报文,其中携带虚拟机VM1的IP地址和MAC地址信息,使得本地边缘交换机、网关交换机及其之间的所有物理交换机的ARP表得以更新,进而使得该迁入的物理服务器的所有上行物理交换机均获取到该虚拟机VM1的最新配置。

3.如权利要求1所述的方法,其特征在于,如果在虚拟机迁移完成后,所述步骤2网管系统才向迁入物理服务器的上行物理交换机对应端口下发迁移的虚拟机的VLAN配置信息,此时,网管系统进一步通过网络拓扑计算出迁入的物理服务器所在的网关交换机的信息,并通过SNMP或命令行老化网关物理交换机上的ARP表;

所述网关物理交换机在ARP表老化后,进一步向迁入的物理服务器所在的边缘交换机发送探测报文,当收到边缘交换机的报文应答后,表明所述边缘交换机和网关交换机以及它们之间的所有物理交换机上的ARP表均得以更新,均获取到了迁入的虚拟机的最新位置,所述虚拟机VM1可以访问外部网络。

4.如权利要求1所述的方法,其特征在于,所述虚拟机ID具体为该虚拟机的MAC地址,IP地址或者其他可以唯一标识该虚拟机的信息。

5.一种VLAN配置动态迁移的装置,所述装置应用在至少包括两台物理服务器及其上行物理交换机构成的网络系统中,其中每台物理服务器可以根据需要,虚拟化为多个不同的虚拟机,其特征在于,所述装置包括:记录模块,用于所述装置事先存储虚拟机的ID和VLAN配置信息间的对应关系;

下发模块,用于在所述装置感知到虚拟机的网络迁移事件后,向虚拟机迁入的物理服务器对应的上行物理交换机下发该虚拟机的VLAN配置信息,具体为:所述装置根据虚拟机的迁移事件获取迁移的虚拟机的ID及迁入的物理服务器的ID信息,所述装置进一步根据该虚拟机的ID获得该虚拟机对应的VLAN配置信息,根据迁入的物理服务器的ID信息查找存储的网络设备拓扑关系得到该迁入物理服务器的上行物理交换机对应的端口,而后将该虚拟机的VLAN配置信息通过下发模块下发给迁入的物理服务器对应的上行物理交换机对应的端口上;

其中,所述下发模块向迁入物理服务器的上行物理交换机对应的端口下发该迁移虚拟机的VLAN配置信息先于虚拟机的迁移动作完成。

6.如权利要求5所述的装置,其特征在于,在虚拟机迁移完成后,迁入的物理服务器向其网关物理交换机进一步发送RARP报文,其中携带虚拟机VM1的IP地址和MAC地址信息,使得本地边缘交换机、网关交换机及其之间的所有物理交换机的ARP表得以更新,进而使得该迁入的物理服务器的所有上行物理交换机均获取到该虚拟机VM1的最新配置。

7.如权利要求5所述的装置,其特征在于,如果在虚拟机迁移完成后,所述下发模块才向迁入物理服务器的上行物理交换机对应端口下发迁移的虚拟机的VLAN配置信息,此时,所述装置进一步通过网络拓扑计算出迁入的物理服务器所在的网关交换机的信息,并通过SNMP或命令行老化网关物理交换机上的ARP表;

所述网关物理交换机在ARP表老化后,进一步向迁入的物理服务器所在的边缘交换机发送探测报文,当收到边缘交换机的报文应答后,表明所述边缘交换机和网关交换机以及它们之间的所有物理交换机上的ARP表均得以更新,均获取到了迁入的虚拟机的最新位置,所述虚拟机VM1可以访问外部网络。

8.如权利要求5所述的装置,其特征在于,所述虚拟机ID具体为该虚拟机的MAC地址,IP地址或者其他可以唯一标识该虚拟机的信息。

说明书 :

一种VLAN配置动态迁移的方法及装置

技术领域

[0001] 本发明涉及数据通信技术领域,尤其涉及一种在虚拟化环境下VLAN配置随着虚拟机的迁移而动态迁移的方法及装置。

背景技术

[0002] 虚拟化技术目前越来越受到重视,业界很多厂商生产了很多虚拟机产品,如VMWare、HyperV、KVM等。用户可以在物理服务器上虚拟多个主机,供不同用户使用。当某个物理服务器上虚拟的主机过多时,就会发生资源不足,运行缓慢的情况。为了避免此情形的产生,各厂商都提供了虚拟机迁移的功能,将虚拟机从负荷较大的服务器迁移到负荷小的服务器,进而实现资源的充分利用。
[0003] 在实际的网络应用中,出于网络安全及其他方面的考虑,企业一般会根据需要在不同的虚拟机上配置不同的VLAN,以对虚拟机访问外部网络作一定的限制。通过以上配置,一定程度上实现对虚拟网络的安全保护。
[0004] 然而,当虚拟机发生迁移时,如果虚拟机迁移的目的交换机上没有预先配置好该虚拟机使用的VLAN配置,会导致虚拟机迁移完成后,该虚拟机无法访问正常网络。

发明内容

[0005] 有鉴于此,本发明提供一种VLAN配置动态迁移的方法及装置,通过本发明,无须在虚拟机迁移的目的交换机上预先配置好该虚拟机使用的VLAN配置,所述虚拟机的VLAN配置会随着虚拟机的迁移动态的完成迁移。
[0006] 为实现本发明目的,本发明实现方案具体如下:
[0007] 一种VLAN配置动态迁移的方法,应用在至少包括两台物理服务器及其上行物理交换机构成的网络系统中,其中所述每台物理服务器可以根据需要,虚拟化为多个不同的虚拟机,其中所述方法包括:
[0008] 步骤1、在网管系统中事先存储虚拟机的ID和VLAN配置信息间的对应关系;
[0009] 步骤2、在网管系统感知到虚拟机的网络迁移事件时,向虚拟机迁入的物理服务器对应的上行物理交换机下发该虚拟机的VLAN配置。
[0010] 进一步地,所述步骤2网管系统向虚拟机迁入的物理服务器对应的上行物理交换机下发该虚拟机的VLAN配置信息,具体为:
[0011] 所述网管系统根据虚拟机的迁移事件获取迁移的虚拟机的ID及迁入的物理服务器的ID信息,所述网管系统进一步根据该虚拟机的ID获得该虚拟机对应的VLAN配置信息,根据迁入的物理服务器的ID信息查找存储的网络设备拓扑关系得到该迁入物理服务器的上行物理交换机对应的端口,而后将该虚拟机的VLAN配置信息下发给迁入的物理服务器对应的上行物理交换机对应的端口上。
[0012] 进一步地,所述步骤2网管系统向迁入物理服务器的上行物理交换机对应的端口下发该迁移虚拟机的VLAN配置信息先于虚拟机的迁移动作完成。并在虚拟机迁移完成后,迁入的物理服务器向其网关物理交换机进一步发送RARP报文,其中携带虚拟机VM1的IP地址和MAC地址信息,使得本地边缘交换机、网关交换机及其之间的所有物理交换机的ARP表得以更新,进而使得该迁入的物理服务器的所有上行物理交换机均获取到该虚拟机VM1的最新配置。
[0013] 进一步地,如果在虚拟机迁移完成后,所述步骤2网管系统才向迁入物理服务器的上行物理交换机对应端口下发迁移的虚拟机的VLAN配置信息,此时,网管系统进一步通过网络拓扑计算出迁入的物理服务器所在的网关交换机的信息,并通过SNMP或命令行老化网关物理交换机上的ARP表。所述网关物理交换机在ARP表老化后,进一步向迁入的物理服务器所在的边缘交换机发送探测报文,当收到边缘交换机的报文应答后,表明所述边缘交换机和网关交换机以及它们之间的所有物理交换机上的ARP表均得以更新,均获取到了迁入的虚拟机的最新位置,所述虚拟机VM1可以访问外部网络。
[0014] 进一步地,所述虚拟机ID具体为该虚拟机的MAC地址,IP地址或者其他可以唯一标识该虚拟机的信息。
[0015] 本发明同时提供一种VLAN配置动态迁移的装置,所述装置应用在至少包括两台物理服务器及其上行物理交换机构成的网络系统中,其中所述每台物理服务器可以根据需要,虚拟化为多个不同的虚拟机,其特征在于,所述装置包括:
[0016] 记录模块,用于所述装置事先存储虚拟机的ID和VLAN配置信息间的对应关系;
[0017] 下发模块,用于在所述装置感知到虚拟机的网络迁移事件后,向虚拟机迁入的物理服务器对应的上行物理交换机下发该虚拟机的VLAN配置信息。
[0018] 进一步地,所述下发模块向虚拟机迁入的物理服务器对应的上行物理交换机下发该虚拟机的VLAN配置信息,具体为:
[0019] 所述装置根据虚拟机的迁移事件获取迁移的虚拟机的ID及迁入的物理服务器的ID信息,所述装置进一步根据该虚拟机的ID获得该虚拟机对应的VLAN配置信息,根据迁入的物理服务器的ID信息查找存储的网络设备拓扑关系得到该迁入物理服务器的上行物理交换机对应的端口,而后将该虚拟机的VLAN配置信息通过下发模块下发给迁入的物理服务器对应的上行物理交换机对应的端口上。
[0020] 进一步地,所述下发模块向迁入物理服务器的上行物理交换机对应的端口下发该迁移虚拟机的VLAN配置信息先于虚拟机的迁移动作完成。并在虚拟机迁移完成后,迁入的物理服务器向其网关物理交换机进一步发送RARP报文,其中携带虚拟机VM1的IP地址和MAC地址信息,使得本地边缘交换机、网关交换机及其之间的所有物理交换机的ARP表得以更新,进而使得该迁入的物理服务器的所有上行物理交换机均获取到该虚拟机VM1的最新配置。
[0021] 进一步地,如果在虚拟机迁移完成后,所述下发模块才向迁入物理服务器的上行物理交换机对应端口下发迁移的虚拟机的VLAN配置信息,此时,所述装置进一步通过网络拓扑计算出迁入的物理服务器所在的网关交换机的信息,并通过SNMP或命令行老化网关物理交换机上的ARP表。所述网关物理交换机在ARP表老化后,进一步向迁入的物理服务器所在的边缘交换机发送探测报文,当收到边缘交换机的报文应答后,表明所述边缘交换机和网关交换机以及它们之间的所有物理交换机上的ARP表均得以更新,均获取到了迁入的虚拟机的最新位置,所述虚拟机VM1可以访问外部网络。
[0022] 进一步地,所述虚拟机ID具体为该虚拟机的MAC地址,IP地址或者其他可以唯一标识该虚拟机的信息。。
[0023] 与现有的技术方案相比,本发明通过在虚拟机发生迁移过程中,网管系统通过迁移事件感知发生迁移的虚拟机以及迁入的目的交换机,所述网管系统通过向该虚拟机所在目的交换机及时下发该虚拟机的VLAN配置,以保证虚拟机迁移完成后,虚拟机所在的物理服务器发出的RARP报文可以正常通过,该物理服务器对应的上行物理交换机上的ARP表得以更新,以便虚拟机能正常访问网络。

附图说明

[0024] 图1是本发明某应用场景下虚拟机发生迁移示意图。
[0025] 图2是本发明提供的VLAN配置动态迁移的方法流程图。
[0026] 图3是本发明提供的VLAN配置动态迁移的装置示意图。

具体实施方式

[0027] 为了实现本发明目的,本发明采用的核心思想为:在网管系统中事先存储虚拟机ID和对应的VLAN配置信息;在网管系统感知到虚拟机的网络迁移事件时,向虚拟机迁入的物理服务器对应的上行物理交换机下发该虚拟机的VLAN配置,在虚拟机迁移完成后,迁入的物理服务器通过发送RARP报文使得本地边缘交换机、网关交换机及其之间的所有物理交换机的ARP表得以更新,进而使得该迁入的物理服务器的所有上行物理交换机均获取到该虚拟机的最新配置。由于迁入的物理服务器的所有上行物理交换机上的虚拟机正常访问网络的ARP表得以更新,因而虚拟机能够正常访问网络。
[0028] 为使本发明技术方案更加清楚和明白,以下结合本发明具体实施例加以详细说明。如图2所示,为本发明VLAN配置动态迁移的方法流程图。其中所述方法应用在至少包括两台物理服务器及其上行物理交换机构成的网络系统中,其中所述每台物理服务器可以根据需要,虚拟化为多个不同的虚拟机。主要包括如下步骤:
[0029] 步骤1、在网管系统中事先存储虚拟机的ID和VLAN配置信息间的对应关系。
[0030] 具体地,在本发明实施例中,网管系统可以通过轮询等方式获得各虚拟机ID与VLAN配置信息间的对应关系。其中所述虚拟机ID具体可以为该虚拟机的MAC地址,IP地址或者其他可以唯一标识该虚拟机的信息。在获得所有虚拟机的ID与VLAN配置信息间的对应关系后,网管系统还需要进一步存储该对应关系,如通过表格等方式进行存储。
[0031] 以图1所示的VM1对应的VLAN配置信息为VLAN1为例,网管系统在获取该对应关系后,将记录VM 1的ID与VLAN1配置信息间的对应关系。
[0032] 步骤2、在网管系统感知到虚拟机的网络迁移事件时,向虚拟机迁入的物理服务器对应的上行物理交换机下发该虚拟机的VLAN配置。
[0033] 具体地,当某台物理服务器运行过程中资源(包括CPU、内存、磁盘和网络吞吐等)出现瓶颈或者出现故障时,需要将这台物理服务器上运行的虚拟机迁移到其它物理服务器上,从而达到负载均衡和有效利用资源的目的。当虚拟机发生迁移时,网管系统可检测到该迁移事件,继而根据该迁移事件直接获取迁移的虚拟机的ID及迁入的物理服务器的ID信息。所述网管系统根据该虚拟机的ID获得该虚拟机对应的VLAN配置信息,根据迁入的物理服务器的ID信息查找存储的网络设备拓扑关系得到该迁入物理服务器的上行物理交换机对应的端口。而后将该虚拟机的VLAN配置信息下发给迁入的物理服务器对应的上行物理交换机对应的端口上。
[0034] 需要说明的是,为了实现本发明,较佳的实施方式是所述网管系统向迁入物理服务器的上行物理交换机对应的端口下发该迁移虚拟机的VLAN配置信息要先于虚拟机的迁移完成。这样,在虚拟机迁移完成后,迁入的物理服务器向其网关物理交换机发送RARP(Reverse Address Resolution Protocol,反向地址转换协议)报文,其中携带虚拟机的IP地址和MAC地址等信息,使得本地边缘交换机、网关交换机及其之间的所有物理交换机的ARP表得以更新,进而使得该迁入的物理服务器的所有上行物理交换机均获取到该虚拟机的最新配置。
[0035] 如果在虚拟机迁移完成后,所述网管系统才完成向迁入物理服务器的上行物理交换机对应端口下发迁移的虚拟机的VLAN配置信息,此时,RARP报文将无法通过迁入物理服务器的上行物理交换机。作为本发明中的另外一种实现方式,网管系统可以通过网络拓扑计算出迁入的物理服务器所在的网关交换机的信息。进一步地,所述网管系统通过SNMP或命令行老化网关物理交换机上的ARP表,并通过所述网关物理交换机向迁入的物理服务器所在的边缘交换机发送探测报文,当收到边缘交换机的报文应答后,表明所述边缘交换机和网关交换机以及它们之间的所有物理交换机上的ARP表均得以更新,均获取到了虚拟机的最新位置,所述虚拟机进而可以访问外部网络。
[0036] 仍以图1所示的应用场景为例,假如物理服务器A在运行过程中资源出现瓶颈,此时,需要将该物理服务器A上的VM 1迁移到物理服务器B上,此时,网管系统根据VM 1的迁移事件可以获得该VM 1的ID(例如为该虚拟机的MAC地址信息)和迁入的物理服务器B的ID信息。根据该VM 1的ID信息进一步得到该VM 1对应的VLAN配置信息VLAN1,根据物理服务器B的ID信息查找存储的网络设备拓扑关系得到物理服务器B的上行物理交换机(Edge Switch 2)端口Ethernet2/1。最后,所述网管系统将获得的VM1对应的VLAN配置信息VLAN1下发给迁入的物理服务器B对应的上行物理交换机(Edge Switch 2)端口Ethernet2/1。
[0037] 当网管系统向迁入的物理服务器B对应的上行物理交换机(Edge Switch2)端口Ethernet2/1下发VM1的VLAN配置信息VLAN1先于虚拟机迁移动作完成时,以图1所示的应用场景为例,在虚拟机VM1完成迁移后,迁入的物理服务器B进一步向其上行的网关物理交换机发送RARP(Reverse Address Resolution Protocol,反向地址转换协议)报文,在该RARP报文中携带该虚拟机的VLAN配置信息VLAN1,使得本地边缘交换机(Edge Switch2)、网关交换机及其之间的所有物理交换机(图中未显示)通过学习获得该虚拟机的VLAN配置信息,并使各自的ARP表得以更新,进而使得该迁入的物理服务器B的所有上行物理交换机均获取到该虚拟机的最新配置。
[0038] 如果在虚拟机迁移完成后,所述网管系统才完成向迁入物理服务器B的上行物理交换机对应端口下发迁移的虚拟机的VLAN配置信息,此时,RARP报文将无法通过迁入的边缘交换机(如图1中所示的Edge Switch 2)。作为本发明中的另外一种实现方式,网管系统首先通过网络拓扑计算出迁入的物理服务器B所在的网关交换机的信息。进一步地,所述网管系统通过SNMP或命令行老化该网关物理交换机上的ARP表,并通过所述网关物理交换机向迁入的物理服务器B所在的边缘交换机(Edge Switch2)发送探测报文,当收到边缘交换机Edge switch的报文应答后,表明所述边缘交换机和网关交换机以及它们之间的所有物理交换机上的ARP表均得以更新,均获取到了虚拟机VM1的最新位置,所述虚拟机VM1可以访问外部网络。
[0039] 下面通过两个具体的实施例对上述方法进行详细描述。
[0040] 实施例1
[0041] 如图1所示,虚拟机1(VM1)在物理服务器A上,迁移前通过VLAN1接入边缘交换机(Edge Switch 1)的ethernet1/1口,从而访问网络。网管系统将ethernet1/1端口配置成允许通过的VLAN为VLAN1,在边缘交换机(Edge Switch 2)的ethernet2/1端口上则配置不允许VLAN1通过。
[0042] 当物理服务器A超负荷时,需要将VM 1迁移到物理服务器B上。当迁移事件发生后,网管系统在不同阶段可以感知到两种消息,一个是迁移正在进行,另一个是迁移完成,其中这两种消息均由物理服务器B发出。
[0043] 当网管系统感知到迁移正在进行的消息(迁移事件)后,查询自身存储的数据库,通过VM1的ID得到该VM1的VLAN 1配置信息,根据物理服务器B的ID查找存储的网络设备拓扑关系得到物理服务器B的上行物理交换机(Edge Switch 2)端口Ethernet2/1。最后,所述网管系统将获得的VM1对应的VLAN配置信息VLAN1下发给迁入的物理服务器B对应的上行物理交换机(Edge Switch 2)端口Ethernet2/1。
[0044] 所述网管系统进一步监控迁移完成的消息,当物理服务器B发出迁移完成的消息后,在其所在的局域网络中发送RARP报文,使得局域网各物理交换机更新各自的ARP表。
[0045] 边缘交换机2及其上行的所有物理交换机的ARP表得以更新,获取到了虚拟机1的最新位置,虚拟机1可以正常访问网络。
[0046] 需要说明的是,在本实施例中,要求网管系统向迁入的物理服务器B对应的上行物理交换机(Edge Switch 2)端口Ethernet2/1下发VM1的VLAN配置信息VLAN1要先于虚拟机迁移动作完成。否则,物理服务器B的RARP报文将无法通过边缘交换机2,只能等边缘交换机上的ARP表老化后,才能生成新ARP表,VM1在此期间将无法访问网络。
[0047] 实施例2
[0048] 如图1所示,虚拟机1(VM1)在物理服务器A上,迁移前通过VLAN1接入边缘交换机(Edge Switch 1)的ethernet1/1口,从而访问网络。网管系统将ethernet1/1端口配置成允许通过的VLAN为VLAN1,在边缘交换机(Edge Switch 2)的ethernet2/1端口上则配置不允许VLAN1通过。
[0049] 当物理服务器A超负荷时,需要将VM 1迁移到物理服务器B上。当迁移事件发生后,网管系统在不同阶段可以感知到两种消息,一个是迁移正在进行,另一个是迁移完成,其中这两种消息均由物理服务器B发出。
[0050] 当物理服务器B发出迁移完成的消息后,所述物理服务器B会在其所在的局域网络中发RARP消息去更新本地各物理服务器的ARP表。此时,由于ethernet2/1被配置成不允许VLAN1通过,所以RARP被丢弃。
[0051] 当网管设备感知到迁移完成的消息后,查询自身存储的数据库,通过VM1的ID得到该VM1的VLAN 1配置信息,根据物理服务器B的ID查找存储的网络设备拓扑关系得到物理服务器B的上行物理交换机(Edge Switch2)端口Ethernet2/1。最后,所述网管系统将获得的VM1对应的VLAN配置信息VLAN1下发给迁入的物理服务器B对应的上行物理交换机(Edge Switch2)端口Ethernet2/1。以trunk口为例,所述网管系统将VLAN1配置成ethernet2/1的允许通过的VLAN。
[0052] 网管系统进一步通过拓扑计算得到VM1迁入的物理服务器B的网关交换机的信息。在完成VLAN配置后,网管系统通过SNMP和命令行(telnet/ssh)两种方式老化网关交换机的虚拟机VM1的ARP表。以命令行方式为例,网管系统telnet到网关交换机上,下发老化ARP的命令。在所述网关交换机老化ARP表后,进一步发送探测报文给虚拟机VM1,如果可以探测到虚拟机VM1,则表明虚拟机a可以正常访问网络。
[0053] 边缘交换机2及其上层其他的物理交换机ARP表得以更新,获取到虚拟机VM1的最新位置,虚拟机VM1可以正常访问网络。
[0054] 与现有的技术方案相比,本发明通过在虚拟机发生迁移过程中,网管系统通过迁移事件感知发生迁移的虚拟机以及迁入的物理交换机,并向虚拟机迁入的物理服务器对应的上行物理交换机下发该虚拟机的VLAN配置,在虚拟机迁移完成后,迁入的物理服务器通过发送RARP报文使得本地边缘交换机、网关交换机及其之间的所有物理交换机的ARP表得以更新,进而实现该迁入的物理服务器的所有上行物理交换机均上获取到该虚拟机的最新配置,虚拟机能正常访问网络。
[0055] 本发明同时提供了一种VLAN配置动态迁移的装置,所述装置应用在至少包括两台物理服务器及其上行物理交换机构成的网络系统中,其中所述每台物理服务器可以根据需要,虚拟化为多个不同的虚拟机。所述装置包括:
[0056] 记录模块,用于所述装置事先存储虚拟机的ID和VLAN配置信息间的对应关系。
[0057] 具体地,在本发明实施例中,所述装置可以通过轮询等方式获得各虚拟机ID与VLAN配置信息间的对应关系。其中所述虚拟机ID具体可以为该虚拟机的MAC地址,IP地址或者其他可以唯一标识该虚拟机的信息。在获得所有虚拟机的ID与VLAN配置信息间的对应关系后,网管装置通过记录模块存储该虚拟机的ID与VLAN配置信息间的对应关系,具体可以通过表格等方式进行存储。
[0058] 以图1所示的VM1对应的VLAN配置信息为VLAN1为例,所述装置在获取VM 1的ID与VLAN1配置信息间的对应关系后,在其记录模块上存储通过表格的方式存储该对应关系。
[0059] 下发模块,用于在所述装置感知到虚拟机的网络迁移事件后,向虚拟机迁入的物理服务器对应的上行物理交换机下发该虚拟机的VLAN配置信息。
[0060] 具体地,当某台物理服务器运行过程中资源(包括CPU、内存、磁盘和网络吞吐等)出现瓶颈或者出现故障时,需要将这台物理服务器上运行的虚拟机迁移到其它物理服务器上,从而达到负载均衡和有效利用资源的目的。当虚拟机发生迁移时,所述装置可检测到该迁移事件,继而根据该迁移事件直接获取迁移的虚拟机的ID及迁入的物理服务器的ID信息。所述装置根据该虚拟机的ID获得该虚拟机对应的VLAN配置信息,根据迁入的物理服务器的ID信息查找存储的网络设备拓扑关系得到该迁入物理服务器的上行物理交换机对应的端口。而后将该虚拟机的VLAN配置信息通过下发模块下发给迁入的物理服务器对应的上行物理交换机对应的端口上。
[0061] 需要说明的是,为了实现本发明,较佳的实施方式是所述下发模块向迁入物理服务器的上行物理交换机对应的端口下发该迁移虚拟机的VLAN配置信息要先于虚拟机的迁移完成。这样,在虚拟机迁移完成后,迁入的物理服务器向其网关物理交换机发送RARP(Reverse Address Resolution Protocol,反向地址转换协议)报文,其中携带虚拟机VM1的IP地址和MAC地址等信息,使得本地边缘交换机、网关交换机及其之间的所有物理交换机的ARP表得以更新,进而使得该迁入的物理服务器的所有上行物理交换机均获取到该虚拟机VM1的最新配置。
[0062] 如果在虚拟机迁移完成后,所述下发模块才完成向迁入物理服务器的上行物理交换机对应端口下发迁移的虚拟机的VLAN配置信息,此时,RARP报文将无法通过迁入的边缘交换机(如图1中所示的Edge Switch 2)。作为本发明中的另外一种实现方式,所述装置可以通过网络拓扑计算出迁入的物理服务器所在的网关交换机的信息。进一步地,所述网管系统通过SNMP或命令行老化网关物理交换机上的ARP表,并通过所述网关物理交换机向迁入的物理服务器所在的边缘交换机发送探测报文,当收到边缘交换机的报文应答后,表明所述边缘交换机和网关交换机以及它们之间的所有物理交换机上的ARP表均得以更新,均获取到了迁入的虚拟机的最新位置,所述迁入的虚拟机可以访问外部网络。
[0063] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。