一种虚拟机异常的监测方法和装置与流程

文档序号:12182510阅读:224来源:国知局
一种虚拟机异常的监测方法和装置与流程

本发明实施例涉及通信领域,尤其涉及一种虚拟机异常的监测方法和装置。



背景技术:

随着云计算的兴起,云服务在企业中开始得到越来越多实际应用。云服务呈现一个栈式结构,自上而下依次为应用服务(Software as a Service,简称SaaS)、平台服务(Platform as a Service,简称PaaS)、基础设施服务(Infrastructure as a Service,简称IaaS)。OpenStack作为一种IaaS组件,为云计算基础设施服务提供解决方案,例如采用OpenStack的企业私有云操作系统,操作系统的数据可能分布在数百个相互连接的计算机、存储设备和其他物理机上,当操作系统接收到用户创建子网或虚拟机(Virtual Machine,简称VM)的指令时,OpenStack会将该指令下发至物理机,并更新相应的记录,物理机上的虚拟机管理器(hypervisor)在物理机上完成创建虚拟机的操作,并将创建结果反馈至OpenStack。但是若物理机未收到OpenStack下发的任何指令,而直接在物理机上进行的任何操作都不会反馈至OpenStack。若物理机遭受外部攻击导致虚拟机出现异常情况,例如在物理机上非法创建或删除虚拟机、篡改已有正常虚拟机的虚拟局域网(Virtual Local Area Network,简称VLAN)标签,或通过篡改物理服务器上VLAN与虚拟可扩展局域网(Virtual Extensible Local Area Network,简称VxLAN)的对应关系而将某一台或几台虚拟机移动到另外一个网络等,而OpenStack无法感知到虚拟机出现的异常,从而造成安全隐患,例如数据丢失、占用运算资源等。通常采用分析日志文件的方式进行异常实体的检测,由于外部攻击物理机而导致的虚拟机的异常,并不会反馈至OpenStack,所以在OpenStack上的日志文件并没有记录,所以并不能准确检测到是否存在异常虚拟机。

在计算机网络中,每一个子网可以划分为多个不同的VLAN,一个VLAN就是一个广播域,不同的广播域是相互隔离的。现有技术中,采用PING整个子网的方式检测网络中的异常实体,如图1所示,在一个IP为192.168.1.0/24的子网100中有一台物理机101,物理机101上创建虚拟机104、虚拟机105、虚拟机106和虚拟机107等,将虚拟机104和虚拟机105放入至虚拟局域网一102中,将虚拟机106和虚拟机107放入至虚拟局域网二103中。在子网100中至少有一个交换机,用于执行PING命令,如果交换机在虚拟局域网102中,向虚拟机104和虚拟机105发送ARP请求,获取虚拟机104和虚拟机105的MAC地址;由于虚拟局域网一102和虚拟局域网二103是相互隔离的,处于虚拟局域网二103中的虚拟机106和虚拟机107收不到ARP请求,所以如果在虚拟局域网二103出现了异常虚拟机,OpenStack是检测不出来的。可见,现有技术中的方法无法准确的识别出异常虚拟机。



技术实现要素:

本发明实施例提供一种虚拟机异常的监测方法和装置,用以准确的识别出异常虚拟机。

本发明实施例提供了一种虚拟机异常的监测方法,适用于包括至少一个物理服务器的网络系统,每个物理服务器上包括至少一个虚拟机,针对每个物理服务器,该方法包括:

从物理服务器上获取第一映射关系;其中,第一映射关系中包括物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;从云计算管理平台上获取第二映射关系;其中,第二映射关系包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与物理服务器的标识之间的映射关系;在确定第一映射关系与第二映射关系不同时,确定虚拟机存在异常。

可选地,第一映射关系还包括物理服务器上已建立的虚拟机的标识与虚拟机所属的虚拟局域网的标识之间的映射关系;第二映射关系中还包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与虚拟机所属的虚拟局域网的标识之间的映射关系;

从物理服务器上获取第一映射关系,包括:采集物理服务器的端口标识;根据确定出的物理服务器的端口标识所对应的虚拟局域网的标识,确定出物理服务器包括的虚拟局域网的标识;获取物理服务器中的虚拟机管理器数据表;其中,虚拟机管理器数据表中包括网络系统中已建立的虚拟机的标识与虚拟机所属的虚拟局域网的标识之间的映射关系;根据物理服务器包括的虚拟局域网的标识,从虚拟机管理器数据表中确定出物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,得到物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;根据物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系,以及物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,得到第一映射关系。

可选地,第一映射关系还包括物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系;第二映射关系中还包括物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系;

根据物理服务器上已建立的虚拟机的标识与物理服务器之间的映射关系,以及物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,得到所第一映射关系,包括:获取物理服务器中的虚拟交换机的流规则配置表;其中,开源虚拟交换机的流规则配置表中包括物理服务器中包括的虚拟局域网的标识与虚拟可扩展局域网的标识的映射关系;根据确定出的物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,以及虚拟交换机的流规则配置表,确定出物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系;根据物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系、物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,以及物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系,得到所第一映射关系。

可选地,确定第一映射关系与第二映射关系不同,包括:在确定至少存在一个虚拟机的标识满足以下预设条件中的任一个或任多个时,确定第一映射关系与第二映射关系不同;其中,预设条件包括:该虚拟机的标识仅存在于第一映射关系中,或者仅存在于第二映射关系中;该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的虚拟局域网的标识与在第二映射关系中对应的虚拟局域网的标识不同;该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的虚拟可扩展局域网的标识与在第二映射关系中对应的虚拟可扩展局域网的标识不相同;该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的物理服务器的标识与在第二映射关系中对应的物理服务器的标识不同。

可选地,从物理服务器上获取第一映射关系之前,还包括:对网络系统中物理服务器上的虚拟机进行监控,并确定物理服务器上的虚拟机发生变化;其中,虚拟机发生变化包括以下内容中的任一项或任多项:虚拟机的创建、删除、虚拟机对应的虚拟局域网的标识的变更、虚拟机对应的虚拟可扩展局域网的标识的变更、虚拟机对应的物理服务器的标识的变更。

本发明实施例提供了一种用于监测虚拟机异常的装置,适用于包括至少一个物理服务器的网络系统,每个物理服务器上包括至少一个虚拟机;该装置包括:获取单元和处理单元;其中:

获取单元,用于从物理服务器上获取第一映射关系;其中,第一映射关系中包括物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;从云计算管理平台上获取第二映射关系;其中,第二映射关系包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与物理服务器的标识之间的映射关系;

处理单元,用于在确定第一映射关系与第二映射关系不同时,确定虚拟机存在异常。

可选地,第一映射关系还包括物理服务器上已建立的虚拟机的标识与虚拟机所属的虚拟局域网的标识之间的映射关系;第二映射关系中还包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与虚拟机所属的虚拟局域网的标识之间的映射关系。

获取单元,用于:采集物理服务器的端口标识;获取物理服务器中的虚拟机管理器数据表;其中,虚拟机管理器数据表中包括网络系统中已建立的虚拟机的标识与虚拟机所属的虚拟局域网的标识之间的映射关系。

处理单元,用于:根据确定出的物理服务器的端口标识所对应的虚拟局域网的标识,确定出物理服务器包括的虚拟局域网的标识;根据物理服务器包括的虚拟局域网的标识,从虚拟机管理器数据表中确定出物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,得到物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;根据物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系,以及物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,得到第一映射关系。

可选地,第一映射关系还包括物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系;第二映射关系中还包括物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系;获取单元,用于:获取物理服务器中的虚拟交换机的流规则配置表;其中,开源虚拟交换机的流规则配置表中包括物理服务器中包括的虚拟局域网的标识与虚拟可扩展局域网的标识的映射关系。

处理单元,用于:根据确定出的物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,以及虚拟交换机的流规则配置表,确定出物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系;根据物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系、物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,以及物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系,得到所第一映射关系。

可选地,处理单元,用于:在确定至少存在一个虚拟机的标识满足以下预设条件中的任一个或任多个时,确定第一映射关系与第二映射关系不同;其中,预设条件包括:该虚拟机的标识仅存在于第一映射关系中,或者仅存在于第二映射关系中;该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的虚拟局域网的标识与在第二映射关系中对应的虚拟局域网的标识不同;该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的虚拟可扩展局域网的标识与在第二映射关系中对应的虚拟可扩展局域网的标识不相同;该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的物理服务器的标识与在第二映射关系中对应的物理服务器的标识不同。

可选地,装置还包括监控单元;

监控单元,用于:对网络系统中物理服务器上的虚拟机进行监控,并通过处理单元确定物理服务器上的虚拟机发生变化;其中,虚拟机发生变化包括以下内容中的任一项或任多项:虚拟机的创建、删除、虚拟机对应的虚拟局域网的标识的变更、虚拟机对应的虚拟可扩展局域网的标识的变更、虚拟机对应的物理服务器的标识的变更。

本发明实施例中提供一种虚拟机异常的监测方法,适用于包括至少一个物理服务器的网络系统,每个物理服务器上包括至少一个虚拟机,针对每个物理服务器,该方法包括:从物理服务器上获取第一映射关系;其中,第一映射关系中包括物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;从云计算管理平台上获取第二映射关系;其中,第二映射关系包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与物理服务器的标识之间的映射关系;在确定第一映射关系与第二映射关系不同时,确定虚拟机存在异常。由于从物理服务器上获取的第一映射关系和从云计算管理平台上获取的第二映射关系进行比较,若比较结果为不相同,则确定虚拟机存在异常,相比较于现有技术中只根据云计算管理平台上记录的虚拟机的状态检测虚拟机异常的方式,本方案的方法能够准确的检测出物理服务器上的异常虚拟机。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。

图1为现有技术中网络结构示意图;

图2为本发明实施例提供的一种虚拟机异常的监测系统架构示意图;

图3为本发明实施例提供的一种虚拟机异常的监测方法流程示意图;

图3a为本发明实施例提供的在另一种虚拟机异常的监测方法流程示意图;

图4为本发明实施例提供的一种用于监测虚拟机异常的装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图2示例性示出了本发明实施例适用的一种虚拟机异常的监测系统架构示意图,包括至少一个物理服务器的网络系统,每个物理服务器上包括至少一个虚拟机,每个虚拟机和物理服务器上的端口连接,如图2所示,该系统架构2000包括物理服务器一2100、虚拟局域网2140、虚拟局域网2150、物理服务器二2200、虚拟局域网2240、虚拟局域网2250、虚拟可扩展局域网2300、用于虚拟机异常的监测的装置2400;可选地,用于虚拟机异常的监测的装置2400可连接每个物理服务器。

物理服务器一2100上包括端口2110、端口2120和hypervisor2130;物理服务器一2100上的端口2110连接虚拟机2111、虚拟机2112、虚拟机2113,端口2120连接虚拟机2121、虚拟机2122;端口2110处于虚拟局域网2140中,端口2120处于虚拟局域网2150中;hypervisor2130用于执行在物理服务器一2100上创建虚拟机的操作。

物理服务器二2200上包括端口2210、端口2220和hypervisor2230;物理服务器二2200上的端口2210连接虚拟机2211,端口2220连接虚拟机2221、虚拟机2222;端口2210处于虚拟局域网2240中,端口2220处于虚拟局域网2250中;hypervisor2230用于执行在物理服务器二2200上创建虚拟机的操作。

物理服务器一2100上的端口2120和物理服务器二2200上包括端口2210处于虚拟可扩展局域网2300。

图3示例性示出了本发明实施例提供的一种虚拟机异常的监测方法流程示意图。

基于图2所示的系统架构,如图3所示,本发明实施例提供的一种虚拟机异常的监测方法,适用于包括至少一个物理服务器的网络系统,每个物理服务器上包括至少一个虚拟机,针对每个物理服务器,方法包括以下步骤:

步骤S3001:用于监测虚拟机异常的装置从物理服务器上获取第一映射关系;其中,第一映射关系中包括物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;

步骤S3002:用于监测虚拟机异常的装置从云计算管理平台上获取第二映射关系;其中,第二映射关系包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与物理服务器的标识之间的映射关系;

步骤S3003:用于监测虚拟机异常的装置在确定第一映射关系与第二映射关系不同时,确定虚拟机存在异常。

本发明实施例中,由于从物理服务器上获取的第一映射关系,包括物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;从云计算管理平台上获取的第二映射关系,包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与物理服务器的标识之间的映射关系;将第一映射关系和第二映射关系进行比较,若比较结果为不相同,则确定虚拟机存在异常,相比较于现有技术中只根据云计算管理平台上记录的虚拟机的状态检测虚拟机异常的方式,本方案的方法能够准确的检测出物理服务器上的异常虚拟机。

可选地,云计算管理平台的管理系统可以有多种,本发明实施例提供一种可选的管理系统OpenStack;云计算管理平台通过管理系统向物理服务器下发创建虚拟机的指令时,会在管理系统中更新相应的记录,物理服务器接收到创建虚拟机的指令,会通过物理服务器上的hypervisor在物理服务器上完成创建虚拟机的操作,hypervisor将创建结果反馈至管理系统,管理系统中记录了管理系统向物理服务器下发创建虚拟机的指令所对应的虚拟机的标识与物理服务器的标识之间的映射关系。但是,OpenStack仅作了由上而下的下发指令、以及由下而上的反馈指令执行结果的过程,而物理服务器上未接收到OpenStack下发的指令而进行的任何操作都不会反馈至OpenStack。在OpenStack环境下,增删虚拟机或子网等行为,最后都是通过接口调用相关组件在物理层面进行具体操作来完成的,这些操作并没有对应的日志记录,因此传统的依靠日志分析的方法在OpenStack环境下会存在较大疏漏。

可选地,物理服务器上已建立的虚拟机的标识,包括:管理系统向物理服务器下发创建虚拟机的指令所对应的虚拟机的标识、物理服务器自行创建的虚拟机的标识、物理服务器遭受外部攻击创建的虚拟机的标识等。

例如,云计算管理平台通过管理系统向物理服务器一下发创建虚拟机的指令,通过hypervisor在物理服务器上创建了三台虚拟机,分别为虚拟机一、虚拟机二、虚拟机三,其标识分别为:VM1、VM2、VM3,云计算管理平台记录的虚拟机的标识为VM1、VM2、VM3;物理服务器一的标识为PC1;若物理服务器遭受外部攻击,通过hypervisor在物理机上又创建了两台虚拟机,分别为虚拟机四、虚拟机五,其标识分别为VM4、VM5;物理服务器遭受外部攻击创建的两台虚拟机,并未将虚拟机四、虚拟机五反馈至云计算管理平台,因此在云计算管理平台上并未记录。从物理服务器上获取的第一映射关系包括VM1、VM2、VM3、VM4、VM5与PC1的映射关系;从云计算管理平台上获取的第二映射关系包括VM1、VM2、VM3与PC1的映射关系;第一映射关系与第二映射关系不同,因此,可以确定虚拟机异常。如此,本发明实施例提供的方法可以根据物理服务器上已建立的虚拟机的标识和管理系统向物理服务器下发创建虚拟机的指令所对应的虚拟机的标识,检测出物理服务器上自行创建的虚拟机的标识和物理服务器遭受外部攻击创建的虚拟机的标识,从而检测出在物理服务器上是否有增删虚拟机的情况。

可选地,第一映射关系还包括物理服务器上已建立的虚拟机的标识与虚拟机所属的VLAN的标识之间的映射关系;第二映射关系中还包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与虚拟机所属的VLAN的标识之间的映射关系;从物理服务器上获取第一映射关系,包括:采集物理服务器的端口标识;根据确定出的物理服务器的端口标识所对应的VLAN的标识,确定出物理服务器包括的VLAN的标识;获取物理服务器中的hypervisor数据表;其中,hypervisor数据表中包括网络系统中已建立的虚拟机的标识与虚拟机所属的VLAN的标识之间的映射关系;根据物理服务器包括的VLAN的标识,从hypervisor数据表中确定出物理服务器中包括的VLAN的标识对应的已建立的虚拟机的标识,得到物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;根据物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系,以及物理服务器中包括的VLAN的标识对应的已建立的虚拟机的标识,得到所第一映射关系。

例如物理服务器一上有两个端口,分别为端口一和端口二,端口一上连接虚拟机一、虚拟机二、虚拟机三,端口二连接虚拟机四、虚拟机五,端口一处于中,端口二处于虚拟局域网二。采集到端口一的标识和端口二的标识分别为Port1和Port2;根据Port1、Port2、Port1对应的虚拟局域网一的标识VLAN1、Port2对应的虚拟局域网二的标识VLAN2,确定出物理服务器一包括的VLAN的标识为VLAN1和VLAN2。

可选的,虚拟机管理器数据表为虚拟机管理器在物理服务器上创建虚拟机的相应记录,虚拟机管理器数据表包括虚拟局域网的标识和虚拟机的标识VM1、VM2、VM3、VM4、VM5之间的映射关系,其中,VLAN1对应VM1、VM2、VM3,VLAN2对应VM4、VM5;物理服务器一的标识为PC1;根据上述关系,可获得第一映射关系:PC1对应VLAN1和VLAN2,VLAN1对应于VM1、VM2、VM3,VLAN2对应VM4、VM5。

