CN105339925A - 利用无代理、准实时索引的虚拟系统的被动监控 - Google Patents

利用无代理、准实时索引的虚拟系统的被动监控 Download PDF

Info

Publication number
CN105339925A
CN105339925A CN201480034655.9A CN201480034655A CN105339925A CN 105339925 A CN105339925 A CN 105339925A CN 201480034655 A CN201480034655 A CN 201480034655A CN 105339925 A CN105339925 A CN 105339925A
Authority
CN
China
Prior art keywords
virtual server
read
disk
reptile
target
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
CN201480034655.9A
Other languages
English (en)
Other versions
CN105339925B (zh
Inventor
V·巴拉
C·伊什奇
J·A·林德曼
T·W·穆默特
D·C·赖默
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN105339925A publication Critical patent/CN105339925A/zh
Application granted granted Critical
Publication of CN105339925B publication Critical patent/CN105339925B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

本发明的方面提供了用于被动监控计算机系统的解决方案。在一个实施例中,基于虚拟服务器使用的虚拟服务器磁盘的配置创建只读目标来访问与只读目标相关联的储存器。这个只读目标可以被用来暴露所述虚拟服务器磁盘用于被监控爬虫访问。利用只读目标,监控爬虫可以从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征集合。所述特征集合的一个或多个特征可以被分析来执行所述虚拟服务器的被动监控。

Description

利用无代理、准实时索引的虚拟系统的被动监控
技术领域
本发明的主题一般地涉及计算机系统管理。更具体地,本发明的方面提供了在复杂虚拟环境中改善被动监控的解决方案。
背景技术
在今天的电子环境中,计算机系统经历着不断的变化。为了跟上这些变化,这些系统的用户能够监控这些系统是重要的。监控可以被划分为几种不同的类型,包括主动监控和被动监控。被动监控包括不修改计算机系统的任何观察。就此而言,被动监控可以包括扫描文件系统以执行合规性检查,扫描目录以确定当前哪些应用被安装在系统上,安全性扫描,文件系统检查,许可使用监控等等。相反地,例如补丁、应用安全性更新等涉及计算机系统的修改的行为被称之为主动监控。
在一个标准的计算机系统中,被动监控通常包括在系统的后台中运行一个或多个程序(例如代理)来执行主动监控功能。这些程序能够提供的功能包括但不限于:系统监控、合规性检查、安全性、恶意软件检测、软件发现、漂移检测、备份和/或等类似的。这个系统内方法的解决方案在计算机系统(例如虚拟服务器类型计算机系统)中变得很少应用,其中大量的实例在相同物理机器上执行。通过允许实时系统状态与物理硬件解耦这种系统允许更高效地使用基础物理资源和更简化运行系统的管理。进一步,在创建、部署和回收虚拟服务器方面更容易会使更多数目的虚拟服务器在相同物理机器上同时和/或连续地运行。
发明内容
一般地,本发明的方面提供了用于被动监控虚拟服务器的解决方案。在一个实施例中,基于由虚拟服务器使用的虚拟服务器磁盘的配置创建只读目标以访问与所述只读目标关联的存储器。这个只读目标能够被用于暴露所述虚拟服务器磁盘被监控爬虫(monitoringcrawler)访问。使用只读目标,监控爬虫能够从所述虚拟服务器磁盘中获得关于所述虚拟服务器的特征集合。这个特征集合的一个或多个特征能够被分析来执行所述虚拟服务器的被动监控。
本发明的第一方面提供一种用于被动监控虚拟服务器的方法,包括:基于与所述虚拟服务器关联的虚拟机磁盘的配置创建只读磁盘目标;暴露(exposing)所述虚拟服务器磁盘使其被监控爬虫访问;通过所述监控爬虫,经由所述只读目标从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征的集合;以及分析所述特征集合中的至少一个来执行所述虚拟服务器的被动监控。
本发明的第二方面提供一种用于被动监控虚拟服务器的系统,包括执行方法的至少一个计算机设备,该方法包括:基于与所述虚拟服务器关联的虚拟机磁盘的配置创建只读磁盘目标;暴露所述虚拟服务器磁盘使其被监控爬虫访问;通过所述监控爬虫,经由所述只读目标从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征的集合;以及分析所述特征集合中的至少一个来执行所述虚拟服务器的被动监控。
本发明的第三方面提供一种包含在计算机可读媒介中的计算机程序产品,用于实现被动监控虚拟服务器的系统的方法,该方法包括:基于与所述虚拟服务器关联的虚拟机磁盘的配置创建只读磁盘目标;暴露所述虚拟服务器磁盘使其被监控爬虫访问;通过所述监控爬虫,经由所述只读目标从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征的集合;分析所述特征集合中的至少一个来执行所述虚拟服务器的被动监控。
本发明的第四方面提供一种部署用于被动监控计算机系统的方法,包括:提供计算机基础设施被操作于:基于与所述虚拟服务器关联的虚拟机磁盘的配置创建只读磁盘目标;暴露所述虚拟服务器磁盘使其被监控爬虫访问;通过所述监控爬虫,经由所述只读目标从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征的集合;分析所述特征集合中的至少一个来执行所述虚拟服务器的被动监控。
仍然,在计算机系统中由提供实现被动监控的服务提供商,本发明的任何组件能够被部署、管理、服务等。
本发明的实施例也提供了相关的系统、方法和/或程序产品。
附图说明
以下本发明各个方面的详细描述结合附图本发明的这些和其它特征将更容易被理解。
图1示出根据本发明实施例的计算机系统。
图2示出根据本发明实施例的虚拟化的数据中心环境。
图3示出根据本发明实施例的示例虚拟服务器。
图4示出根据本发明实施例的示例设备映射表。
图5示出根据本发明实施例的改进的虚拟服务器环境。
图6A-B示出根据本发明实施例的爬虫虚拟服务器的策略。
图7示出根据本发明实施例的分析环境。
图8示出根据本发明的实施例的示例流程图。
这些附图不必按照比例缩放。这些附图仅仅示意性表示,并非旨在描述本发明的具体参数。附图旨在仅仅描述本发明的一般实施例,因此不应该被视为限制本发明的范围。在附图中,相同的标记表示相同的组件。
具体实施方式
本发明的发明人已经发现主动监控虚拟服务器的目前的方式能够改善。例如,在虚拟化的数据中心环境中向每个虚拟服务器增加主动监控代理的目前的解决方案扩展了每个虚拟服务器的“脚印”。虽然对于单个虚拟服务器按照绝对价值来说这个扩展的脚印可以很小,但是它在系统(例如虚拟化的数据中心环境,其中存在非常大量的与单个物理服务器上的资源进行竞争的虚拟服务器)中能够变得很重要。此外,本发明的发明人已发现基于快照的解决方案也具有限制。例如,很多基于快照的解决方案需要拍下整个系统的镜像。在仅需要分析关于虚拟服务器的信息的很小子集的情形,这些快照将包含不必要的信息,这些信息需要时间去准备并且需要能够被更好地在别处使用的空间去存储。此外,这种基于快照的解决方案可以只捕获在单个时间点的系统的状态。这能够限制能够被完成和/或需要拍下多个快照以执行必要分析的分析量。
此外,本发明的发明人已经发现这种监控不会产生负面影响是很有价值的。也就是说,监控本身不会对所述被监控的系统的状态或操作产生任何变化。此外,发明人已发现目前脱离系统的监控解决方案可靠地访问运行系统“脏”磁盘状态是具有挑战性的。例如,当系统运行时,它们可以不断地变化,即,脏,磁盘上的它们的数据。当应用于运行中系统的活动磁盘时期望干净、静态磁盘的目前标准的磁盘访问方法经常失败。
如上面提及的,本发明的方面提供一种解决方案用于被动地监控计算机系统。在一个实施例中,基于虚拟服务器使用的虚拟服务器磁盘的配置创建只读目标来访问与虚拟服务器相关的存储器。该只读目标可以被用来暴露所述虚拟服务器磁盘被监控爬虫访问。使用只读目标,监控爬虫可以从存储块中获得关于所述虚拟服务器的特征集合。所述特征集合中的一个或多个特征可以被分析来执行虚拟服务器的被动监控。
转到附图,图1示出用于被动监控计算机系统的环境100。就此而言,环境100包括计算机系统102,计算机系统102能够执行在此描述的过程从而被动地监控计算机系统。具体地,计算机系统102被示出包括计算设备104,计算设备104包括被动监控程序140,通过执行在此描述的过程被动监控程序104可操作被动地监控计算机系统。
计算设备104被示出包括处理组件106(例如一个或多个处理器)、存储器110、存储系统118(例如存储器体系)、输入/输出(I/O)接口组件114(例如一个或多个I/O接口和/或设备)以及通信路径112。一般地,处理组件106执行程序代码,例如被动监控程序140,其至少部分被固定存储器110中。就此而言,处理组件106可以包括单个处理单元或者被分布在一个或多个位置中的一个或多个处理单元中。
存储器110也可以包括:本地存储器,其在程序代码实际执行期间被使用;大容量储存器(储存器系统118);和/或高速缓存存储器(未示出),其提供至少部分程序代码的临时储存器,从而在执行期间减少必须从大容量储存器系统118检索的次数。因此,存储器110可以包括任何已知类型的临时的或永久的数据储存媒介包括磁媒介、光媒介、随机存取存储器(RAM)、只读存储器(ROM)、数据高速缓存、数据对象等。此外,与处理组件116相同,存储器110可以位于单个物理位置,包括一个或多个类型的数据储存器或以各种形式被分布在多个物理系统。
当执行程序代码时,处理组件106能够处理数据,这能够导致从/到存储器110和/或I/O组件114传输数据的读和/或写用于进一步处理。路径112提供计算机系统102中的每个组件之间的直接或间接的通信链接。I/O组件114可以包括一个或多个I/O设备,能够使人类用户120与计算机系统102和/或一个或多个通信设备交互,以使系统用户120利用任何类型的通信链接能够与计算机系统102通信。
就此而言,被动监控程序140能够管理一组接口(例如图形用户接口、应用程序接口和/或类似的),其使人类和/或系统用户120与被动监控程序140交互。用户120可以包括利用虚拟数据中心环境200(图2)中资源的系统管理员和/或客户端。此外,被动监控程序140可以使用任何解决方案管理(例如存储、检索、创建、操作、组织、呈现等)储存器系统中的数据,包括但不限于特征152和/或获得的特征154。
在任何情况,计算机系统102可以包括能够执行程序代码(例如安装于其上的被动监控程序140)一个或多个计算设备104(例如通用目的的计算制造物)。如这里使用的,应该理解“程序代码”是指用任何语言的代码或符号的任何指令集,其使具有信息处理能力的计算设备直接地或在以下的任意组合之后执行特定的动作:(a)转换为另一种语言,代码或符号;(b)用不同的材料形式复制;和/或(c)解压缩。就此而言,被动监控程序140可以被包含作为系统软件和/或应用软件的任何组合。在任何情况,为了被动监控计算机系统,计算机系统102向计算设备104提供处理指令。
此外,被监控程序140可以使用一组模块142-148。在这种情形,模块142-148能使计算机系统102执行由被动监控程序140使用的一组任务,并且与被动监控程序140的其它部分分开开发和/或实现。如在此使用的,术语“组件”表示具有软件或没有软件的任何硬件配置,其结合使用的任何解决方案实现了描述的功能,而术语“模块”表示结合使用的任何解决方案能够使计算机系统102实现描述的动作的程序代码。当被固定在包括处理组件106的计算机系统102的存储器110时,模块是实现所述动作的的组件的实质部分。不管怎样,应该理解两个或多个组件、模块和/或系统可以共享它们各自硬件和/或软件的部分/全部。此外,应该理解在此讨论的部分功能可以不被实现或者附加的功能可以被包括作为计算机系统102的一部分。
当计算机系统102包括多个计算设备104时,每个计算设备104可以只具有部分固定于其上(例如一个或多个模块142-148)的被动监控程序140。然而,应该理解计算机系统102和被动监控程序140只是可以执行在此描述的过程的各种可能等同计算机系统的代表。就此而言,在其它实施例中,计算机系统102提供的功能和被动监控程序140可以至少部分由一个或多个计算设备实现,所述计算设备包括具有程序代码和没有程序代码的通用和/或特殊目的的任何组合。在每个实施例中,如果包括,利用标准的工程和程序技术,硬件和程序代码可以分别被创建。
不管怎样,当计算机系统102包括多个计算设备104时,所述计算设备可以通过任何类型的通信链接进行通信。此外,当执行在此描述的过程时,利用任何类型的通信链接计算机系统102可以与一个或多个其它计算机系统进行通信。不论何种情况,通信链接可以包括各种类型的有线链接和/或无线链接的任何组合;包括一个或多个网络类型的任意组合;和/或利用各种类型的传输技术和协议的任何组合。
如在此讨论的,被动监控程序140能够使计算机系统102被动地监控计算机系统。就此而言,被动监控程序140被示出包括只读设备创建模块142、虚拟磁盘暴露模块144、特征获得模块146和特征分析模块148。
现在参照图2,示出根据本发明实施例的虚拟化的数据中心环境200。如示出的,虚拟数据中心环境200具有物理服务器210,其被用来执行所有的或部分的被动监控程序140(图1)的功能。就此而言,物理服务器210可以是来自运行任何平台的任何制造商的服务器,其中所述任何平台适于运行虚拟服务器230的多个实例。如图2示出的,虚拟化的数据中心环境200也可以包含任何数目的相关物理服务器212、214、216。相关的物理服务器212、214、216通过网络220可以与物理服务器210连接用于通信的目的。利用任何通信解决方案或现在已知的或以后开发的解决方案,网络220可以允许物理服务器210与相关的物理服务器212、214、216进行通信和/或允许物理服务器212、214、216彼此通信。在一些实施例中,网络220可以工作在云计算规模上,提供例如计算、软件、数据访问以及不需要的物理位置的终端用户知识和提供服务的网络220的配置的其它服务。
在任何情形,如上所述,在物理服务器210上的虚拟服务器230的每个实例可以与其它虚拟服务器实例230同时工作,同时保持独立。这表示虚拟服务器230的每个实例与虚拟服务器230的其它实例独立工作并且与虚拟服务器230的其它实例不分享信息,即使虚拟服务器230的实例在相同物理服务器210上工作。由于虚拟服务器230的这些实例的特性,单个物理服务器210可以同时执行虚拟服务器230的大量实例。虚拟服务器230的这些实例的独立操作确保虚拟服务器230的并发实例数仅受限于物理服务器210的硬件约束。
现在转到图3,示出根据本发明实施例的虚拟服务器环境300的示例。应该理解所述虚拟服务器环境300与过程虚拟机不同。过程虚拟机是平台依赖的引擎,例如执行用高级编程语言编写的平台独立代码的Java虚拟机,例如用于执行特定任务的Java(Java和Java虚拟机时美国和/或其它地方的太阳微系统公司SunMicrosystems的商标)。相对照,本发明的虚拟服务器环境300是模拟整个计算环境的虚拟系统。就此而言,不是只执行单个任务,本发明的虚拟服务器环境300是这样的环境,即,在该环境中各种任务、功能、操作等都可以由用户120来实现(图1)。这样,虚拟服务器环境300可以被用来模拟用户120眼中的独立的计算机系统(图1)。
就此而言,虚拟服务器环境300包括在最低等级的虚拟化管理器302。具体地,虚拟化管理器(virtualizationhypervisor)302提供允许多个“客户”虚拟服务器310系统在物理服务器210(图2)上同时运行的平台。就此而言,虚拟化管理器302提供在物理服务器210(图2)的硬件级别与每个虚拟服务器310的更高级别软件功能之间抽象层。为了提供这些软件功能,每个虚拟服务器310可以包括软件堆栈(softwarestack)312,其中软件堆栈312也可以被称之为镜像(image)。软件堆栈312包含通过虚拟化管理器302模拟特定虚拟服务器210上的特定虚拟服务器310的“客户”实例所必须的一切。就此而言,软件堆栈312可以提供操作系统314、中间件316以及一个或多个应用程序318。
为了通过限制在虚拟化数据中心环境200中运行的不同种类的系统的数目来减少维护费用,标准化可以在这个级别上被使用。例如,特定的软件堆栈312可以从一个有限数目的预配置(preconfigured)的堆栈产生的。通过虚拟化数据中心环境200(图2)的供应商,这些预配置的堆栈可以优化其特定功能。这样,如果用户120(图1)想利用数据库功能,具有基于相同预配置堆栈的相同软件堆栈312的一个或多个虚拟服务器310可以专门为这个用户120产生。例如,这些软件堆栈312可以包含适于执行数据库功能的操作系统314的类型、包含数据库管理系统的中间件以及被配置运行数据库管理系统的应用318。类似地,如果用户120(图1)想利用网络服务器功能,具有基于与用于数据库管理系统的预配置的堆栈不同的预配置堆栈的相同软件堆栈312的一个或多个虚拟服务器310可以专门为这个用户120产生。例如,这些软件堆栈312可以包含适于网络服务器功能的操作系统314的类型、包含网络服务器系统的中间件316以及被配置运行网络服务器管理系统的应用318。应该理解被适于执行虚拟化数据中心环境中的各种其它功能的软件堆栈312也可以被产生。就此而言,操作系统314可以包括现在已知的或后来开发的任何操作系统。此外,中间件316和应用318可以包括可以被设想为特定虚拟服务器310提供需要的功能的任何解决方案。
然而,一旦用户120(图1)开始使用,确保利用标准化预配置堆栈创建虚拟服务器310不保证虚拟服务器310的特定实例将保留在可接受的参数中。例如,一个用户120可以对软件堆栈312做出不经意的改变而使得对应的虚拟服务器310不兼容。可选的,用户120可以对软件堆栈312做出故意的改变而不知道这个变化使软件堆栈312不兼容。此外,不兼容的变化可以被恶意地引入,例如来自已被用户120不经意地加载到虚拟服务器310的恶意软件。在任何情形,虚拟服务器310的特定实例的软件堆栈312中的这种非兼容的变化可以引起虚拟服务器310的功能效率低下或不正确。因为虚拟服务器310使用的物理空间也被其它虚拟服务器310(图2)使用,这种变化会导致虚拟化数据中心环境200系统功能立即或逐渐退化。
如前面所述,为了解决这个问题,已经提出被动监测虚拟服务器310的解决方案以检测由于这种不兼容的变化产生的虚拟服务器310的偏差。图3示出一个这种现有技术解决方案,其中被动监控代理319被安装在虚拟化的数据中心环境200中的虚拟服务器310的每个实例中。然而,本申请的发明人已发现这个方案的一些缺点。例如,如图3所示,向虚拟服务器310增加被动监测代理319利用资源,在虚拟化数据中心环境200内扩展虚拟服务器310的“足迹”。虽然对于单个虚拟服务器310按照绝对价值来说这个扩展的脚印可以很小,但是它在系统中能够变得很重要,例如虚拟化的数据中心环境200,其中存在非常大量的与物理服务器210上的资源进行竞争的虚拟服务器310,每个虚拟服务器310具有自己的被动监控代理319。此外,本发明的发明人已发现如果每个被动监控代理319需要向中心检测服务器(未示出)报告,则来自报告被动监控代理319的合并的输出(如果未过量)可以通过网络220(图2)限制通信。此外,由于恶意软件的威胁的快速演进特征,被动监控代理319需要被频繁更新。在虚拟化数据中心环境200中的虚拟服务器310中的大量被动监控代理319可以获得大量的资源用于定位、检查虚拟服务器310的状态并且更新被动监控代理319(如果需要的话)。
在任何情形,为了执行任务或被请求的任务,虚拟服务器环境300可能需要执行对储存器位置304的一个或多个写。储存器位置304可以包括被包含在虚拟服务器310中的一个或多个虚拟磁盘。在这种情形,储存器位置304通过可视化管理器302是可见的并且因此从虚拟服务器环境300的外部是可以访问的。无论何种情形,由于虚拟服务器310实质上是通过虚拟化管理器302由基础物理服务器210(图2)执行的软件,例如通过操作系统、中间件316和/或应用318对软件堆栈312的任何变化可以需要写操作将变化通知到储存器304。为了便利这些操作,虚拟化管理器302可以提供虚拟服务器磁盘320。虚拟服务器磁盘320作为在虚拟服务器环境300与储存器304之间的接口(例如驱动器)可以位于基础物理服务器210(图2)之上和/或分离模式。就此而言,虚拟服务器磁盘320向虚拟服务器环境300提供基础物理储存器304设备的服务。利用储存器304中的一组目标数据块,例如使用设备映射表,虚拟服务器磁盘320也可以映射一组由虚拟服务器310内部使用的一组数据块。在这种情形,虚拟服务器310的镜像文件可以在线性设备映射块中被打包以通过虚拟服务器310的镜像文件创建设备映射表。
现在转到图4,示出根据本发明实施例的设备映射表。在一个实施例中,设备映射表322可以是专用设备(或者驱动器)和/或可以通过虚拟服务器(图3)的镜像文件创建,例如针对虚拟服务器310(图3)通过对由所述设备映射表限定的线性块设备中的虚拟服务器的镜像文件打包(wrapping)。在任何情形,设备映射表222可以方便在基础物理服务器210上的特定虚拟服务器310(图3)和储存器304(图3)之间的读和/或写操作。设备映射表322通过将由虚拟服务器310(图3)使用的磁盘块地址映射到由储存器304(图3)使用的目标地址来完成这个。为了便利这个功能,设备映射表322可以包括虚拟块324和目标块326。当虚拟服务器310(图3)从储存器304(图3)读取或向储存器304(图3)写入,虚拟服务器310(图3)可以提交包括虚拟块324(例如22)的请求。设备映射表322可以使用虚拟块324将所述请求映射到储存器304(图3)中的正确目标块326,在这个例子是块75。设备映射表322也能包括写指示符328。写指示符328指示到储存器304(图3)中的特定目标块326的写是否已发生。利用任何现在已知的或后来开发的技术方案,包括但并不限于数据位、切换、计数器、与每个条件相关的一组数据值和/或类似,写指示符328可以执行这个任务。
现在转到图5,示出根据本发明实施例的改进的虚拟服务器环境400。如示出的,改进的虚拟服务器环境400包括爬虫框架402,其可以被用来实现本发明的一个或多个功能。爬虫框架402可以包括监控爬虫410,这将在后面进一步详细描述。如包围爬虫框架402的虚线框所表示的,爬虫框架402可以是相同虚拟化管理器302的一部分,在该虚拟化管理器302内包含虚拟服务器310。可选地,爬虫框架402可以被包括在相同物理服务器210(图2)上的不同虚拟化管理器内。在这些情况下,监控爬虫410可以被包括在位于各自的虚拟化管理器上的虚拟服务器内。此外,或可选地,爬虫框架402的一个或多个组件可以位于相同物理服务器210(图2)上但是用非基于管理器的解决方案来实现。此外,或可选地,爬虫框架402的一个或多个组件可以位于远离其上设置有虚拟服务器310的物理服务器210(图2)的位置,例如永久性或临时与物理服务器210(图2)连网的中心服务器。
现在转到图1和图5,同时地,由计算机系统102执行的只读设备创建模块142可以创建只读目标设备420。基于由虚拟服务器310使用的虚拟服务器磁盘320的配置可以创建该只读目标406来访问与虚拟服务器310相关的储存器位置304。例如,在某个实施例中,包含在虚拟化管理器302中的虚拟化管理工具可以分析虚拟服务器310以识别与虚拟服务器310有关的一个或多个设备的配置。从这个分析,虚拟服务器磁盘320的配置可以被确定。反过来,这个配置可以用来创建只读目标406,只读目标406具有虚拟服务器磁盘320所有或基本上所有的特性。一个重要的区别是只读目标406本身是只读的。
在任何情况,只读目标406可以采取几种形式之一,这取决于爬虫框架410的配置。现在转向图6A并结合图5,在实施例420中,crawlVM(爬虫VM)424(例如爬虫框架410)位于与虚拟服务器426a,b(例如,虚拟服务器310)相同的宿主机422(例如物理服务器210(图2))上,示出crawlVM(爬虫VM)424将被监控。在这样环境420中,只读目标406可以以复制设备映射表(DM-dup)设备432的形式体现。DM-dup设备432可以被认为是伪设备,其具有与实际设备映射表设备(dm设备)430a-n(例如虚拟服务器磁盘320)相同的设备表。DM-dup装置432可以通过宿主机422和/或监控爬虫410被创建执行作为宿主机422中的的虚拟机。例如,在Linux环境下,宿主机422和/或监控爬虫410使用标准的Linux块设备映射逻辑可以产生DM-dup设备432。在任何情况下,DM-dup设备432被创建为只读,因此不允许对虚拟服务器磁盘320有任何负面影响,即使在块级别。如图所示,当使用分开的crawlVM(爬虫VM)424时,DM-dup设备432可以被传送到crawlVM(爬虫VM)作为分开的设备。这个伪dup-device424最初可以无表,这意味着VM的426a,b虚拟设备没有支持设备。然而,在运行时,通过用对应的DM设备430a-n映射来替换其当前的设备映射表这个设备可用DM设备430a-n的任何一个来加载。这样,相同的DM-dup设备432可以被用来映射、安装和/或爬虫/索引位于相同宿主机422上的VM426a,b中的任何一个。
现在转向图6B并结合图5,示出另一个实施例,其中crawlVM424(例如爬虫框架410)位于相对于宿主机422的远程宿主机466(例如物理服务器212、214、216(图2))上,其中宿主机422上设置有虚拟机426a,b。在这个环境460中,只读目标406可以以iSCSi目标472的形式体现。ISCSi目标472通过网络可以被用来向远程宿主机466暴露目标块设备430a-n。这可以使所有或部分crawlVM424(例如监控爬虫410)从目标VM426a,b完全解耦,同时通过爬虫侧的启动器(initiator)允许访问块设备430a-n(例如,虚拟服务器磁盘320)。为了确保安全性,iSCSi目标管理员474可以被用来执行宿主机422上的认证功能。利用一组证书476(例如将被监控的虚拟服务器31、访问控制信息等)ISCSi目标管理员474可以执行这个认证。当特定VM426a,b将被监控时,例如通过网络220(图2)以及将被监控的VM426a,b的规范,监控爬虫410可以发送正确的证书476。在示出的iSCSi具体实现中,通过CHAP认证和/或限制对具体的crawlVM424实例访问的附加的访问控制配置证书可以被管理。然而,应该理解,通过网络向外部宿主机466暴露VM426a,b的其它平台和/或解决方案也在本发明的范围内。在任何情形,所述暴露创建了到VM426a,b的链接来允许在只读基础上通过网络访问块设备430a-n。
再参照图1和图5,同时地,由计算机系统102执行的,虚拟磁盘暴露模块144将只读目标406与储存器304相关联,其中所述储存器304与特定虚拟服务器310关联。这个关联利用上面描述的映射解决方案或者任何现在已知的或后来开发的任何解决方案可以发生。例如,在某个实施例中,每次发出请求时,单个只读目标406可以被创建以对特定虚拟服务器310执行被动监控并且一旦请求完成就被销毁。可选地,在另一个实施例中,只读目标406在使用之后可以不被销毁而是保持再利用。在这个实施例中,只读目标406可以与虚拟服务器磁盘320(例如对应于图6A和图6B中的VM426b的磁盘设备430n)去相关,其中服务器磁盘320已经被关联用于监控爬虫410访问并且与被动监控现在需要的新的虚拟服务器磁盘320(例如例如对应于图6A和图6B中的VM426a的磁盘设备430a)相关联。这可以通过将与新的虚拟服务器310相关联的设备映射表322复制到只读目标406来实现,以这种方式之前在只读目标406中保存的信息被从设备映射表322中复制的信息替换。可选地,这可以通过以下方法来实现,即,从虚拟服务器磁盘320(例如对应于图6B中的VM426b的磁盘设备430n)去除已存在的ISCSI,并且用到新的虚拟服务器磁盘320(例如对应于图6B中的VM426a的磁盘设备430a)的只读连接来替换。可选地,在另一个实施例中,单个只读目标406可以同时与多个虚拟服务器磁盘320相关联。在这个实施例中,对于每个寻找关联的新的虚拟服务器磁盘320,与特定虚拟服务器磁盘320相关联的设备映射表322的副本可以从虚拟服务器磁盘320复制到只读目标406,而不去除关于其它虚拟服务器310的类似信息。可选地,对于每个寻找关联的新的虚拟服务器磁盘320,新的本地单元数目(LUN)可以被添加到已存在的基于ISCSI的只读目标406,而不去除关于其它虚拟服务器310的类似信息。这种信息当不需要是可以被丢弃或者保存在只读目标406中直到期望将来会访问。
仍然参照图1和图5,同时地,由计算机系统102执行的特征获取模块146可以从相关的虚拟服务器磁盘320获取关于虚拟服务器310的特征集合。虚拟服务器310特征的获取可以通过使用只读目标406由监控爬虫410来执行。由于只读目标406直接与对应于期望被动监控的虚拟服务器310的虚拟服务器磁盘320相关,监控爬虫410可以使用只读目标406来访问信息所需的虚拟机310的这些特征。
结果,与拍摄快照不同,其在某个时间点复制了虚拟服务器310的整个状态,监控爬虫410可以从虚拟服务器310获取任何特征集合,范围从包含虚拟服务器310的虚拟服务器磁盘320的整个扫描的“完全抓取”到仅仅抓取虚拟服务器310的虚拟服务器磁盘320定义的子集的“目标式抓取(targetedcrawl)”。使用这种“目标式抓取”,如同来自虚拟服务器磁盘320的单个信息块一样小可以作为获取的目标。此外,由于只读目标406与虚拟服务器磁盘320之间的关联的固有特性,监控爬虫410也能以能够执行“增量式抓取(incrementalcrawl)”的方式获取特征集合。在这种“增量式抓取”中,监控爬虫410可以利用只读目标406抓取全部或部分虚拟服务器磁盘320一段时间。基于预先确定的要获取的数据量,基于对相同镜像或实例先前抓取观察到的任何差异和/或类似的,这种抓取的时间段可以预先定义。
在任何情形,只读目标的监控爬虫410的使用(例如监控爬虫本身不能执行任何可以影响实际虚拟磁盘320的写入)确保虚拟服务器磁盘320的状态没有变化或者不能够对虚拟服务器磁盘320的状态做出改变。相反的,在虚拟服务器310访问储存器304的同时试图通过虚拟服务器310的虚拟服务器磁盘320访问储存器304可能不会直接成功,即使执行只读操作。这是因为,对于活虚拟服务器(livevirtualservers)310,虚拟服务器磁盘320本质上是肮脏的状态,因为这种操作系统级别缓存和文件系统日志的性能最大化的解决方案往往被用来吸收对设备做出的改变并在稍后的时间间隔刷新它们。这些解决方案的后果,期望干净磁盘(如离线VM的情形)或者冲洗磁盘日志以洁净肮脏状态的能力的标准安装方法将失败和/或需要执行这种冲洗过程而引入对虚拟服务器磁盘320不希望的改变。
为了获得活VM虚拟磁盘320的可靠处理,本发明可以利用一个或多个附加的技术。在一个实施例中,写时复制COW(copy-on-write)储存器404可以被创建。COW储存器404可以位于监控爬虫410内部,爬虫框架402的内部或外部的任何地方。在任何情形,COW储存器404可以被用来保证获取的信息包括已作出的任何变化但是未传送到储存器304。为了实现这个,虚拟服务器磁盘320可以将虚拟服务器310对它的磁盘做出的任何变化作为副本传送到COW储存器404。用这种方法,监控爬虫410可以行进好像它正在访问可读媒介,而储存器304没有块级别的变化,例如日志刷新被反映在实际目标VM磁盘中,但是被临时传送到COW储存器404。当获取特征集合时,监控爬虫410可以从COW储存器404获取已改变的特征同时通过只读目标406从适当的VM块获取未改变的特征。这个方法有另一个重要的优点,通过进行额外的COW操控,VM永久磁盘的“实时性”显著地改善,即使在磁盘状态变化实际与实际服务器磁盘320文件系统同步之前,磁盘状态变化也可以经常被观察到。对虚拟服务器磁盘320做出的任何变化可以通过监控爬虫410实质地、立即地被观察到(完成抓取过程花费的额外的时间的可能的例外,这可以在几秒钟的数量级)。
这个问题的可选方法是使用可代替的超级块访问,一种磁盘取证使用的技术。使用这种解决方案,通过可替代的超级块,映射磁盘布局的只读目标406的主要超级块可以被绕过并且可以被访问。用可替代的超级块,具有肮脏状态的虚拟服务器磁盘320可以被访问而无需获得初始恢复。然而,该访问可以产生稍微不完整的虚拟服务器磁盘320的视图,因为部分数据或元数据在被访问的肮脏状态可能是陈旧的。这个解决方案在这种情形下更有用:设备的确切状态更关键,但是它一般更容易出错并且实施依赖于整个文件系统分布。
在任何情况,一旦所需的特征已被用来获取这些特征的组件获得,那么这些特征就可以被丢弃。例如,只读目标406与虚拟磁盘之间的关联可以被分离并且通过dm-dup设备432或iscsi目标472映射的设备可以被移除。写时复制储存器404和/或只读目标406也可以被丢弃。此外,当不再使用时,爬虫框架通常被最小化。
再参照图1,由计算机系统102执行的特征分析器模块148可以分析一个或多个获取的特征154来执行虚拟服务器310(图5)的被动监控。被动监控可以包括诸如如下的活动:扫描文件系统以执行以执行合规性检查,扫描目录以确定当前哪些应用被安装在系统上,安全性扫描,文件系统检查,许可使用监控等等。
现在参照图7,示出根据一个实施例的分析环境500。示出的分析环境包括根据本发明实施例的具有爬虫VM540的物理服务器510。如图所示,在分析环境500中爬虫VM540与物理服务器510上的虚拟服务器530分离,并且本身可以是虚拟服务器530。然而,如之前所述的,其它的配置是可以的。爬虫VM450包含爬虫代理542,对于多个虚拟服务器530的每个,爬虫代理542可以从储存器系统518获取提取的特征534,从而对整个物理服务器510执行被动监控服务。通过只读目标406(图5)爬虫代理542可以访问对应于任何虚拟服务器530的储存器系统518中的块来执行被动监控所需的所有功能。一旦需要的提取的特征534已被获取,这些提取的特征534可以被保存在爬虫文档仓库(crawldocstore)538中,例如用于进一步处理和/或发送至另一个地点用于处理。非常基本的,爬虫文档仓库538可以作为由特征获取模块146和特征分析模块148产生的爬虫文档的数据仓库。爬虫文档仓库538可以用各种媒介和格式(例如简单的文件系统存储、关系数据库、非关系数据库诸如文档、键值、表、图形存储和/或类似的)存储这个信息。从更一般的角度,爬虫文档仓库538可以作为一个完整的知识库,其在基础数据仓库之上建立额外的逻辑并且执行进一步的文件处理以为VM内部、VM之间和VM状态信息的时间分析提供查询范围和分析能力。
这个设计的优点在于它允许要卸载的索引逻辑物理上与需要被监控的系统实际运行的位置紧邻,从而提高了它的可扩展性。例如,在虚拟化数据中心环境200中存在100个物理服务器210、212、214、216(图2),并且每个物理服务器宿主25个虚拟服务器310(图3)。通过在每个物理服务器210、212、214、216(图2)运行爬虫VM540(即在每个物理服务器210、212、214、216上的第26个虚拟服务器230),爬虫VM540的单个实例可以向与其共同定位的25个虚拟服务器530提供索引服务。作为优化,当索引操作不运行时,包括爬虫VM540的虚拟服务器530(图3)可以保持暂停(这样它可以很少使用或不使用物理服务器200上的CPU和/或存储器资源)。
这个设计的另一个优点在于它允许管理员用户120(图1)执行网络220(图2)的简单带宽优化以降低将提取的特征534传送回中心检测服务器550的数据量。例如,本发明将自从早期扫描改变的提取特征334发送至中心被动监控服务器550。这个优化可以极大地减少通过网络220(图2)发送的数据量。
所执行的分析可以基于正在被执行的被动监测的类型进行区分。例如,在漂移检测分析中,特征分析模块148可以对提取的特征534的一个或多个元素与对应预配置的软件堆栈552的至少部分进行比较。通过比较这两者,特征分析模块148可以计算出文件系统结构、内容、状态等每个之间的差异。这个区别可以包括例如三部分:已被添加的数据、已被删除的数据以及已被修改的数据,所有与预配置的软件堆栈552相关。相对照,在恶意软件类型分析中,提取的特征534可以与已知的恶意软件代理的签名进行比较。在其它类型的分析中,提取的特征可以基于一组规则554进行分析,例如确定某些需求是否已被满足。规则554也可以通过分析发生在多个虚拟服务器530的耐受度差异统计地被推断出;可以通过自动地将文件分类为不变(例如可执行文件)、很少改变(配置文件)或不断变化(日志文件)被推断出;和/或可以基于评估工具执行的评估从外部信息源例如集群配置的描述被推断出。类似的基于规则的不变量可以被用来检测存储器状态的异常或恶意的行为。这些示例包括但不限于:检测未知的过程、可疑的网络连接以及代码段的修改。
现在转到图8,示出根据本发明实施例的示例流程图。如图所示,在S1,由计算机系统102(图1)执行的只读设备创建模块142(图1)创建只读目标406(图5)。这个只读目标406(图5)可以基于虚拟服务器磁盘320(图5)的配置被创建,虚拟服务器310利用只读目标406访问与其相关联的储存器304。在S2,由计算机系统102(图1)执行的虚拟磁盘暴露模块144(图1)将只读目标406(图5)与虚拟服务器磁盘320相关联。在S3,由计算机系统102(图1)执行的特征获取模块146(图1)从虚拟服务器磁盘320(图4)获取了关于虚拟服务器310(图5)的特征集合154。这个获取可以利用只读目标406(图5)由监控爬虫410(图5)来执行。在S4,由计算机系统102(图1)执行的特征分析模块148(图1)分析获取的特征154(图1)来执行虚拟服务器330(图5)的被动监控。
虽然在此示出和描述了用于被动监控计算机系统的方法和系统,但是应该理解本发明的方面进一步提供了可选实施例。例如,在一个实施例中,本发明提供了在至少一个计算机可读介质中固定的计算机程序,当计算机程序被执行时,能够使计算机系统被动监控计算机系统。就此而言,计算机可读介质包括程序代码例如被动监控程序140(图1),其实现在此描述的部分或全部过程。应该理解术语“计算机可读介质”包括现在已知的或后来开发的一个或多个任何类型的有形表达介质,通过“计算机可读介质”程序代码的副本可以被接收、复制或者由计算设备传送。例如,计算机可读介质可以包括:一个或多个便携式制造物的储存物件;计算设备的一个或多个存储器/储存器组件;和/或类似的。
在另一个实施例中,本发明提供一种提供程序代码副本的方法,例如被动监控程序140(图1),其实现了在此描述的部分或全部过程。在这种情况下,计算机系统可以处理实现了在此描述的过程的部分或全部程序代码的副本以产生并发送,用于在不同的位置1秒内接收具有一个或多个特征集合和/或以数据信号集合中的程序代码的副本进行编码的方式改变的数据信号集合。类似地,本发明的实施例提供了一种获取程序代码的副本的方法,其实现了在此描述的部分或全部过程,并且包括接收在此描述的数据信号集的计算机系统,以及将所述数据信号集转换为在至少一个计算机可读介质中固定的计算机程序的副本。在任何情况,使用任何类型的通信链接,数据信号集可以被发送/接收。
在又一实施例中,本发明提供一种产生用于被动监控计算机系统的系统的方法。在这种情形,计算机系统例如计算机系统120(图1)可以被获得(例如创建、维护、可用等),并且在此描述的执行过程的一个或多个组件可以被获得(例如创建、购买、使用、修改等)并且被部署到计算机系统。就此而言,所述部署可以包括一个或多个:(1)在计算设备上安装程序代码;(2)向计算机系统增加一个或多个计算和/或/I/O设备;(3)合并和/或修改计算机系统以使其能够执行在此描述的过程;和/或类似的。
术语“第一”、“第二”等类似,如果在此使用并不表示任何顺序或重要性,而是用来区分组件,并且术语“一”和“一个”在此不表明数量的限制,而是表示至少一个引用项的存在。用在与数量关联的修饰语“大约”包括提及的值并且具有由上下文表明的含义(例如包括与特定数量的测量相关的误差)。在此使用的后缀“(s)”旨在包括其修饰的术语的单数和复数,从而包括一个或多个那个术语(例如金属(s)包括一个或多个金属)。在此公开的范围是包括和独立的组合(例如,范围“高达约25wt%,或者,更具体地,大约5wt%至大约20wt%”,包括端点和“大约5wt%至大约20wt%”范围的所有中间值等)。
前面描述的本发明各个方面已示出用于说明和描述的目的。并非旨在穷尽或将限制本发明披露的精确形式,很显然,很多修改和变形是可能的。对本领域技术人员来说显而易见的这种修改和变形包括在附随的权利要求限定的本发明的范围内。
权利要求书(按照条约第19条的修改)
1.一种用于被动监控虚拟服务器的方法,包括:
基于与所述虚拟服务器相关联的由所述虚拟服务器用来访问储存位置的虚拟机磁盘的配置创建只读磁盘目标,其中所述只读目标实质上具有所述虚拟服务器磁盘的所有相同特性;
暴露所述虚拟服务器磁盘使其被监控爬虫访问;
通过所述监控爬虫,经由所述只读目标从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征集合,以使所述监控爬虫不改变所述虚拟服务器磁盘的状态;分析所述特征集合中的至少一个特征来执行所述虚拟服务器的被动监控。
2.根据权利要求1所述的方法,进一步包括:
利用基于管理器的虚拟化管理工具识别所述虚拟服务器的设备配置;以及
基于所述识别确定所述虚拟服务器磁盘的配置。
3.根据权利要求1所述的方法,进一步包括:
对由所述虚拟服务器磁盘的设备映射表定义的线性块设备中的所述虚拟服务器的镜像文件进行打包;
其中所述暴露包括将所述设备映射表复制到所述只读目标。
4.根据权利要求3所述的方法,进一步包括:
在所述暴露之前,将所述只读目标与不同的虚拟服务器相关联的不同虚拟服务器磁盘分离,所述不同虚拟服务器磁盘经由所述只读目标之前被所述监控爬虫访问;
其中所述分离包括:将所述设备映射表复制到与所述只读目标中的不同虚拟服务器相关联的不同设备映射表中。
5.根据权利要求1所述的方法,其中所述监控爬虫被包括在爬虫虚拟服务器中,所述爬虫虚拟服务器与被监控的所述虚拟服务器不同并且位于具有所述虚拟服务器的公共物理服务器上。
6.根据权利要求1的方法,
其中所述只读磁盘目标是只读所述虚拟服务器的虚拟服务器磁盘的只读互联网小计算机系统接口(ISCSI),
其中所述监控爬虫位于远离包含所述虚拟服务器的公共物理服务器的物理服务器上,以及,
其中所述暴露包括通过所述网络将所述只读ISCSI目标显示为所述只读目标。
7.根据权利要求1所述的方法,进一步包括:
在所述获取之前,从位于所述监控爬虫的中央检测服务器接收请求,所述请求请求所述监控爬虫在所述虚拟服务器上执行被动监控;
将对应于来自所述监控爬虫的所述特征集合的数据转发至所述中央检测服务器;以及
在所述中央检测服务器执行所述分析。
8.根据权利要求1所述的方法,进一步包括:
响应于请求,创建写时复制储存器;
对于到所述数据块的每个写,将被写入的数据通过所述写复制到所述写时复制储存器;
其中所述获取包括访问所述数据块以得到还未被写入的数据并且访问所述写时复制储存器以得到已被写入的数据。
9.一种用于被动监控虚拟服务器的系统,包括执行方法的至少一个计算机设备,该方法包括:
基于与所述虚拟服务器相关联的由所述虚拟服务器用来访问储存位置的虚拟机磁盘的配置创建只读磁盘目标,其中所述只读目标实质上具有所述虚拟服务器磁盘的所有相同特性;
暴露所述虚拟服务器磁盘使其被监控爬虫访问;
通过所述监控爬虫,经由所述只读目标从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征的集合,以使所述监控爬虫不改变所述虚拟服务器磁盘的状态;分析所述特征集合中的至少一个来执行所述虚拟服务器的被动监控。
10.根据权利要求9所述的系统,该方法进一步包括:
利用基于管理器的虚拟化管理工具识别所述虚拟服务器的设备配置;以及
基于所述识别确定所述虚拟服务器磁盘的配置。
11.根据权利要求1所述的系统,该方法进一步包括:
对由所述虚拟服务器磁盘的设备映射表定义的线性块设备中的所述虚拟服务器的镜像文件进行打包;
其中所述暴露包括将所述设备映射表复制到所述只读目标。
12.根据权利要求11所述的系统,该方法进一步包括:
在所述暴露之前,将所述只读目标与与不同的虚拟服务器相关联的不同虚拟服务器磁盘分离,所述不同虚拟服务器磁盘经由所述只读目标之前被所述监控爬虫访问;
其中所述分离包括:将所述设备映射表复制到与所述只读目标中的不同虚拟服务器相关的不同设备映射表中。
13.根据权利要求9所述的系统,其中所述监控爬虫被包括在爬虫虚拟服务器中,
所述爬虫虚拟服务器与被监控的所述虚拟服务器不同并且位于具有所述虚拟服务器的公共物理服务器上。
14.根据权利要求9所述的系统,
其中所述只读磁盘目标是只读所述虚拟服务器的虚拟服务器磁盘的只读互联网小计算机系统接口(ISCSI),
其中所述监控爬虫位于远离包含所述虚拟服务器的公共物理服务器的物理服务器上,以及,
其中所述暴露包括通过所述网络将所述只读ISCSI显示为所述只读目标。
15.根据权利要求9所述的系统,该方法进一步包括:
在所述获取之前,从位于所述监控爬虫的中央检测服务器接收请求,所述请求请求所述监控爬虫在所述虚拟服务器上执行被动监控;
将对应于来自所述监控爬虫的所述特征集合的数据转发至所述中央检测服务器;以及
在所述中央检测服务器执行所述分析。
16.根据权利要求9所述的系统,该方法进一步包括:
响应于请求,创建写时复制储存器;
对于到所述数据块的每个写,将被写入的数据通过所述写复制到所述写时复制储存器;
其中所述获取包括访问所述数据块以得到还未被写入的数据并且访问所述写时复制储存器以得到已被写入的数据。
17.一种包含在计算机可读媒介中的计算机程序产品,用于实现被动监控虚拟服务器的系统的方法,该方法包括:
基于与所述虚拟服务器相关联的由所述虚拟服务器用来访问储存位置的虚拟机磁盘的配置创建只读磁盘目标,其中所述只读目标实质上具有所述虚拟服务器磁盘的所有相同特性;
暴露所述虚拟服务器磁盘使其被监控爬虫访问;
通过所述监控爬虫,经由所述只读目标从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征的集合,以使所述监控爬虫不改变所述虚拟服务器磁盘的状态;分析所述特征集合中的至少一个来执行所述虚拟服务器的被动监控。
18.根据权利要求17所述的程序产品,该方法进一步包括:
利用基于管理器的虚拟化管理工具识别所述虚拟服务器的设备配置;以及
基于所述识别确定所述虚拟服务器磁盘的配置。
19.根据权利要求17所述的程序产品,该方法进一步包括:
对由所述虚拟服务器磁盘的设备映射表定义的线性块设备中的所述虚拟服务器的镜像文件进行打包;
其中所述暴露包括将所述设备映射表复制到所述只读目标。
20.根据权利要求19所述的程序产品,该方法进一步包括:
在所述暴露之前,将所述只读目标与不同的虚拟服务器关联的不同虚拟服务器磁盘分离,所述不同虚拟服务器磁盘经由所述只读目标之前被所述监控爬虫访问;
其中所述分离包括:将所述设备映射表复制到与所述只读目标中的不同虚拟服务器相关的不同设备映射表中。
21.根据权利要求17所述的程序产品,其中所述监控爬虫被包括在爬虫虚拟服务器中,所述爬虫虚拟服务器与被监控的所述虚拟服务器不同并且位于具有所述虚拟服务器的公共物理服务器上。
22.根据权利要求17所述的程序产品,其中所述只读磁盘目标是只读所述虚拟服务器的虚拟服务器磁盘的只读互联网小计算机系统接口(ISCSI),
其中所述监控爬虫位于远离包含所述虚拟服务器的公共物理服务器的物理服务器上,以及,
其中所述暴露包括通过所述网络将所述只读ISCSI显示为所述只读目标。
23.根据权利要求17所述的程序产品,该方法进一步包括:
在所述获取之前,从位于所述监控爬虫的中央检测服务器接收请求,所述请求请求所述监控爬虫在所述虚拟服务器上执行被动监控;
将对应于来自所述监控爬虫的所述特征集合的数据转发至所述中央检测服务器;以及
在所述中央检测服务器执行所述分析。
24.根据权利要求17所述的程序产品,该方法进一步包括:
响应于请求,创建写时复制储存器;
对于到所述数据块的每个写,将被写入的数据通过所述写复制到所述写时复制储存器;
其中所述获取包括访问所述数据块以得到还未被写入的数据并且访问所述写时复制储存器以得到已被写入的数据。
25.一种部署用于被动监控计算机系统的方法,包括:
提供计算机基础设施被操作于:
基于与所述虚拟服务器相关联的由所述虚拟服务器用来访问储存位置的虚拟机磁盘的配置创建只读磁盘目标,其中所述只读目标实质上具有所述虚拟服务器磁盘的所有相同特性;
暴露所述虚拟服务器磁盘使其被监控爬虫访问;
通过所述监控爬虫,经由所述只读目标从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征的集合,以使所述监控爬虫不改变所述虚拟服务器磁盘的状态;
分析所述特征集合中的至少一个来执行所述虚拟服务器的被动监控。
说明或声明(按照条约第19条的修改)
中国专利局PCT处:
本文件是针对2014年7月21日国际检索局的国际检索报告和书面意见做出的答复。在此提交了上文引用的国际申请的13页权利要求的替换页和13页权利要求的修改标记副本。尊重地请求用第27-33A页替换申请人原始提交申请的第27-33页。用替换页中示出的权利要求1,7,9,15,17,23和25替换申请时提交的权利要求1,7,9,15,17,23和25。所有其它权利要求(2-6,8,10-14,16,18-22和24)不变。
针对国际检索局的国际检索报告和书面意见做出答复,独立权利要求1,9,17,25已被修改为表述,除其它外,“基于与所述虚拟服务器相关联的由所述虚拟服务器用来访问储存位置的虚拟机磁盘的配置创建只读磁盘目标,其中所述只读目标实质上具有所述虚拟服务器磁盘的所有相同特性”和“所述监控爬虫不改变所述虚拟服务器磁盘的状态”。这些修改可以在原始提交的申请人说明书的第[0044]段和[0047]段中找到支持。此外,申请人已修改权利要求7,15和23表述,除其它外,“在所述获取之前,从位于所述监控爬虫的中央检测服务器接收请求,所述请求请求所述监控爬虫在所述虚拟服务器上执行被动监控”。这些修改可以在原始提交的申请人说明书的第[0057]段中找到支持。
申请人相信以上修改克服了书面意见中陈述的驳回意见。被授权的审查员应该相信为了有利的国际初步审查报告有必要进一步把申请放置于更好的环境下,他被请求按照以下列出的电话号码联系申请人的签字律师。
中咨律师事务所
2015年12月17日

Claims (25)

1.一种用于被动监控虚拟服务器的方法,包括:
基于与所述虚拟服务器相关联的虚拟机磁盘的配置创建只读磁盘目标;
暴露所述虚拟服务器磁盘使其被监控爬虫访问;
通过所述监控爬虫,经由所述只读目标从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征集合;
分析所述特征集合中的至少一个特征来执行所述虚拟服务器的被动监控。
2.根据权利要求1所述的方法,进一步包括:
利用基于管理器的虚拟化管理工具识别所述虚拟服务器的设备配置;以及
基于所述识别确定所述虚拟服务器磁盘的配置。
3.根据权利要求1所述的方法,进一步包括:
对由所述虚拟服务器磁盘的设备映射表定义的线性块设备中的所述虚拟服务器的镜像文件进行打包;
其中所述暴露包括将所述设备映射表复制到所述只读目标。
4.根据权利要求3所述的方法,进一步包括:
在所述暴露之前,将所述只读目标与不同的虚拟服务器相关联的不同虚拟服务器磁盘分离,所述不同虚拟服务器磁盘经由所述只读目标之前被所述监控爬虫访问;
其中所述分离包括:将所述设备映射表复制到与所述只读目标中的不同虚拟服务器相关联的不同设备映射表中。
5.根据权利要求1所述的方法,其中所述监控爬虫被包括在爬虫虚拟服务器中,所述爬虫虚拟服务器与被监控的所述虚拟服务器不同并且位于具有所述虚拟服务器的公共物理服务器上。
6.根据权利要求1的方法,
其中所述只读磁盘目标是只读所述虚拟服务器的虚拟服务器磁盘的只读互联网小计算机系统接口(ISCSI),
其中所述监控爬虫位于远离包含所述虚拟服务器的公共物理服务器的物理服务器上,以及,
其中所述暴露包括通过所述网络将所述只读ISCSI目标显示为所述只读目标。
7.根据权利要求1所述的方法,进一步包括:
在所述检索之前,从位于所述检索设备的中央检测服务器接收请求,所述请求请求所述监控爬虫在所述虚拟服务器上执行被动监控;
将对应于来自所述监控爬虫的所述特征集合的数据转发至所述中央检测服务器;以及
在所述中央检测服务器执行所述分析。
8.根据权利要求1所述的方法,进一步包括:
响应于请求,创建写时复制储存器;
对于到所述数据块的每个写,将被写入的数据通过所述写复制到所述写时复制储存器;
其中所述获取包括访问所述数据块以得到还未被写入的数据并且访问所述写时复制储存器以得到已被写入的数据。
9.一种用于被动监控虚拟服务器的系统,包括执行方法的至少一个计算机设备,该方法包括:
基于与所述虚拟服务器相关联的虚拟机磁盘的配置创建只读磁盘目标;
暴露所述虚拟服务器磁盘使其被监控爬虫访问;
通过所述监控爬虫,经由所述只读目标从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征的集合;
分析所述特征集合中的至少一个来执行所述虚拟服务器的被动监控。
10.根据权利要求9所述的系统,该方法进一步包括:
利用基于管理器的虚拟化管理工具识别所述虚拟服务器的设备配置;以及
基于所述识别确定所述虚拟服务器磁盘的配置。
11.根据权利要求1所述的系统,该方法进一步包括:
对由所述虚拟服务器磁盘的设备映射表定义的线性块设备中的所述虚拟服务器的镜像文件进行打包;
其中所述暴露包括将所述设备映射表复制到所述只读目标。
12.根据权利要求11所述的系统,该方法进一步包括:
在所述暴露之前,将所述只读目标与与不同的虚拟服务器相关联的不同虚拟服务器磁盘分离,所述不同虚拟服务器磁盘经由所述只读目标之前被所述监控爬虫访问;
其中所述分离包括:将所述设备映射表复制到与所述只读目标中的不同虚拟服务器相关的不同设备映射表中。
13.根据权利要求9所述的系统,其中所述监控爬虫被包括在爬虫虚拟服务器中,
所述爬虫虚拟服务器与被监控的所述虚拟服务器不同并且位于具有所述虚拟服务器的公共物理服务器上。
14.根据权利要求9所述的系统,
其中所述只读磁盘目标是只读所述虚拟服务器的虚拟服务器磁盘的只读互联网小计算机系统接口(ISCSI),
其中所述监控爬虫位于远离包含所述虚拟服务器的公共物理服务器的物理服务器上,以及,
其中所述暴露包括通过所述网络将所述只读ISCSI显示为所述只读目标。
15.根据权利要求9所述的系统,该方法进一步包括:
在所述检索之前,从位于所述检索设备的中央检测服务器接收请求,所述请求请求所述监控爬虫在所述虚拟服务器上执行被动监控;
将对应于来自所述监控爬虫的所述特征集合的数据转发至所述中央检测服务器;以及
在所述中央检测服务器执行所述分析。
16.根据权利要求9所述的系统,该方法进一步包括:
响应于请求,创建写时复制储存器;
对于到所述数据块的每个写,将被写入的数据通过所述写复制到所述写时复制储存器;
其中所述获取包括访问所述数据块以得到还未被写入的数据并且访问所述写时复制储存器以得到已被写入的数据。
17.一种包含在计算机可读媒介中的计算机程序产品,用于实现被动监控虚拟服务器的系统的方法,该方法包括:
基于与所述虚拟服务器相关联的虚拟机磁盘的配置创建只读磁盘目标;
暴露所述虚拟服务器磁盘使其被监控爬虫访问;
通过所述监控爬虫,经由所述只读目标从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征的集合;
分析所述特征集合中的至少一个来执行所述虚拟服务器的被动监控。
18.根据权利要求17所述的程序产品,该方法进一步包括:
利用基于管理器的虚拟化管理工具识别所述虚拟服务器的设备配置;以及
基于所述识别确定所述虚拟服务器磁盘的配置。
19.根据权利要求17所述的程序产品,该方法进一步包括:
对由所述虚拟服务器磁盘的设备映射表定义的线性块设备中的所述虚拟服务器的镜像文件进行打包;
其中所述暴露包括将所述设备映射表复制到所述只读目标。
20.根据权利要求19所述的程序产品,该方法进一步包括:
在所述暴露之前,将所述只读目标与不同的虚拟服务器关联的不同虚拟服务器磁盘分离,所述不同虚拟服务器磁盘经由所述只读目标之前被所述监控爬虫访问;
其中所述分离包括:将所述设备映射表复制到与所述只读目标中的不同虚拟服务器相关的不同设备映射表中。
21.根据权利要求17所述的程序产品,其中所述监控爬虫被包括在爬虫虚拟服务器中,所述爬虫虚拟服务器与被监控的所述虚拟服务器不同并且位于具有所述虚拟服务器的公共物理服务器上。
22.根据权利要求17所述的程序产品,其中所述只读磁盘目标是只读所述虚拟服务器的虚拟服务器磁盘的只读互联网小计算机系统接口(ISCSI),
其中所述监控爬虫位于远离包含所述虚拟服务器的公共物理服务器的物理服务器上,以及,
其中所述暴露包括通过所述网络将所述只读ISCSI显示为所述只读目标。
23.根据权利要求17所述的程序产品,该方法进一步包括:
在所述检索之前,从位于所述检索设备的中央检测服务器接收请求,所述请求请求所述监控爬虫在所述虚拟服务器上执行被动监控;
将对应于来自所述监控爬虫的所述特征集合的数据转发至所述中央检测服务器;以及
在所述中央检测服务器执行所述分析。
24.根据权利要求17所述的程序产品,该方法进一步包括:
响应于请求,创建写时复制储存器;
对于到所述数据块的每个写,将被写入的数据通过所述写复制到所述写时复制储存器;
其中所述获取包括访问所述数据块以得到还未被写入的数据并且访问所述写时复制储存器以得到已被写入的数据。
25.一种部署用于被动监控计算机系统的方法,包括:
提供计算机基础设施被操作于:
基于与所述虚拟服务器关联的虚拟机磁盘的配置创建只读磁盘目标;
暴露所述虚拟服务器磁盘使其被监控爬虫访问;
通过所述监控爬虫,经由所述只读目标从所述虚拟服务器磁盘获取关于所述虚拟服务器的特征的集合;
分析所述特征集合中的至少一个来执行所述虚拟服务器的被动监控。
CN201480034655.9A 2013-06-18 2014-03-05 用于被动监控虚拟服务器的方法和系统 Active CN105339925B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/920,288 2013-06-18
US13/920,288 US9304885B2 (en) 2013-06-18 2013-06-18 Passive monitoring of virtual systems using agent-less, near-real-time indexing
PCT/US2014/020601 WO2014204530A1 (en) 2013-06-18 2014-03-05 Passive monitoring of virtual systems using agent-less, near-real-time indexing

Publications (2)

Publication Number Publication Date
CN105339925A true CN105339925A (zh) 2016-02-17
CN105339925B CN105339925B (zh) 2018-03-20

Family

ID=52020230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480034655.9A Active CN105339925B (zh) 2013-06-18 2014-03-05 用于被动监控虚拟服务器的方法和系统

Country Status (6)

Country Link
US (1) US9304885B2 (zh)
JP (1) JP6380958B2 (zh)
CN (1) CN105339925B (zh)
DE (1) DE112014002877T5 (zh)
GB (1) GB2529797B (zh)
WO (1) WO2014204530A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6221701B2 (ja) * 2013-12-03 2017-11-01 富士通株式会社 制御プログラム、制御装置及び制御方法
US10530837B2 (en) 2014-04-10 2020-01-07 International Business Machines Corporation Always-on monitoring in the cloud
US10521354B2 (en) * 2015-06-17 2019-12-31 Intel Corporation Computing apparatus and method with persistent memory
US20170249176A1 (en) * 2016-02-26 2017-08-31 Red Hat, Inc. Systems and methods for configuration knowledge search
CN109858244B (zh) * 2019-01-16 2020-01-17 四川大学 一种容器内进程异常行为检测方法与系统
CN111339388B (zh) * 2019-06-13 2021-07-27 海通证券股份有限公司 一种信息爬取系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030208463A1 (en) * 2002-04-10 2003-11-06 Emc Corporation Virtual storage devices
US20070055710A1 (en) * 2005-09-06 2007-03-08 Reldata, Inc. BLOCK SNAPSHOTS OVER iSCSI
US20080263658A1 (en) * 2007-04-17 2008-10-23 Microsoft Corporation Using antimalware technologies to perform offline scanning of virtual machine images
CN102419806A (zh) * 2011-12-15 2012-04-18 武汉大学 一种虚拟机批量离线杀毒方法
CN102419803A (zh) * 2011-11-01 2012-04-18 成都市华为赛门铁克科技有限公司 计算机病毒查杀方法、系统及装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895400B1 (en) 1999-10-05 2005-05-17 Veritas Operating Corporation Dynamic symbolic link resolution
US7085785B2 (en) 2002-02-15 2006-08-01 International Business Machines Corporation Writable file system snapshot with ditto address feature
US8549114B2 (en) 2002-06-12 2013-10-01 Bladelogic, Inc. Method and system for model-based heterogeneous server configuration management
US7089552B2 (en) 2002-08-29 2006-08-08 Sun Microsystems, Inc. System and method for verifying installed software
US7277999B1 (en) 2004-08-12 2007-10-02 Vmware, Inc. Restricting memory access to protect data when sharing a common address space
US7899788B2 (en) 2005-04-01 2011-03-01 Microsoft Corporation Using a data protection server to backup and restore data on virtual servers
US7827550B2 (en) 2005-08-17 2010-11-02 Intel Corporation Method and system for measuring a program using a measurement agent
JP4800031B2 (ja) 2005-12-28 2011-10-26 株式会社日立製作所 ストレージシステム及びスナップショット管理方法
JP4800056B2 (ja) 2006-02-09 2011-10-26 株式会社日立製作所 ストレージシステム及びその制御方法
US20080028034A1 (en) 2006-07-25 2008-01-31 Andrew Currid Method for mapping an iscsi target name to a storage resource based on an initiator hardware class identifier
US7571158B2 (en) 2006-08-25 2009-08-04 Oracle International Corporation Updating content index for content searches on networks
US8234641B2 (en) 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US8443440B2 (en) 2008-04-05 2013-05-14 Trend Micro Incorporated System and method for intelligent coordination of host and guest intrusion prevention in virtualized environment
US8615501B2 (en) 2008-06-23 2013-12-24 International Business Machines Corporation Hypervisor service to provide image version control support
US7966290B2 (en) 2008-07-29 2011-06-21 Novell, Inc. Backup without overhead of installed backup agent
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US8499297B2 (en) 2008-10-28 2013-07-30 Vmware, Inc. Low overhead fault tolerance through hybrid checkpointing and replay
US8650562B2 (en) 2009-06-12 2014-02-11 International Business Machines Corporation Method and apparatus for scalable monitoring of virtual machine environments combining base virtual machine and single monitoring agent for measuring common characteristics and individual virtual machines measuring individualized characteristics
US8732427B2 (en) 2009-08-03 2014-05-20 Quantum Corporation Systems and methods for collapsing a derivative version of a primary storage volume
US8381033B2 (en) 2009-10-30 2013-02-19 International Business Machines Corporation Fault management in virtual computing environments
JP5419639B2 (ja) * 2009-11-06 2014-02-19 三菱電機株式会社 計算機装置及び情報処理方法及びプログラム
WO2011082138A1 (en) 2009-12-31 2011-07-07 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
US8621233B1 (en) 2010-01-13 2013-12-31 Symantec Corporation Malware detection using file names
JP5416156B2 (ja) 2011-03-29 2014-02-12 株式会社日立システムズ 統合監視システム及び統合監視プログラム
US9286182B2 (en) 2011-06-17 2016-03-15 Microsoft Technology Licensing, Llc Virtual machine snapshotting and analysis
JP5733628B2 (ja) * 2011-09-29 2015-06-10 株式会社日立製作所 仮想計算機を制御する計算機装置及び仮想計算機の制御方法
US20130111018A1 (en) 2011-10-28 2013-05-02 International Business Machines Coporation Passive monitoring of virtual systems using agent-less, offline indexing
US8806625B1 (en) 2012-10-02 2014-08-12 Symantec Corporation Systems and methods for performing security scans
EP2725512B1 (en) 2012-10-23 2019-03-27 Verint Systems Ltd. System and method for malware detection using multi-dimensional feature clustering
JP2015026112A (ja) 2013-07-24 2015-02-05 富士通株式会社 ストレージ制御装置、制御プログラム及び制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030208463A1 (en) * 2002-04-10 2003-11-06 Emc Corporation Virtual storage devices
US20070055710A1 (en) * 2005-09-06 2007-03-08 Reldata, Inc. BLOCK SNAPSHOTS OVER iSCSI
US20080263658A1 (en) * 2007-04-17 2008-10-23 Microsoft Corporation Using antimalware technologies to perform offline scanning of virtual machine images
CN102419803A (zh) * 2011-11-01 2012-04-18 成都市华为赛门铁克科技有限公司 计算机病毒查杀方法、系统及装置
CN102419806A (zh) * 2011-12-15 2012-04-18 武汉大学 一种虚拟机批量离线杀毒方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HEINZ MAUELSHAGEN: "《NPL》", 23 September 2004 *

Also Published As

Publication number Publication date
WO2014204530A1 (en) 2014-12-24
GB201600749D0 (en) 2016-03-02
CN105339925B (zh) 2018-03-20
GB2529797A (en) 2016-03-02
US20140372596A1 (en) 2014-12-18
DE112014002877T5 (de) 2016-03-03
US9304885B2 (en) 2016-04-05
JP2016529592A (ja) 2016-09-23
GB2529797B (en) 2018-05-09
JP6380958B2 (ja) 2018-08-29

Similar Documents

Publication Publication Date Title
Hassan et al. Towards scalable cluster auditing through grammatical inference over provenance graphs
Zipperle et al. Provenance-based intrusion detection systems: A survey
US10423782B2 (en) Intelligent backup and versioning
Khan et al. Cloud log forensics: Foundations, state of the art, and future directions
CN105339925A (zh) 利用无代理、准实时索引的虚拟系统的被动监控
US10013318B2 (en) Distributed event correlation system
CN103930872B (zh) 使用可扩展索引编制的虚拟系统的被动监视
US20130111018A1 (en) Passive monitoring of virtual systems using agent-less, offline indexing
US20220279004A1 (en) Facilitating developer efficiency and application quality
CN107710164B (zh) 作为一种服务的灾难恢复
US8893272B2 (en) Method and device for recombining runtime instruction
Alqahtany et al. A forensic acquisition and analysis system for IaaS
CN110999249A (zh) 发现多个向量攻击的相似搜索
US11483325B2 (en) Differencing engine for digital forensics
CN105204973A (zh) 云平台下基于虚拟机技术的异常行为监测分析系统及方法
US9218139B2 (en) Minimally disruptive virtual machine snapshots
CN113315811A (zh) 基于联盟区块链的标识解析方法、装置、存储介质及服务器
US20140164378A1 (en) Source record management for master data
Stephen et al. Assured cloud-based data analysis with ClusterBFT
US20170091076A1 (en) Debugging remote vertex code on test machine
US11044324B2 (en) Method and device for maintaining session of network storage device
US12013970B2 (en) System and method for detecting and obfuscating confidential information in task logs
US20190158347A1 (en) Distributed system for self updating agents and provides security
CN114154155B (zh) 目标程序生成方法、勒索程序检测方法、装置、设备
US20240089283A1 (en) System and method for centralized cybersecurity configuration compliance management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant