CN103988177A - 基于维护寄存器的离线虚拟机的维护 - Google Patents

基于维护寄存器的离线虚拟机的维护 Download PDF

Info

Publication number
CN103988177A
CN103988177A CN201280061140.9A CN201280061140A CN103988177A CN 103988177 A CN103988177 A CN 103988177A CN 201280061140 A CN201280061140 A CN 201280061140A CN 103988177 A CN103988177 A CN 103988177A
Authority
CN
China
Prior art keywords
virtual machine
component software
old
virtual
register
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
CN201280061140.9A
Other languages
English (en)
Other versions
CN103988177B (zh
Inventor
C·马里内利
L·皮切蒂
F·本尼德提
J·方迪格尼耶
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 CN103988177A publication Critical patent/CN103988177A/zh
Application granted granted Critical
Publication of CN103988177B publication Critical patent/CN103988177B/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Abstract

建议了一种用于维护在数据处理系统中可用的虚拟机的解决方案。相应的方法(A1-A14)包括步骤:确定(A2)在每个虚拟机上安装的软件组件的列表,为每个软件组件检索(A3)一组维护策略,每个维护策略指示要被应用到相应的软件组件的补丁,根据维护策略和指示虚拟机的软件组件的当前状态的维护寄存器之间的比较,确定(A4-A6)其具有需要应用至少一个新的相应补丁的至少一个旧软件组件的一组旧虚拟机,应用(A7-A13)相应的至少一个新补丁到每个旧虚拟机的每个旧软件组件,以及根据所述至少一个新补丁应用到每个旧虚拟机的每个旧软件组件,更新(A14)维护寄存器。

Description

基于维护寄存器的离线虚拟机的维护
技术领域
根据本发明的一个或多个实施例的解决方案一般涉及数据处理领域。更具体而言,该解决方案涉及虚拟机的维护。
背景技术
虚拟设备是特定类型的软件设备。一般而言,软件设备是包括封装在预先构建的、自包含包中的软件应用(即,执行特定用户任务的一个或多个应用程序)以及刚刚足够操作系统,或JeOS(即,专门定制成支持软件应用的有限的操作系统)的软件解决方案。特别地,虚拟设备是被设计成在虚拟化的环境中运行的软件设备;为此目的,虚拟设备包括一个或多个虚拟机(即,通过物理机的软件来仿真),每个虚拟机都带有它的操作系统及应用程序。虚拟设备允许在任何需要的时候,通过简单地把它们转变成在线,以非常快速的方式提供相应的按需服务。
照例,每个虚拟设备的软件组件(即,操作系统和软件应用)在它们的生命周期期间受到连续的维护操作;尤其,不时地应用补丁(或修补)来升级软件组件––例如,以纠正程序缺陷或改善软件组件的操作。为此目的,大多数软件组件包括嵌入式更新工具,当相应的软件组件启动时,更新工具被周期性地调用。更新工具验证在关联的中央位置(例如,软件组件的供应商的网站)上是否可以得到新的补丁;如果是,那么下载新的补丁并且自动地应用到软件组件。可另选地,“Patch Auditing in Infrastructure as a Service Clouds-Lionel Litty,David Lie–VEE’11March9-11,2011,Newport Beach,California,USA”(其完整的公开内容通过引用结合于此)建议监视虚拟硬件以确定(可能未打补丁的)可执行程序或解释程序的执行。
因此,虚拟设备的软件组件只有当它们是在线时才可以升级。但是,虚拟设备可能置于离线很长一段时间;例如,当虚拟设备只是偶尔使用时,或者当虚拟设备始终离线是因为它们只用作主映像(用于它们的克隆和部署)或用作模板映像(用于基于其上的自定义虚拟设备的创建)时,会发生这种情况。因此,补丁没有及时地应用到这些(休眠的)虚拟设备的软件组件。当错过的补丁是相对重要的时,这会引起严重的问题;例如,过期的软件组件可能无法正确地工作,或者它们会暴露于安全漏洞。
目前解决上述问题的方法是周期性地把虚拟设备转变成在线;在相应的虚拟机上升级和运行扫描器(例如,防病毒),以便发现任何错过的补丁并且应用它们。但是,这是非常耗时的(尤其在可能存储很高数量的休眠虚拟设备的大系统中);而且,它导致浪费了相当大的系统资源(例如,处理、存储器和网络资源)用于扫描所有休眠的虚拟设备。
可另选地,“Securing Virtual Compute Infrastructure in theCloud,at http://www.savvis.com/en-US/Info_Center/Documents/HOS-WhitePaper-SecuringVirutalComputeInfrastructureintheCloud.pdf”(其完整的公开内容通过引用结合于此)提到可以调查虚拟机库以执行其风险分析的服务,以便提供一些离线打补丁能力;但是,这种技术是在自定义的虚拟机体系结构中实现的,使得它没有普遍的适用性。
为同样的目的,US-A-2009/0007105(其完整的公开内容通过引用结合于此)建议把每个虚拟机的映像呈现给由其它系统可读的文件系统数据(例如,通过把它的虚拟硬盘驱动器映像作为物理盘设备安装);所呈现的虚拟机然后可以被扫描以确定其关于要应用到其的可能的补丁的状态。
在任何情况下,上述技术都不是完全满意的。确实,由于当虚拟机离线时,大多数虚拟机操作系统的应用程序接口(API)是不可用的,因此离线虚拟机的检查在检索所需信息时有时会是无效的。
发明内容
一般而言,根据本发明的一个或多个实施例的解决方案是基于利用用于离线虚拟机维护的状态信息的思想。
特别地,在独立权利要求中阐述了根据本发明特定实施例的解决方案的一个或多个方面,并且在从属权利要求中阐述了同一解决方案的有益特征,在此通过引用逐字并入所有权利要求的描述(参考根据对其每个其它方面应用“必要的变更”(mutatis mutandis)的本发明实施例的特定方面,提供任何有益的特征)。
更具体地,根据本发明实施例的解决方案的一个方面提供了一种用于维护虚拟机的方法,其中(需要应用至少一个新补丁的)旧虚拟机是通过比较(指示要应用到软件组件的补丁的)维护策略和(指示在虚拟机中其当前状态的)维护寄存器来确定的。
根据本发明实施例的解决方案的再一个方面提供了相应的计算机程序。
根据本发明实施例的解决方案的仍然还有的一个方面提供了相应的计算机程序产品。
根据本发明实施例的解决方案的一个不同的方面提供了相应的系统。
附图说明
参考以下详细描述将最好地理解根据本发明的一个或多个实施例的解决方案以及其进一步的特征与优点,以下详细描述仅通过非限制性指示的方式给出,需要与附图结合阅读(其中,为简单起见,相应的元素用相同的或类似的标号来表示,并且不重复对它们的解释,并且每个实体的名称一般用来同时表示其类型和其属性––诸如,值、内容以及表示形式)。特别地:
图1示出了数据处理中心的图形表示,其中可以应用根据本发明实施例的解决方案;
图2示出了可以对其应用根据本发明实施例的解决方案的示例性虚拟化环境的框图;
图3A-图3C示出了根据本发明实施例的解决方案的应用的示例性场景;以及
图4示出了表示主软件模块的作用的协作图,其中主软件模块可以用来实现根据本发明实施例的解决方案。
具体实施方式
尤其参考图1,示出了其中可以实践根据本发明实施例的解决方案的数据处理中心100的示意性框图。
数据处理中心100是包括一组计算机105、一组存储系统110及用于控制它们的控制台115的设施,其中控制台115也可以具有用于读DVD或CD120的驱动器。路由器(或交换机)系统125管理计算机105、存储系统110和控制台115之间,以及(例如,通过互联网)与数据处理中心100外部的通信;为此目的,计算机105、存储系统110、控制台115和路由器系统125通过缆线系统130连接。
数据处理中心100的通用计算机105由并联到通信总线135的若干个单元构成。详细地说,一组(一个或多个)微处理器(μP)140控制计算机105的操作;RAM145被微处理器140直接用作工作存储器,并且ROM150存储用于计算机105的引导程序的基本代码。而且,计算机105包括网络适配器155,用来把计算机105连接到缆线系统130。
图2中示出了可以对其应用根据本发明实施例的解决方案的示例性虚拟化环境的框图。该虚拟化环境在上述数据处理中心的(物理的)计算机105上实现。计算机105的上述单元构成它的硬件,作为整体用标号205表示。直接在硬件205上运行的主机操作系统210定义它的软件平台,其中在软件平台上可以运行任何其它程序。在这种特定的情况下,在主机操作系统210上运行的虚拟化层215模拟一个或多个虚拟机220,每个虚拟机都包括看起来像物理机的抽象环境,其中虚拟机220对其具有唯一的控制。每个虚拟机220都包括现在在它的模拟的硬件上运行的客户操作系统225。客户操作系统225同样定义了虚拟机220的软件平台,在该软件平台上运行一个或多个应用程序230。上述虚拟机220可以实现虚拟设备235;每个虚拟设备235都包括一个或多个虚拟机220,每个虚拟机都带有它的(这这种情况下,JeOS类型的)客户操作系统225以及一个或多个被封装在预先构建的、自包含包240(例如,符合开放虚拟化格式(OVF))中的应用程序230;包240包括(带有包240和构成虚拟设备235的虚拟机220的元数据的)描述符245以及虚拟机220的每个虚拟盘的映像250(包括其快照)。
图3A-图3C中示出了根据本发明实施例的解决方案的应用的示例性场景。
从图3A开始,(实现为物理计算机或虚拟机的)数据处理中心的维护服务器305(例如,通过从包含它们的虚拟设备的描述符中提取相应的信息)确定在每个虚拟机220上安装的软件组件的列表。对于这样确定的每个软件组件,维护服务器305检索指示应该应用到软件组件的一个或多个补丁的维护策略––例如,通过从相应供应商(作为整体用标号310表示)的维护服务器下载它们。
转到图3B,维护服务器305然后确定哪个(旧)虚拟机220具有至少一个需要应用一个或多个(新)补丁的(旧)软件组件。在根据本发明实施例的解决方案中,为此目的,维护服务器305访问维护寄存器315,其指示虚拟机220的软件组件的当前状态(例如,它们的补丁级别);旧虚拟机220是根据维护策略和维护寄存器315之间的比较确定的(例如,通过把维护策略转换成在维护寄存器315上,并且可能在虚拟机220的映像上执行的相应查询)。
在这点上,如在图3C中所示出的,(例如,从同一补丁服务器310下载的)新补丁被应用到每个旧虚拟机220中相应的旧软件组件;同时,根据这些新补丁的应用更新维护寄存器315(例如,通过把旧软件组件的补丁级别升级到已经成功应用的新补丁)。
根据本发明实施例的上述解决方案允许在不把虚拟机220转变成在线的情况下对其进行升级;因此,即使虚拟机220置于离线很长一段时间(例如,当虚拟机220只偶尔地转变为在线时,或者当它们由于只用作主/模板映像而始终离线时),它们也可以保持在最新的。这使得防止了(或至少极大地减轻了)由错过补丁而引起的问题,尤其当这些补丁是相对重要的时(例如,由于损害软件组件的正确操作或使软件组件暴露于安全漏洞)。
特别地,在上述解决方案中,旧虚拟机的确定相对较快,并且它可以在减少系统资源浪费的情况下执行。
而且,该解决方案是普遍适用的。由于它不依赖于(当其离线时可能是不可用的)虚拟机操作系统的任何特定API,因此,同一解决方案也是十分有效的。
图4中示出了表示主软件模块的作用的协作图,其中主软件模块可以用来实现根据本发明实施例的解决方案。这些软件模块作为整体用标号400表示。信息(程序和数据)通常存储在硬盘中并且当程序运行时被(至少部分地)加载到每个计算机的工作存储器中。程序初始地例如从DVD-ROM中安装到硬盘上。特别地,该图同时描述了软件模块的静态结构和它们的动态行为(通过一系列交换的消息,每个消息表示相应的动作,用前面带有符号“A”的序列号表示)。
在数据处理中心可用的虚拟设备的所有包与它们的描述符405及(虚拟盘)映像410一起存储在包存储库415中。无论何时要实际使用任何虚拟设备时,它的虚拟机220转变为在线成为产品虚拟局域网(VLAN)420(动作“A1.打开”)。
维护服务器305的策略管理器425创建软件列表430;软件列表430是通过从虚拟设备的描述符405确定在数据处理中心可用的不同虚拟设备的每个虚拟机的软件组件创建的––例如,每个软件组件都通过由虚拟设备的标识符、虚拟设备中的虚拟机的标识符及软件组件的(简单的)标识符形成的合格的标识符来识别(A2.确定)。策略监视器435访问软件列表430;对于在软件列表430中指出的每个软件组件,策略监视器435从其供应商的补丁服务器310中(诸如经相应的布告栏)检索相应的维护策略440,每个维护策略都指示应该应用到软件组件的补丁445;例如,每个维护策略440都包括(合格的)软件组件标识符、应该带来的其版本和补丁级别、要应用的补丁445的标识符、其简要描述、其严重程度指示器、及要与相应的信息一起被更新的一个或多个文件的名称,诸如它们的循环冗余校验(CRC)值、安全属性,等等。策略监视器435把这样检索出的维护策略440存储到维护服务器305中,其中它们用标号450表示(动作“A3.检索”)。策略转换器455访问维护策略450。策略转换器455把每个维护策略450转换成对(指示虚拟设备的所有软件组件的当前状态的)维护寄存器315的寄存器查询460,并且可能转换成对映像410的映像查询465(动作“A4.转换”)。
策略代理470访问寄存器查询460和映像查询465两者。策略代理470在维护寄存器315上执行每个寄存器查询460。例如,维护寄存器315为每个虚拟设备存储记录,其中虚拟设备又为其每个虚拟机存储记录,其中虚拟机又为其每个软件组件存储记录;在讨论的例子中,软件组件的记录包括它的版本和补丁级别。在这种情况下,每个寄存器查询460的执行验证其虚拟设备的虚拟机中的软件组件的版本和补丁级别是否不同于(即,它们旧于)在相应的维护策略450中指示的软件组件的版本和补丁级别。对其结果是肯定的每个寄存器查询(然后相应的补丁必须应用到软件组件),把软件组件的(合格的)标识符及要被应用的补丁的标识符增加到旧列表475(动作“A5.执行”)。反而,对其结果是否定的每个寄存器查询460,策略代理470在其虚拟设备中的其虚拟机的映像410上(在包存储库415中)执行(对同一软件组件的)相应的映像查询465。例如,为此目的,策略代理470安装映像410(在不实例化相应的虚拟机的情况下),然后(从其维护策略450中)检索关于要被相应的补丁445更新的文件的信息;在讨论的例子中,映像查询465的执行验证每个文件的CRC和安全属性是否不同于在相应的维护策略450中指示的CRC和安全属性。对其结果是肯定的每个映像查询465(然后相应的补丁必须应用到软件组件),把软件组件的(合格的)标识符和要被应用的补丁的标识符增加到旧列表475(动作“A6.执行”)。
以这种方式,旧列表475将指示实际上需要应用一个或多个(新)补丁445的所有(旧)软件组件(在其虚拟设备的不同虚拟机中);优选地,旧软件组件在旧列表475中以应用相应新补丁445的顺序布置(例如,基于由维护策略450提供的它们的严重程度指示器)。这个信息也可以提供给系统管理员,系统管理员可以选择要被实际应用的新补丁445和/或手动地安排它们的应用。
在任何情况下,对于每个(在旧列表475中指示的)新补丁,维护管理器425(从其相应的维护策略450中)检索其严重程度指示器。如果严重程度指示器指示新补丁是重要的(例如,因为它的缺失损害相应软件组件的正确操作或者使其暴露于安全漏洞),那么维护管理器425把(在旧列表475中指示的)每个相应的旧虚拟机的映像410锁住;以这种方式,就可能防止在它们的软件组件的任何严重程序缺陷没有被纠正之前使用旧虚拟机(动作“A7.锁住”)。这时候,策略管理器425从相应的补丁服务器310把(在旧列表475中指示的)所有新补丁445下载到维护服务器305上,其中用标号480表示它们(动作“A8.下载”)。(在旧列表475中指示的)相应的虚拟机然后在(完全与产品VLAN425隔离的)受保护的VLAN485中转变为在线,其中用标号490表示它们(动作“A9.打开”)。维护管理器425引起新补丁480应用到旧虚拟机490中的软件组件;例如,这个结果可以通过简单地把新补丁480拷贝到相应的旧虚拟机490中然后启动它们来完成(动作“A10.应用”)。一旦(更新的)(带有所需要的新补丁480的)虚拟机490的正确操作被验证,那么维护管理器425创建其新的映像,该映像代替在包存储库415中的旧虚拟机的映像410––以确保当需要时使用虚拟机的最新版本(动作“A11.替换”)。维护管理器425然后把更新的虚拟机490转变成离线(动作“A12.关闭”)。(如果需要并可能的话)维护管理器425还解锁在包存储库415中更新的虚拟机490的映像410,以便允许它们的再次使用––因为相应的程序缺陷已经被纠正,因此现在可能没有问题(动作“A13.解锁”)。最后,维护管理器425相应地更新维护寄存器315(以便在更新的虚拟机490的记录中指示源自对其应用新补丁480的旧软件组件的新状态);为此目的,把相应记录中的信息更新为在相应维护策略450中指示的值–即,每个旧软件组件的版本和补丁级别以及在讨论的示例中其更新的文件的CRC和安全属性,这就足够了(动作“A14.更新”)。
自然地,为了满足本地的和特定的需求,本领域技术人员可以把多种逻辑和/或物理修改和变动应用到以上描述的解决方案。具体而言,虽然已经参考其一个或多个实施例以一定程度的特性描述了本解决方案,但是应当理解,在形式和细节中的各种省略、替换和改变以及其它实施例都是可能的。特别地,本发明的不同实施例甚至在没有上文描述中阐述的提供对其更透彻的理解的特定细节(诸如数值)的情况下也可以实践;相反,已经忽略或者简化了众所周知的特征,以避免用不必要的细节模糊本描述。而且,其明确的意图是,结合所公开解决方案的任何实施例所描述的特定元素和/或方法步骤可以并入任何其它实施例中,作为通用的设计选择。在任何情况下,术语包括、包含、具有和含有(及其任何形式)应该旨在带有开放、非穷举性的含义(即,不限于所列出的项目),术语基于、取决于、根据、用作(及其任何形式)应该旨在作为非穷举性的关系(即,有可能还涉及其它变量),并且术语一/一个应该旨在作为一个或多个条目(除非另外明确指出)。
例如,本发明的实施例提供了一种用于维护在(无论何种类型和基于任何虚拟化结构––诸如带管理程序的)数据处理系统中可用的(一个或多个)虚拟机的方法。
在本发明的实施例中,确定在每个虚拟机上安装的(一个或多个)软件组件的列表(或任何等效的数据结构)。
为每个软件组件检索一组(一个或多个)维护策略;每个维护策略指示要被应用到相应的软件组件的补丁。但是,维护策略可以具有任意格式、可以包括任何其它等效信息、或者可以以任何其它方式(甚至在本地从可移动存储介质中)提供。同样,补丁可以包括设计成修复任何问题和/或提高可用性或性能的任何软件片段;补丁也可以是不同的类型(例如,热修复)或尺寸(例如,涉及重大变化的服务包)。
根据维护策略和(指示虚拟机的软件组件的当前状态的)维护寄存器之间的比较,确定其具有需要应用至少一个新的相应补丁的至少一个旧软件组件的一组(一个或多个)旧虚拟机。但是,维护寄存器可以具有任意格式或可以包括任何其它等效信息。
相应的新补丁(或更多的补丁)应用到每个旧虚拟机的每个旧软件组件。然后根据所述新补丁(或更多的补丁)应用到每个旧虚拟机的每个旧软件组件,更新维护寄存器。
但是,如果用等效的方法实现同一解决方案(通过利用与其更多步骤或部分的相同功能类似的步骤、去除非本质性的一些步骤、或进一步增加可选的步骤),那么类似的考虑也适用;而且,这些步骤可以以不同的顺序、并发地或以(至少部分)交错的方式执行。
在本发明的实施例中,虚拟机在数据处理系统中是离线的。
但是,同样并不排除相同方法应用到在线的虚拟机(例如,通过强迫它们转变为离线用于应用所需的补丁)。
在本发明的实施例中,一组虚拟设备在数据处理系统中可用;每个虚拟设备都包括虚拟机的子集以及相应虚拟机和在其上安装的软件组件的描述符。在这种情况下,从相应的描述符中提取在每个虚拟设备的虚拟机上安装的软件组件的指示。
但是,描述符可以具有任意其它的(甚至所有者类型的)格式或者可以包括任何其它的等效信息;更一般而言,同一方法可以应用到通用虚拟机(即使它们没有包含在任何虚拟设备中)。
在本发明的实施例中,从每个维护策略产生对维护寄存器的寄存器查询。然后在维护寄存器上执行每个寄存器查询;根据相应的寄存器查询的执行结果确定旧软件组件。
但是,每个维护查询可以具有任意其它的(甚至包括多条指令的)格式并且可以基于等效信息。
在本发明的实施例中,每个虚拟机包括一组(一个或多个)虚拟盘映像。从每个维护策略产生对相应虚拟机的虚拟盘映像的映像查询;然后在相应的虚拟盘映像上执行每个映像查询;根据相应的映像查询的执行结果进一步确定旧软件组件。
但是,每个映像查询可以具有任意其它的(甚至包括多条指令的)格式并且可以基于等效信息;在任何情况下,这个特征可以在(其中旧软件组件仅仅是根据维护寄存器确定的)简化的实现中被省略。
在本发明的实施例中,为此目的,在维护环境中安装相应的虚拟盘映像。
但是,映像查询也可以以不同的方式(例如,通过把消息发送到虚拟机)或在任何等效的维护环境中(甚至与维护服务器分离)执行。
在本发明的实施例中,旧虚拟机在受保护的环境中转变成在线。相应的新补丁(或更多的补丁)在受保护环境中应用到旧虚拟机的每个旧软件组件。旧虚拟机然后转变成离线。
但是,补丁可以以任何其它的方式应用,甚至不用把相应的虚拟机转变为在线(例如,通过直接替换在相应的虚拟盘映像中所需的文件)。
在本发明的实施例中,响应其决定,锁住旧虚拟机的使用;然后响应相应的新补丁(或更多的补丁)成功应用到其每个旧软件组件,解锁旧虚拟机的使用。
但是,并不排除甚至在应用相应的补丁之前允许使用旧虚拟机的可能性。
在本发明的实施例中,这意味着锁住旧虚拟机的转变成在线和/或克隆。
但是,也可能只锁住转变成在线或只锁住旧虚拟机的克隆,或其任何其它的使用(例如,利用它作为模板的新虚拟机的创建)。
在本发明的实施例中,每个维护策略包括严重程度指示器;根据对应于其旧软件组件的新补丁(或更多的补丁)的维护策略的严重程度指示器,启用锁住旧虚拟机的使用。
但是,严重程度指示器可以具有任意其它格式和/或值(例如,基于严重程度的数字尺度)。在任何情况下,可能只为特定种类的新补丁(例如,安全补丁)或甚至为所有独立于要应用到它们的软件组件的新补丁的严重程度的虚拟机启用锁住。
本发明的实施例提供了一种计算机程序,其包括当计算机程序在系统上执行时,用于使数据处理系统(例如,上述数据处理中心)执行所建议的方法的步骤的代码装置。
但是,程序可以实现为独立的模块、用于管理工具的插件、或者甚至直接在管理工具本身中。显而易见,也可能把同一解决方案部署为通过网络(诸如互联网)访问的服务。在任何情况下,如果程序以不同的方式结构化,或者如果提供了附加的模块或功能,那么类似的考虑也适用;同样,存储器结构可以是其它类型的,或者可以用等效的实体(不必要包括物理存储介质)代替。程序可以采用任何适于由任何数据处理系统使用或(例如,在虚拟机内)与其结合的形式,从而把系统配置成执行所期望的操作;特别地,程序可以是以外部或驻留软件、固件、或微代码的形式(或者在目标代码中或者在源代码中––例如,要被编译或解释的)。而且,可能提供在任何计算机可用介质上的程序(并且特别地作为非易失性介质上的制造品);介质可以是适于包含、存储、通信、传播、或传输程序的任何元素。例如,介质可以是电子的、磁的、光学的、电磁的、红外的、或半导体类型;这种介质的例子是(其中程序可以被预加载的)固定盘、可移动盘、磁带、卡、线、光纤、无线连接、网络、广播波,等等。在任何情况下,根据本发明实施例的解决方案即使在利用硬件结构(例如,集成在半导体材料的芯片中)或利用适于被编程或以其它方式被配置的软件和硬件的组合的情况下,也适宜于实现。
本发明的实施例提供一种数据处理系统,其包括用于执行同一方法的步骤的装置。
但是,如果系统具有不同的结构或者包括等效的组件,或者它具有其它可操作的特性,那么类似的考虑也适用。在任何情况下,其每个组件可以分成多个元件,或者两个或更多的组件可以合并在一起形成单个元件;而且,每个组件可以被复制以支持相应操作的并行执行。还应该指出,(除非另外说明的)不同组件之间的任何交互通常不需要是连续的,并且它可以直接或间接通过一个或多个中介。更具体而言,同一方法还可以在基于不同体系结构(例如,本地、广域、全球、蜂窝或卫星网络)的数据处理系统上,并且利用任何类型(有线和/或无线)的连接来执行;而且,不排除它在独立计算机上的实现。在任何情况下,每个计算机可以具有另一种结构或可以包括类似的元件(诸如临时存储程序或其部分的高速缓存存储器);而且,可能利用基于物理机或虚拟机的任何代码执行实体(诸如PDA、移动电话等),或利用多个实体的组合(诸如多级体系结构、网格计算基础设施)来代替计算机。

Claims (12)

1.一种用于维护在数据处理系统中可用的虚拟机的方法(A1-A14),所述方法包括步骤:
确定(A2)在每个虚拟机上安装的软件组件的列表,
为每个软件组件检索(A3)一组维护策略,每个维护策略指示要被应用到相应的软件组件的补丁,
根据维护策略和指示虚拟机的软件组件的当前状态的维护寄存器之间的比较,确定(A4-A6)其具有需要应用至少一个新的相应补丁的至少一个旧软件组件的一组旧虚拟机,
把相应的至少一个新补丁应用(A7-A13)到每个旧虚拟机的每个旧软件组件,以及
根据所述至少一个新补丁应用到每个旧虚拟机的每个旧软件组件,更新(A14)维护寄存器。
2.如权利要求1所述的方法(A1-A14),其中虚拟机在数据处理系统中是离线的。
3.如权利要求1或2所述的方法(A1-A14),其中一组虚拟设备在数据处理系统中可用,每个虚拟设备都包括虚拟机的子集以及相应虚拟机和在其上安装的软件组件的描述符,并且其中确定(A2)在每个虚拟机上安装的软件组件的列表的步骤包括:
从相应的描述符中提取(A2)在每个虚拟设备的虚拟机上安装的软件组件的指示。
4.如权利要求1至3中任何一项所述的方法(A1-A14),其中确定(A4-A6)一组旧虚拟机的步骤包括:
从每个维护策略产生(A4)对维护寄存器的寄存器查询,以及
在维护寄存器上执行(A5)每个寄存器查询,根据相应的寄存器查询的执行结果确定旧软件组件。
5.如权利要求1至4中任何一项所述的方法(A1-A14),其中每个虚拟机包括一组虚拟盘映像,确定(A4-A6)一组旧虚拟机的步骤包括:
从每个维护策略产生(A4)对相应虚拟机的虚拟盘映像的映像查询,以及
在相应的虚拟盘映像上执行(A6)每个映像查询,根据相应的映像查询的执行结果进一步确定旧软件组件。
6.如权利要求5所述的方法(A1-A14),其中执行(A6)每个映像查询的步骤包括:
在维护环境中安装(A6)相应的虚拟盘映像。
7.如权利要求2至6中任何一项所述的方法(A1-A14),其中把相应的至少一个新补丁应用(A7-A13)到每个旧虚拟机的每个旧软件组件的步骤包括:
在受保护环境中把旧虚拟机转变(A9)成在线,
在受保护环境中把相应的至少一个新补丁应用(A10)到每个旧虚拟机的每个旧软件组件,以及
把旧虚拟机转变(A11-A12)成离线。
8.如权利要求7所述的方法(A1-A14),其中把相应的至少一个新补丁应用(A7-A13)到每个旧虚拟机的每个旧软件组件的步骤包括:
响应其决定,锁住(A7)旧虚拟机的使用,以及
响应把相应的至少一个新补丁成功应用到其每个旧软件组件,解锁(A13)旧虚拟机的使用。
9.如权利要求8所述的方法(A1-A14),其中锁住(A7)旧虚拟机的使用的步骤包括:
锁住(A7)旧虚拟机的转变成在线和/或克隆。
10.如权利要求8或9所述的方法(A1-A14),其中每个维护策略包括严重程度指示器,把相应的至少一个新补丁应用(A7-A13)到每个旧虚拟机的每个旧软件组件的步骤包括:
根据对应于其旧软件组件的所述至少一个新补丁的维护策略的严重程度指示器,启用(A7)锁住旧虚拟机的使用。
11.一种计算机程序(400),包括当计算机程序在数据处理系统上执行时,用于使数据处理系统(100)执行如权利要求1至10中任何一项所述的方法(A1-A14)的步骤的代码装置。
12.一种数据处理系统(100),包括用于执行如权利要求1至10中任何一项所述的方法(A1-A14)的步骤的装置(400)。
CN201280061140.9A 2011-12-12 2012-12-04 基于维护寄存器的离线虚拟机的维护 Active CN103988177B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11193047 2011-12-12
EP11193047.5 2011-12-12
PCT/IB2012/056946 WO2013088301A1 (en) 2011-12-12 2012-12-04 Maintenance of offline virtual machines based on maintenance register

Publications (2)

Publication Number Publication Date
CN103988177A true CN103988177A (zh) 2014-08-13
CN103988177B CN103988177B (zh) 2017-02-22

Family

ID=48611932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280061140.9A Active CN103988177B (zh) 2011-12-12 2012-12-04 基于维护寄存器的离线虚拟机的维护

Country Status (3)

Country Link
US (1) US9477504B2 (zh)
CN (1) CN103988177B (zh)
WO (1) WO2013088301A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI515658B (zh) * 2011-12-07 2016-01-01 萬國商業機器公司 用於創建虛擬裝置之方法及系統
US9477504B2 (en) 2011-12-12 2016-10-25 International Business Machines Corporation Maintenance of offline virtual machines based on a maintenance register
US9117093B2 (en) * 2012-09-26 2015-08-25 Ca, Inc. Centralized, policy-driven maintenance of storage for virtual machine disks (VMDKS) and/or physical disks
US9678769B1 (en) 2013-06-12 2017-06-13 Amazon Technologies, Inc. Offline volume modifications
US9965307B2 (en) * 2014-10-06 2018-05-08 Vmware, Inc. Building virtual appliances
US9680965B2 (en) * 2015-04-01 2017-06-13 Alcatel-Lucent Usa Inc. Software upgrades for offline charging systems within a network
US10296318B2 (en) * 2015-11-12 2019-05-21 Vmware, Inc. Offline tools upgrade for virtual machines
US10365907B2 (en) * 2015-11-12 2019-07-30 Vmware, Inc. Offline tools installation for virtual machines
US10949111B2 (en) 2018-11-28 2021-03-16 Red Hat Israel, Ltd. Updating operating system images of inactive compute instances
US11240127B1 (en) * 2019-03-01 2022-02-01 Pivotal Software, Inc. Indicator tools
US11941125B2 (en) * 2021-03-14 2024-03-26 Microsoft Technology Licensing, Llc Automatic update of VM sets

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070234343A1 (en) * 2006-01-27 2007-10-04 Microsoft Corporation Secure content publishing and distribution
US20090007105A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Updating Offline Virtual Machines or VM Images
US20090217255A1 (en) * 2008-02-25 2009-08-27 Rpath, Inc. Methods, systems, and computer program products for taking a snapshot of installed software on a data processing system as part of a software update process
CN101739007A (zh) * 2008-11-25 2010-06-16 费舍-柔斯芒特系统股份有限公司 过程控制系统中的软件部署管理器整合
US20110265076A1 (en) * 2010-04-21 2011-10-27 Computer Associates Think, Inc. System and Method for Updating an Offline Virtual Machine

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7810092B1 (en) * 2004-03-02 2010-10-05 Symantec Operating Corporation Central administration and maintenance of workstations using virtual machines, network filesystems, and replication
US20060271510A1 (en) * 2005-05-25 2006-11-30 Terracotta, Inc. Database Caching and Invalidation using Database Provided Facilities for Query Dependency Analysis
US8291409B2 (en) 2006-05-22 2012-10-16 Microsoft Corporation Updating virtual machine with patch on host that does not have network access
US9015703B2 (en) 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8011010B2 (en) 2007-04-17 2011-08-30 Microsoft Corporation Using antimalware technologies to perform offline scanning of virtual machine images
US8631397B2 (en) 2008-03-31 2014-01-14 Microsoft Corporation Virtualized application image patching
US8689292B2 (en) 2008-04-21 2014-04-01 Api Technologies Corp. Method and systems for dynamically providing communities of interest on an end user workstation
US8185884B2 (en) 2008-06-23 2012-05-22 Novell, Inc. System and method for offline updation of software in virtual machine (VM) images
US9361089B2 (en) 2008-07-22 2016-06-07 International Business Machines Corporation Secure patch updates of a virtual machine image in a virtualization data processing system
US8359594B1 (en) * 2009-06-30 2013-01-22 Sychron Advanced Technologies, Inc. Automated rapid virtual machine provisioning system
CA2674402C (en) * 2009-07-31 2016-07-19 Ibm Canada Limited - Ibm Canada Limitee Optimizing on demand allocation of virtual machines using a stateless preallocation pool
WO2011142753A1 (en) * 2010-05-12 2011-11-17 Hewlett-Packard Development Company, L.P. Methods, apparatus and articles of manufacture to update virtual machine templates
US8959511B2 (en) * 2010-12-14 2015-02-17 Microsoft Corporation Template virtual machines
US9477504B2 (en) 2011-12-12 2016-10-25 International Business Machines Corporation Maintenance of offline virtual machines based on a maintenance register

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070234343A1 (en) * 2006-01-27 2007-10-04 Microsoft Corporation Secure content publishing and distribution
US20090007105A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Updating Offline Virtual Machines or VM Images
US20090217255A1 (en) * 2008-02-25 2009-08-27 Rpath, Inc. Methods, systems, and computer program products for taking a snapshot of installed software on a data processing system as part of a software update process
CN101739007A (zh) * 2008-11-25 2010-06-16 费舍-柔斯芒特系统股份有限公司 过程控制系统中的软件部署管理器整合
US20110265076A1 (en) * 2010-04-21 2011-10-27 Computer Associates Think, Inc. System and Method for Updating an Offline Virtual Machine

Also Published As

Publication number Publication date
US20140325514A1 (en) 2014-10-30
WO2013088301A1 (en) 2013-06-20
US9477504B2 (en) 2016-10-25
CN103988177B (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN103988177A (zh) 基于维护寄存器的离线虚拟机的维护
CN102591675B (zh) 使用共享存储块管理多软件镜像的方法和系统
CN103034523B (zh) 用于虚拟设备的模型驱动的维护的方法和系统
CN101802807B (zh) 大规模联网系统中的软件部署
JP4716637B2 (ja) コンピュータサービスおよびプログラマブルデバイスの管理を自動化するシステムおよび方法
CN101821727B (zh) 管理更新以创建虚拟机复制品
TW201928707A (zh) 自動部署資訊技術(it)系統及方法
US20070234337A1 (en) System and method for sanitizing a computer program
RU2483349C2 (ru) Поэтапная, облегченная система резервного копирования
CN101454765B (zh) 用补丁等来更新虚拟机的方法
CN104011677B (zh) 利用流技术在多个目标上部署软件映像的方法及系统
CN102193817B (zh) 简化物理和虚拟部署的管理
US20060259594A1 (en) Progressive deployment and maintenance of applications on a set of peer nodes
US9037843B2 (en) Managing a target computing device
CN102567042A (zh) 利用引导块重定位来管理多个软件镜像的方法和系统
CN102681865A (zh) 分布式系统中的协调升级
CN101114233A (zh) 固件更新的设备与方法
WO2009064781A2 (en) Method of automated operating system deployment for a network of multiple data processors
CN101159596A (zh) 用于布置服务器的方法和设备
US20230097733A1 (en) Methods and systems to automatically deploy vulnerability fixes for software and firmware components
US11593171B2 (en) Reservation-based high-performance computing system and method
US20240134656A1 (en) Self-contained worker orchestrator in a distributed system
US11372979B2 (en) Computing device login failsafe
CN115022317B (zh) 基于云平台的应用管理方法、装置、电子设备及存储介质
US11928218B2 (en) (BIOS) enforced application blocklist system and method

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