可选地,一个物理服务器为一个计算节点,本发明实施例中通过从计算节点上的采集端口信息,然后通过虚拟机管理器数据表进行映射查询,获得单个计算节点上的虚拟局域网与虚拟机的标识的对应关系,得到第一映射关系。若出现篡改已有正常虚拟机所属的虚拟局域网的情况,现有技术并不能检测出这种情况下虚拟机的异常。本发明实施例通过第一映射关系与第二映射关系之间的比较结果,检测出是否出现虚拟机所属的虚拟局域网是否被篡改,若比较结果不相同,则确定出单个计算节点上的虚拟机存在异常。

可选地,第一映射关系还包括物理服务器上已建立的虚拟机的标识与VxLAN的标识之间的映射关系;第二映射关系中还包括物理服务器上已建立的虚拟机的标识与VxLAN的标识之间的映射关系;根据物理服务器上已建立的虚拟机的标识与物理服务器之间的映射关系,以及物理服务器中包括的VLAN的标识对应的已建立的虚拟机的标识,得到所第一映射关系,包括:获取物理服务器中的虚拟交换机的流规则配置表;其中虚拟交换机的流规则配置表中包括物理服务器中包括的VLAN的标识与VxLAN的标识的映射关系;根据确定出的物理服务器中包括的VLAN的标识对应的已建立的虚拟机的标识,以及虚拟交换机的流规则配置表,确定出物理服务器上已建立的虚拟机的标识与VxLAN的标识之间的映射关系;根据物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系、物理服务器中包括的VLAN的标识对应的已建立的虚拟机的标识,以及物理服务器上已建立的虚拟机的标识与VxLAN的标识之间的映射关系,得到所第一映射关系。

可选地,每个物理服务器至少包括一个虚拟交换机,比如虚拟交换机为Open VSwitch,虚拟交换机上记录的流规则配置表包括该物理服务器中包括的虚拟局域网的标识与虚拟可扩展局域网的标识的映射关系。例如有两个物理服务器,分别为物理服务器一、物理服务器二;物理服务器一上有两个端口,分别为端口一和端口二;端口一上连接虚拟机一、虚拟机二、虚拟机三,处于虚拟局域网一中;端口二连接虚拟机四、虚拟机五,端口二处于虚拟局域网二中;物理服务器二上有两个端口,分别为端口三和端口四;端口三连接虚拟机六、虚拟机七,端口三处于虚拟局域网三中;端口四连接虚拟机八,端口四处于虚拟局域网四中;物理服务器一的端口一和物理服务器二的端口三处于虚拟可扩展局域网一中;物理服务器一的端口二和物理服务器二的端口四处于虚拟可扩展局域网二中。

物理服务器一上的虚拟交换机的流规则配置表包括虚拟局域网一的标识VLAN1和虚拟可扩展局域网一的标识VxLAN1的映射关系、以及虚拟局域网二的标识VLAN2和虚拟可扩展局域网二的标识VxLAN2的映射关系;物理服务器二上的虚拟交换机的流规则配置表包括虚拟局域网三的标识VLAN3和虚拟可扩展局域网一的标识VxLAN1的映射关系、以及虚拟局域网四的标识VLAN4和虚拟可扩展局域网二的标识VxLAN2的映射关系。

物理服务器一的标识为PC1,物理服务器一的标识PC1与物理服务器一上已建立的虚拟机一的标识VM1、虚拟机二的标识VM2、虚拟机三的标识VM3、虚拟机四的标识VM4、虚拟机五的标识VM5之间的映射关系为:PC1对应于VM1、VM2、VM3、VM4、VM5;物理服务器一中包括的虚拟局域网一的标识VLAN1对应的虚拟机一的标识VM1、虚拟机二的标识VM2、虚拟机三的标识VM3。物理服务器一中包括的虚拟局域网二的标识VLAN2对应的虚拟机四的标识VM4、虚拟机五的标识VM5。

物理服务器二的标识为PC2,物理服务器二的标识PC2与物理服务器二上已建立的虚拟机六的标识VM6、虚拟机七的标识VM7、虚拟机八的标识VM8之间的映射关系为:PC2对应于VM6、VM7、VM8;物理服务器二中包括的虚拟局域网三的标识VLAN3对应的虚拟机六的标识VM6、虚拟机七的标识VM7。物理服务器二中包括的虚拟局域网四的标识VLAN4对应的虚拟机八的标识VM8。

根据上述关系可以得到第一映射关系为:PC1对应VLAN1和VLAN2,VLAN1对应于VM1、VM2、VM3,VLAN2对应VM4、VM5;PC2对应VLAN3和VLAN4,VLAN3对应VM6、VM7,VLAN4对应VM8;VxLAN1对应VLAN1和VLAN3,VxLAN2对应VLAN2和VLAN4。如此,根据单个物理服务器上虚拟局域网的标识和虚拟可扩展局域网的标识之间的映射关系,可获得网络系统中所有的物理服务器上虚拟局域网的标识和虚拟可扩展局域网之间的映射关系。若出现篡改物理服务器上虚拟局域网的标识和虚拟可扩展局域网之间的对应关系的情况,现有技术并不能检测出这种情况下虚拟机的异常;本发明实施例通过网络系统中所有的物理服务器上已建立的虚拟机的标识、物理服务器中包括的虚拟局域网的标识和虚拟可扩展局域网的标识之间的映射关系,检测出虚拟机的异常。

可选地,确定第一映射关系与第二映射关系不同,包括:在确定至少存在一个虚拟机的标识满足以下预设条件中的任一个或任多个时,确定第一映射关系与第二映射关系不同。其中,预设条件包括以下四个条件:

条件一:该虚拟机的标识仅存在于第一映射关系中,或者仅存在于第二映射关系中。例如,物理服务器一中创建了虚拟机一、虚拟机二、虚拟机三,虚拟机一的标识、虚拟机二的标识、虚拟机三的标识分别为VM1、VM2、VM3;第一映射关系中包括的虚拟机的标识为VM1、VM2、VM3,而第二映射关系中包括的虚拟机的标识为VM1、VM2,其中VM3仅存在于第一映射关系,因此物理服务器一中非法创建了虚拟机三,则确定虚拟机异常。

条件二:该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的VLAN的标识与在第二映射关系中对应的VLAN的标识不同。例如,物理服务器一中创建了虚拟机一、虚拟机二、虚拟机三,虚拟机一、虚拟机二、虚拟机三的标识分别为VM1、VM2、VM3;虚拟机一、虚拟机二处于虚拟局域网一中,虚拟机三处于虚拟局域网二中;第一映射关系中包括的虚拟机一的标识VM1和虚拟机二的标识VM2对应虚拟局域网一的标识VLAN1,虚拟机三的标识VM3对应虚拟局域网二的标识VLAN2;而第二映射关系中包括的虚拟机一的标识VM1对应虚拟局域网一的标识VLAN1,虚拟机二的标识VM2和虚拟机三的标识VM3对应虚拟局域网二的标识VLAN2;因此物理服务器一上的虚拟机二的标识VM2对应的虚拟局域网的标识VLAN1和在云计算管理平台中记录的虚拟机二的标识VM2对应的虚拟局域网的标识VLAN2不同,则确定虚拟机二异常。

条件三:该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的VxLAN的标识与在第二映射关系中对应的VxLAN的标识不相同。例如,物理服务器一中创建了虚拟机一、虚拟机二、虚拟机三,虚拟机一、虚拟机二、虚拟机三的标识分别为VM1、VM2、VM3;虚拟机一、虚拟机二处于虚拟可扩展局域网一中,虚拟机三处于虚拟可扩展局域网二中;第一映射关系中包括的虚拟机一的标识VM1和虚拟机二的标识VM2对应虚拟可扩展局域网一VxLAN1,虚拟机三的标识VM3对应虚拟可扩展局域网二VxLAN2;而第二映射关系中包括的虚拟机一的标识VM1对应虚拟可扩展局域网一VxLAN1,虚拟机二的标识VM2和虚拟机三的标识VM3对应虚拟可扩展局域网二VxLAN2;因此物理服务器一上的虚拟机二的标识VM2对应的虚拟可扩展局域网的标识VxLAN1和在云计算管理平台中记录的虚拟机二的标识VM2对应的虚拟可扩展局域网的标识VxLAN2不同,则确定虚拟机二异常。

条件四:该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的物理服务器的标识与在第二映射关系中对应的物理服务器的标识不同。例如,网络系统中有两个物理服务器,分别为物理服务器一和物理服务器二,物理服务器一中创建了虚拟机一、虚拟机二,虚拟机一的标识、虚拟机二的标识分别为VM1、VM2;物理服务器二中创建了虚拟机三,虚拟机三的标识VM3;第一映射关系中的虚拟机一的标识VM1和虚拟机二的标识VM2对应物理服务器一的标识PC1,虚拟机三的标识VM3对应物理服务器二的标识PC2;而第二映射关系中的虚拟机一的标识VM1对应物理服务器一的标识PC1,虚拟机二的标识VM2和虚拟机三的标识VM3对应物理服务器二的标识PC2;因此虚拟机二的标识在第一映射关系和第二映射关系对应的物理服务器的标识不同,确定虚拟机二异常。

根据上述四个预设条件,判断第一映射关系与第二映射关系是否相同,如此,可全面的检测出云平台可能出现的虚拟机异常的情况。

可选地,从物理服务器上获取第一映射关系之前,还包括:对网络系统中物理服务器上的虚拟机进行监控,并确定物理服务器上的虚拟机发生变化;其中,虚拟机发生变化包括以下内容中的任一项或任多项:虚拟机的创建、删除、虚拟机对应的VLAN的标识的变更、虚拟机对应的VxLAN的标识的变更、虚拟机对应的物理服务器的标识的变更。

本发明实施例中,采用事件触发机制对网络系统中物理服务器上的虚拟机进行监控,只有当监控到虚拟机发生变化才会开始后续操作,比如采集物理服务器的端口标识和获取物理服务器中的虚拟交换机的流规则配置表等。如此,用于虚拟机异常的监测的装置不用每次都都全网收集所有的信息,仅在虚拟机发生变化时才收集变化的信息,从而避免了计算开销和网络开销。同时,用于虚拟机异常的监测的装置通过从原有的OpenStack体系外读取一些数据,不介入OpenStack管理体系之中,因此是一种非入侵的方法,不会对原有的云管理系统以及流程产生影响。

为了更清楚的介绍上述方法流程,本发明实施例提供以下示例。

图3a示例性示出了本发明实施例提供的另一种虚拟机异常的监测方法流程示意图,基于图2所示的系统架构,如图3a所示,该方法包括以下步骤:

步骤S3101:用于监测虚拟机异常的装置对网络系统中物理服务器上的虚拟机进行监控;

步骤S3102:用于监测虚拟机异常的装置确定物理服务器上的虚拟机是否发生变化;若是,则执行步骤S3103;若否,则执行步骤S3114;

步骤S3103:用于监测虚拟机异常的装置采集物理服务器的端口标识;

步骤S3104:用于监测虚拟机异常的装置根据确定出的物理服务器的端口标识所对应的虚拟局域网的标识,确定出物理服务器包括的虚拟局域网的标识;

步骤S3105:用于监测虚拟机异常的装置获取物理服务器中的虚拟机管理器数据表;

步骤S3106:用于监测虚拟机异常的装置根据物理服务器包括的虚拟局域网的标识,从虚拟机管理器数据表中确定出物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,得到物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;

步骤S3107:用于监测虚拟机异常的装置获取物理服务器中的开源虚拟交换机的流规则配置表;

步骤S3108:用于监测虚拟机异常的装置根据确定出的物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,以及开源虚拟交换机的流规则配置表,确定出物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系;

步骤S3109:用于监测虚拟机异常的装置根据物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系、物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,以及物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系,得到第一映射关系。

步骤S3110:用于监测虚拟机异常的装置从云计算管理平台上获取第二映射关系;其中,第二映射关系包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与物理服务器的标识之间的映射关系;

步骤S3111:用于监测虚拟机异常的装置确定是否至少存在一个虚拟机的标识满足预设条件中的任一个或任多个;若是,则执行步骤S3112;若否,则执行步骤S3114;

上述预设条件包括:该虚拟机的标识仅存在于第一映射关系中,或者仅存在于第二映射关系中;

该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的虚拟局域网的标识与在第二映射关系中对应的虚拟局域网的标识不同;

该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的虚拟可扩展局域网的标识与在第二映射关系中对应的虚拟可扩展局域网的标识不相同;

该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的物理服务器的标识与在第二映射关系中对应的物理服务器的标识不同。

步骤S3112:用于监测虚拟机异常的装置确定第一映射关系与第二映射关系不同;

步骤S3113:用于监测虚拟机异常的装置确定虚拟机存在异常。

步骤S3114:用于监测虚拟机异常的装置确定虚拟机不存在异常。

从上述内容可以看出:本发明实施例中提供了一种虚拟机异常的监测的方法,本发明实施例中提供一种虚拟机异常的监测方法,适用于包括至少一个物理服务器的网络系统,每个物理服务器上包括至少一个虚拟机,针对每个物理服务器,该方法包括:从物理服务器上获取第一映射关系;其中,第一映射关系中包括物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;从云计算管理平台上获取第二映射关系;其中,第二映射关系包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与物理服务器的标识之间的映射关系;在确定第一映射关系与第二映射关系不同时,确定虚拟机存在异常。由于从物理服务器上获取的第一映射关系,包括物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;从云计算管理平台上获取的第二映射关系,包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与物理服务器的标识之间的映射关系;将第一映射关系和第二映射关系进行比较,若比较结果为不相同,则确定虚拟机存在异常,相比较于现有技术中只根据云计算管理平台上记录的虚拟机的状态检测虚拟机异常的方式,本方案的方法能够准确的检测出物理服务器上的异常虚拟机。

图4示例性示出了本发明实施例提供的一种用于监测虚拟机异常的装置的结构示意图。

基于相同构思,本发明实施例提供的一种用于监测虚拟机异常的装置,用于执行上述方法流程,适用于包括至少一个物理服务器的网络系统,每个物理服务器上包括至少一个虚拟机;如图4所示,该装置400包括获取单元401、处理单元402和监控单元403;其中:

获取单元401,用于从物理服务器上获取第一映射关系;其中,第一映射关系中包括物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;从云计算管理平台上获取第二映射关系;其中,第二映射关系包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与物理服务器的标识之间的映射关系;

处理单元402,用于在确定第一映射关系与第二映射关系不同时,确定虚拟机存在异常。

可选地,第一映射关系还包括物理服务器上已建立的虚拟机的标识与虚拟机所属的虚拟局域网的标识之间的映射关系;第二映射关系中还包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与虚拟机所属的虚拟局域网的标识之间的映射关系;

获取单元401,用于:采集物理服务器的端口标识;获取物理服务器中的虚拟机管理器数据表;其中,虚拟机管理器数据表中包括网络系统中已建立的虚拟机的标识与虚拟机所属的虚拟局域网的标识之间的映射关系;

处理单元402,用于:根据确定出的物理服务器的端口标识所对应的虚拟局域网的标识,确定出物理服务器包括的虚拟局域网的标识;根据物理服务器包括的虚拟局域网的标识,从虚拟机管理器数据表中确定出物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,得到物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;根据物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系,以及物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,得到第一映射关系。

可选地,第一映射关系还包括物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系;第二映射关系中还包括物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系;

获取单元401,用于:获取物理服务器中的虚拟交换机的流规则配置表;其中,开源虚拟交换机的流规则配置表中包括物理服务器中包括的虚拟局域网的标识与虚拟可扩展局域网的标识的映射关系;

处理单元402,用于:根据确定出的物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,以及虚拟交换机的流规则配置表,确定出物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系;根据物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系、物理服务器中包括的虚拟局域网的标识对应的已建立的虚拟机的标识,以及物理服务器上已建立的虚拟机的标识与虚拟可扩展局域网的标识之间的映射关系,得到所第一映射关系。

可选地,处理单元402,用于:在确定至少存在一个虚拟机的标识满足以下预设条件中的任一个或任多个时,确定第一映射关系与第二映射关系不同;其中,预设条件包括:该虚拟机的标识仅存在于第一映射关系中,或者仅存在于第二映射关系中;该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的虚拟局域网的标识与在第二映射关系中对应的虚拟局域网的标识不同;该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的虚拟可扩展局域网的标识与在第二映射关系中对应的虚拟可扩展局域网的标识不相同;该虚拟机的标识存在于第一映射关系和第二映射关系中,该虚拟机的标识在第一映射关系中对应的物理服务器的标识与在第二映射关系中对应的物理服务器的标识不同。

可选地,监控单元403,用于:对网络系统中物理服务器上的虚拟机进行监控,并通过处理单元402确定物理服务器上的虚拟机发生变化;其中,虚拟机发生变化包括以下内容中的任一项或任多项:虚拟机的创建、删除、虚拟机对应的虚拟局域网的标识的变更、虚拟机对应的虚拟可扩展局域网的标识的变更、虚拟机对应的物理服务器的标识的变更。

上述内容可以看出:由于从物理服务器上获取的第一映射关系,包括物理服务器上已建立的虚拟机的标识与物理服务器的标识之间的映射关系;从云计算管理平台上获取的第二映射关系,包括云计算管理平台向物理服务器下发的创建虚拟机的指令所对应的虚拟机的标识与物理服务器的标识之间的映射关系;将第一映射关系和第二映射关系进行比较,若比较结果为不相同,则确定虚拟机存在异常,相比较于现有技术中只根据云计算管理平台上记录的虚拟机的状态检测虚拟机异常的方式,本方案的方法能够准确的检测出物理服务器上的异常虚拟机。

本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1