CN101727331A - 升级活动虚拟机的客户操作系统的方法和设备 - Google Patents
升级活动虚拟机的客户操作系统的方法和设备 Download PDFInfo
- Publication number
- CN101727331A CN101727331A CN200810171902A CN200810171902A CN101727331A CN 101727331 A CN101727331 A CN 101727331A CN 200810171902 A CN200810171902 A CN 200810171902A CN 200810171902 A CN200810171902 A CN 200810171902A CN 101727331 A CN101727331 A CN 101727331A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- active
- backup
- image file
- disk image
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种升级活动虚拟机的客户操作系统的方法和设备。所述方法包括:复制活动虚拟机以产生备份虚拟机,该备份虚拟机使用被设置为只读的活动虚拟机的虚拟盘镜像文件作为其虚拟盘镜像文件;升级备份虚拟机的客户操作系统;将在活动虚拟机运行期间要对虚拟盘镜像文件进行的改变与在所述升级期间要对虚拟盘镜像文件进行的改变合并到该虚拟盘镜像文件中;暂停备份虚拟机;将在活动虚拟机中运行的Java应用程序的活动进程迁移到备份虚拟机中以产生备份进程;将所述Java应用程序的活动进程占用的资源迁移到备份虚拟机中,使得该备份进程占用相同的资源;以及恢复运行备份虚拟机。
Description
技术领域
本发明涉及一种升级活动(active)虚拟机的客户操作系统的方法和设备。
背景技术
在当前的商业领域中,可用性(availability)成为评价系统性能的一个关键因素。可用性是指当在未知或随机的时刻调用一项任务时,提供服务的系统、子系统或设备能够工作并且在该任务开始时处于可承担任务(committable)的状态的程度。简单地说,可用性可以用系统处于工作状态下的时间的比例来表示。从高端的银行服务到低端的web服务的很多服务,24×7不间断工作是一项重要要求。在过去的数十年中,为了获得高可用性(HA)的系统,已经在硬件级HA设备、软件级中间件、集群及面向HA的应用程序设计原理等多个方面开发了很多技术。
目前,商业系统的技术趋势是面向服务架构(SOA),其基本概念是建立很多单独的、可重用的独立服务,这些服务能够被快速地集成到一个大系统中。虚拟化成为容留大量这种独立服务的良好平台。具体地,在物理机上建立多个彼此独立的虚拟机(VM),每个小的服务在各个虚拟机中运行。由此,虚拟化能够将提供各种服务的大量独立的小机器合并到一个大服务器上,从而降低了顾客拥有能够提供多种服务的系统的成本并且使得整个系统易于管理,能够更高效地使用大服务器的资源。由此,消除了为单个工作负荷峰值过度配置资源的需要。
然而,使用虚拟机的传统商业服务系统需要解决的一个问题是:如何在保持所提供的服务的可用性的同时更新支持该服务的平台(例如,该服务所在的虚拟机的操作系统,即客户操作系统)。传统地,在正在运行的虚拟机(即,活动虚拟机)的客户操作系统(OS)中安装了用于升级该客户操作系统的补丁之后,往往需要重新启动该虚拟机,这将导致在重新启动期间通过该虚拟机提供的服务将转变为不可用状态,使得客户蒙受商业上的损失。
因此,需要一种能够在保持服务可用性的同时升级活动虚拟机的客户操作系统的方法和设备。
发明内容
考虑到以上问题而做出了本发明。本发明的一个目的是提供一种升级活动虚拟机的客户操作系统的方法和设备,其能够在保持通过该活动虚拟机提供的服务的可用性的同时完成对该虚拟机的客户操作系统的升级,从而提高整个系统的可用性。
根据本发明的一个方面,提供了一种升级活动虚拟机的客户操作系统的方法,包括:复制活动虚拟机以产生备份虚拟机,该备份虚拟机使用被设置为只读的活动虚拟机的虚拟盘镜像文件作为其虚拟盘镜像文件;升级备份虚拟机的客户操作系统;将在活动虚拟机运行期间要对虚拟盘镜像文件进行的改变与在所述升级期间要对虚拟盘镜像文件进行的改变合并到该虚拟盘镜像文件中;暂停备份虚拟机;将在活动虚拟机中运行的Java应用程序的活动进程迁移到备份虚拟机中以产生备份进程;将所述Java应用程序的活动进程占用的资源迁移到备份虚拟机中,使得该备份进程占用相同的资源;以及恢复运行备份虚拟机。
根据本发明的另一方面,提供了一种升级活动虚拟机的客户操作系统的设备,包括:复制单元,复制活动虚拟机以产生备份虚拟机,该备份虚拟机使用被设置为只读的活动虚拟机的虚拟盘镜像文件作为其虚拟盘镜像文件;升级单元,升级备份虚拟机的客户操作系统;合并单元,将在活动虚拟机运行期间要对虚拟盘镜像文件进行的改变与在所述升级期间要对虚拟盘镜像文件进行的改变合并到该虚拟盘镜像文件中;迁移单元,将在活动虚拟机中运行的Java应用程序的活动进程迁移到备份虚拟机中以产生备份进程,并且将所述Java应用程序的活动进程占用的资源迁移到备份虚拟机中,使得该备份进程占用相同的资源;以及控制单元,其在迁移单元迁移所述活动进程和资源之前暂停备份虚拟机,并且在迁移单元迁移所述活动进程和资源之后恢复运行该备份虚拟机。
根据本发明上述方面的升级活动虚拟机的客户操作系统的方法和设备能够在不中断由活动虚拟机提供的服务的情况下,更新该活动虚拟机的客户操作系统,从而提高整个系统的可用性。
附图说明
通过结合附图对本发明的实施例进行详细描述,本发明的上述和其它目的、特征、优点将会变得更加清楚,其中:
图1是示出根据本发明实施例的升级活动虚拟机的客户操作系统的方法的流程图;
图2是示出在图1所示的步骤S105中迁移Java应用程序的活动进程的操作的流程图;
图3是示出在图1所示的步骤S106中迁移Java应用程序的活动进程占用的资源的操作的流程图;
图4是示出根据本发明实施例的升级活动虚拟机的客户操作系统的设备的框图。
具体实施方式
下面将参照附图来描述根据本发明实施例的升级活动(active)虚拟机的客户操作系统的方法和设备。在附图中,相同的参考标号自始至终表示相同的元件。应当理解:这里描述的实施例仅仅是说明性的,而不应被解释为限制本发明的范围。
众所周知,通过在物理机的操作系统(称为宿主操作系统或宿主OS)安装诸如VMware等的虚拟机软件并且利用该虚拟机软件进行配置来在物理机上形成一个或多个虚拟机。根据需要,可以在各个虚拟机中安装被称为客户操作系统(Guest OS)的操作系统,例如和Linux等,并且可以通过在该客户操作系统上运行各种应用程序(例如Java应用程序)以提供相应的服务。从物理机的角度来看,所述虚拟机对应于存储在物理机存储器上的虚拟盘镜像文件及相关配置文件。
在物理机上的虚拟机中,为了使Java应用程序能够与虚拟机的客户操作系统无关地运行,需要在该虚拟机的客户操作系统中安装Java虚拟机,每个Java应用程序的进程在Java虚拟机中运行,并且占用由Java虚拟机管理的存储空间和诸如端口之类的资源。所述存储空间和资源进一步与该Java虚拟机所在的虚拟机的客户操作系统所管理的存储空间和资源相关联。由于虚拟机仅仅是在物理机的基础上模拟真实的机器,因此,这些存储空间和资源最终将指向物理机上的存储空间和资源。例如,对于由Java应用程序的活动进程使用的虚拟存储器地址,在该活动进程所在的Java虚拟机(最上层)中保存有指示将该虚拟存储器地址映射到由虚拟机的客户操作系统管理的存储器地址的映射关系的映射表;同样,对于所述虚拟机的客户操作系统管理的存储器地址,在虚拟机的客户操作系统中保存有指示将该存储器地址映射到由虚拟机管理的存储器地址的映射关系的映射表;对于由虚拟机管理的存储器地址,在虚拟机中保存有指示将该存储器地址映射到由物理机的宿主操作系统管理的存储器地址的映射关系的映射表;对于由物理机的宿主操作系统管理的存储器地址,在物理机的宿主操作系统(最下层)中保存有指示将该存储器地址映射到物理机的物理存储器地址的映射关系的映射表。类似地,对于活动进程使用的各种资源,在上述各层中分别存在类似的指示各层之间资源的映射关系的映射表。除了映射表以外,也可以采用其它数据结构来指示所述映射关系。通过这些映射关系,可以逐层地将Java应用程序的活动进程在Java虚拟机中使用的虚拟存储空间和各种虚拟资源映射到物理机的物理存储空间和各种物理资源。
为了例如弥补客户操作系统的安全漏洞或者向客户操作系统增加新功能,常常需要以安装补丁的方式来升级客户操作系统。如上所述,传统地,在升级客户操作系统之后需要重新启动该客户操作系统所在的虚拟机,使得通过该虚拟机提供的服务中断并且系统的可用性变差。为此,本发明提出了一种升级活动虚拟机的客户操作系统的方法和设备,其复制原活动虚拟机以产生具有相同设置的备份虚拟机、升级备份虚拟机上的客户操作系统,然后将在原虚拟机上运行的应用程序进程迁移到备份虚拟机上,来在不中断服务的情况下实现客户操作系统的升级。
下面,将参照附图来详细描述根据本发明实施例的方法和设备。
首先,将参照图1来描述根据本发明实施例的升级活动虚拟机的客户操作系统的方法。图1示出了该方法的流程图。
如上所述,在物理机上的一个或多个活动虚拟机的客户操作系统中运行一个或多个应用程序以提供相应的服务。这里,为便于说明,假设对一个活动的客户操作系统进行升级。然而,应当认识到,本发明也适用于对多个虚拟机的客户操作系统进行升级的情况。
如图1所示,在步骤S101中,复制该活动虚拟机以产生备份虚拟机,该备份虚拟机使用被设置为只读的活动虚拟机的虚拟盘镜像文件作为其虚拟盘镜像文件。具体地,在复制之前,将正在运行的活动虚拟机的虚拟盘镜像文件设置为只读。然后,利用例如虚拟机软件来创建具有与该活动虚拟机相同设置的备份虚拟机,并且将该备份虚拟机设置为使用被只读的活动虚拟机的虚拟盘镜像文件作为其虚拟盘镜像文件。在本发明的实施例中,活动虚拟机和备份虚拟机位于同一物理机上。
在将活动虚拟机的虚拟盘镜像文件设置为只读时,该活动虚拟机的客户操作系统以及在该客户操作系统下运行的应用程序进程仍然在运行,即处于活动状态,因此可能需要对该虚拟机的虚拟盘镜像文件进行写操作。此时,如果要进行这种写操作,则将其定向到另外的增量盘文件(以下称为第一增量盘文件),即,将所述客户操作系统以及应用程序的活动进程需要写入到虚拟盘镜像文件中的内容写入到第一增量盘文件中,使得在第一增量盘文件中存储在活动虚拟机运行期间要对虚拟盘镜像文件进行的改变。
在产生了备份虚拟机之后,在步骤S102中,升级该备份虚拟机的客户操作系统。例如,可以启动该备份虚拟机,并且通过将客户操作系统的补丁(patch)安装到该客户操作系统中来升级该客户操作系统。在本发明的实施例中,通过安装补丁来升级客户操作系统的方法与传统方法基本相同,区别在于:由于该备份虚拟机使用原活动虚拟机的虚拟盘镜像文件的只读版本作为其虚拟盘镜像文件,因此,在升级过程中,将需要对备份虚拟机所使用的这一虚拟盘镜像文件执行的写操作定向到另外的增量盘文件(以下称为第二增量盘文件),即,将升级过程中需要写入备份虚拟机的虚拟盘镜像文件中的内容写入到第二增量盘文件中,使得在第二增量盘文件中存储在所述升级期间要对虚拟盘镜像文件进行的改变。
随后,在步骤S103中,将在活动虚拟机运行期间要对虚拟盘镜像文件进行的改变与在所述升级期间要对虚拟盘镜像文件进行的改变合并到该虚拟盘镜像文件中。优选地,在进行该合并步骤之前,首先将该活动虚拟机和在其中运行的应用程序的活动进程暂停以避免在合并期间产生新的写入操作,并且将先前被设置为只读的虚拟盘镜像文件设置为可写。然后,将存储在第一增量盘文件和第二增量盘文件中的内容合并到该虚拟盘镜像文件中。合并所述文件的方法是本领域公知的,因此为简单起见而省略对其的详细描述。应当注意:由于存储在第一增量盘文件和第二增量盘文件中的内容可能包含对虚拟盘镜像文件的同一部分进行的改变,因此在第一增量盘文件和第二增量盘文件之间可能会发生冲突。在实践中,发生这种冲突的几率很小。然而,如果发生这种冲突,可以将第二增量盘文件的优先级设置为高于第一增量盘文件,即,可以基于第二增量盘文件来修改虚拟盘镜像文件。
接下来,在步骤S104中,暂停所述备份虚拟机。
由于在原活动虚拟机中运行的Java应用程序的活动进程正在提供服务,因此为了在不中断该服务的情况下完成升级,需要在备份计算机中启动相同的备份进程,然后将服务提供者从原活动进程无缝地切换到该备份进程。为此,在步骤S105中,将在活动虚拟机中运行的Java应用程序的活动进程迁移到备份虚拟机中以产生所述备份进程。例如,可以在备份虚拟机中创建所述Java应用程序的新进程(即,备份进程),并且将与所述活动进程在原活动虚拟机中占用的存储空间相同的存储空间与该新进程相关联,使得该新进程拥有与原活动进程相同的存储空间。
由于所述Java应用程序的原活动进程在活动虚拟机中运行时还占用了诸如端口之类的系统资源,因此为了使所产生的备份进程能够提供相同的服务,需要使该备份进程在备份虚拟机中也占用相同的资源。因此,接下来,在步骤S106中,将所述Java应用程序的活动进程占用的资源迁移到备份虚拟机中,使得该备份进程占用相同的资源。
由此,由于备份虚拟机中的Java应用程序的备份进程占用与原活动进程相同的存储空间和资源,因此其能够提供与原活动进程相同的服务。
下面,将参照图2来更详细地描述图1所示的步骤S105。图2是示出在步骤S 105中迁移Java应用程序的活动进程的操作的流程图。
在暂停备份虚拟机之后,在步骤S1051,获取所述Java应用程序的活动进程在原活动虚拟机中占用的虚拟存储器地址,该虚拟存储器地址表示所述活动进程在原活动虚拟机中占用的存储空间。
接下来,在步骤S1052,根据活动虚拟机管理的虚拟存储器地址与该活动虚拟机所在的物理机中的物理存储器地址之间的映射关系,将所获取的虚拟存储器地址转换为所述活动进程占用的物理机中的物理存储器地址,该物理存储器地址表示所述活动进程实际占用的物理机中的存储空间。如上所述,在包括Java应用程序的活动进程所在的Java虚拟机、该Java虚拟机所在的活动虚拟机的客户操作系统、该活动虚拟机、以及该活动虚拟机所在的物理机的宿主操作系统的各层中分别保存有指示在本层管理的存储器地址与在下层管理的存储器地址之间的映射关系的映射表,可以基于这些映射关系来获得由活动虚拟机管理的虚拟存储器地址与该虚拟机所在的物理机中的物理存储器地址之间的映射关系,从而实现所述转换。
随后,在步骤S1053,将对所述物理存储器地址的控制权从原活动虚拟机移交给备份虚拟机。例如,可以通过在备份虚拟机中建立映射表来实现这一移交,其中所述映射表指示将与原活动虚拟机管理的用于所述活动进程的存储器地址相同的存储器地址映射到所述物理存储器地址的映射关系。
接下来,在步骤S1054,在备份虚拟机的升级后的客户操作系统中,创建所述Java应用程序的备份进程,并且将用于该备份进程的存储空间指向所述物理存储器地址。例如,可以按照从下层到上层的顺序在所述备份进程所在的Java虚拟机、该Java虚拟机所在的虚拟机的客户操作系统、该Java虚拟机所在的虚拟机、以及该虚拟机所在的物理机的宿主操作系统中建立指示各层管理的存储器地址之间的映射关系的映射表,并且通过这些映射表将备份进程在Java虚拟机中使用的存储空间依序关联到在各层中管理的对应存储器地址并且最终关联到由所述物理存储器地址表示的存储空间。以这一方式,实现了原活动虚拟机中的Java应用程序的活动进程向备份虚拟机的迁移。在这里,由于原虚拟机与备份虚拟机位于同一台物理机中,因此可以通过创建指示在各层中管理的存储器地址之间的映射关系的映射表来迁移Java应用程序的进程,避免了耗时的复制操作。
下面,将参照图3来更详细地描述图1所示的步骤S106。图3是示出在图1所示的步骤S106中迁移Java应用程序的活动进程占用的资源的操作的流程图。
如上所述,原Java应用程序的活动进程在Java虚拟机中占用的资源最终指向物理机中的真实物理资源。即,所述活动进程在Java虚拟机中占用的资源将被Java虚拟机映射到该Java虚拟机所在的虚拟机的客户操作系统管理的资源,该客户操作系统管理的资源被该客户操作系统映射到所述虚拟机管理的资源,该虚拟机管理的资源被虚拟机映射到物理机的宿主操作系统管理的物理资源。为了使得迁移后的应用程序能够正常工作并且提供不中断地提供与原活动进程相同的服务,需要将原活动进程占用的资源无误地迁移到升级后的客户操作系统中,使得备份进程也占用相同的资源。
参照图3,在步骤S1061中,找出所述Java应用程序的原活动进程分别在对应的Java虚拟机、活动虚拟机的客户操作系统、活动虚拟机、以及物理机中占用的所有资源。例如,可以首先找出所述活动进程在Java虚拟机中占用的各种资源R1,然后根据存储在包括该Java虚拟机所在的虚拟机的客户操作系统、该Java虚拟机所在的虚拟机、以及该虚拟机所在的物理机的宿主操作系统的各层中保存的对应映射关系,依次找出每个资源R1对应的由所述客户操作系统管理的资源R2、每个资源R2对应的由所述虚拟机管理的资源R3、以及每个资源R3对应的由所述物理机的宿主操作系统管理的资源R4。
接下来,在步骤S1062中,按照从下层到上层的顺序将所找出的所有资源迁移到备份虚拟机中,使得备份虚拟机中的备份进程占用与原活动进程相同的资源。例如,在找出资源R1-R4之后,可以按照以下方式来将这些资源迁移到备份虚拟机中:首先,参照与资源R4相关联的、由原活动虚拟机管理的资源R3,在备份虚拟机中创建资源指针,该指针将由备份虚拟机管理的、与所述资源R3相同的资源R3’关联到资源R4;然后,参照与资源R3相关联的、由原活动虚拟机的客户操作系统管理的资源R2,在备份虚拟机的升级后的客户操作系统中建立资源指针,该指针将由备份虚拟机的客户操作系统管理的、与所述资源R2相同的资源关联到资源R3’;接下来,参照与资源R2相关联的、由原活动进程所在的Java虚拟机管理的资源R1,在所述备份进程所在的Java虚拟机中建立将其管理的、与所述资源R1相同的资源R1’关联到R2’的资源指针;最后,将资源R1’关联到所述备份进程。由此,备份虚拟机中的备份进程占用与原活动进程占有的资源相同的资源R1’、R2’、R3’和R4。这里的资源指针可以是上文所述的指示映射关系的映射表或其它数据结构。
由于在原活动虚拟机中运行的所述Java应用程序可能对应于一个或多个活动进程,因此,对于Java应用程序的每个活动进程,都重复步骤S105和S106。由此,在备份虚拟机中为所有活动进程建立与这些活动进程在原活动虚拟机中的运行环境相同的运行环境。
返回图1,在完成了上述迁移之后,在步骤S106中,恢复运行先前被暂停的备份虚拟机。因此,在备份虚拟机中建立的进程基于所迁移的资源执行后续操作,使得服务的提供者由原活动进程切换为该备份进程,从而无中断地提供服务。
可以看到:通过对通过复制原活动虚拟机获得的备份虚拟机的客户操作系统进行升级,将在原活动虚拟机中运行的应用程序及其资源迁移到该备份虚拟机中,然后利用该备份虚拟机来代替原来的活动虚拟机,可以在不中断所述服务的情况下更新虚拟机的客户操作系统。
下面,将参照图4来描述根据本发明实施例的升级活动虚拟机的客户操作系统的设备,图4是示出该设备的框图。
如图4所示,根据本发明实施例的升级活动虚拟机的客户操作系统的设备400包括:控制单元402、复制单元404、升级单元406、合并单元408和迁移单元410。
对于其客户操作系统要升级的活动虚拟机200,复制单元402复制该活动虚拟机200以产生备份虚拟机202,该备份虚拟机202使用被设置为只读的活动虚拟机的虚拟盘镜像文件作为其虚拟盘镜像文件。升级单元406用于升级备份虚拟机的客户操作系统。合并单元408将在活动虚拟机200运行期间要对虚拟盘镜像文件进行的改变与在所述升级期间要对虚拟盘镜像文件进行的改变合并到该虚拟盘镜像文件中。迁移单元410将在活动虚拟机200中运行的Java应用程序的活动进程迁移到备份虚拟机202中以产生备份进程,并且将所述Java应用程序的活动进程占用的资源迁移到备份虚拟机202中,使得该备份进程占用相同的资源。控制单元402在迁移单元迁移所述活动进程和资源之前暂停备份虚拟机,并且在迁移单元迁移所述活动进程和资源之后恢复运行该备份虚拟机。控制单元402还可以在整个升级期间执行其它控制。
下面,将结合使用设备400来升级活动虚拟机的客户操作系统的过程来描述各个单元的功能。
复制单元404复制正在提供服务的活动虚拟机200以产生备份虚拟机202,该备份虚拟机202使用被设置为只读的活动虚拟机200的虚拟盘镜像文件作为其虚拟盘镜像文件。具体地,在复制之前,控制单元402将正在运行的活动虚拟机200的虚拟盘镜像文件设置为只读。复制单元404利用诸如VMware之类的虚拟机软件来创建具有与该活动虚拟机200相同设置的备份虚拟机202,并且将该备份虚拟机202设置为使用被只读的活动虚拟机200的虚拟盘镜像文件作为其虚拟盘镜像文件。如上所述,活动虚拟机200和备份虚拟机202位于同一物理机上。
由于活动虚拟机200的虚拟盘镜像文件被设置为只读,而活动虚拟机200的客户操作系统以及在该客户操作系统下运行的应用程序进程仍然处于活动状态,并且可能需要进行写操作,因此,控制单元402将在活动虚拟机200运行期间需要对其虚拟盘镜像文件进行的写操作定向到第一增量盘文件,使得将需要写入到虚拟盘镜像文件中的内容(即,在活动虚拟机200运行期间要对虚拟盘镜像文件进行的改变)写入到第一增量盘文件中。
升级单元406升级所产生的备份虚拟机202的客户操作系统。例如,升级单元406可以启动该备份虚拟机202,并且通过将客户操作系统的补丁安装到该备份虚拟机202的客户操作系统中来升级该客户操作系统。升级单元406升级客户操作系统的方法与传统方法基本相同。然而,由于备份虚拟机202使用原活动虚拟机200的虚拟盘镜像文件的只读版本作为其虚拟盘镜像文件,因此,对于在升级过程中需要对该虚拟盘镜像文件进行的写操作,控制单元402进行控制以便将其定向到第二盘镜像文件,使得在第二增量盘文件中存储在所述升级期间要对虚拟盘镜像文件进行的改变。
合并单元408将在活动虚拟机200运行期间要对虚拟盘镜像文件进行的改变与在所述升级期间要对虚拟盘镜像文件进行的改变合并到该虚拟盘镜像文件中。在进行该合并之前,控制单元402暂停活动虚拟机200和在其中运行的应用程序的活动进程,并且将先前被设置为只读的虚拟盘镜像文件设置为可写。合并单元408通过利用本领域公知的方法将存储在第一增量盘文件和第二增量盘文件中的内容合并到该虚拟盘镜像文件中来合并所述改变。如果存储在第一增量盘文件和第二增量盘文件中的内容包含对虚拟盘镜像文件的同一部分进行的改变从而发生冲突,则合并单元408可以基于第二增量盘文件来修改所述虚拟盘镜像文件。当然,在实践中出现这种冲突的几率很小。
在合并了所述文件之后,控制单元402暂停所产生的备份虚拟机202。
迁移单元410将在原活动虚拟机200中运行的Java应用程序的活动进程迁移到备份虚拟机202中,以便在备份虚拟机202中产生备份进程。具体地,迁移单元410获取所述Java应用程序的活动进程在活动虚拟机200中占用的虚拟存储器地址,即,存储空间。然后,迁移单元401根据活动虚拟机200中的虚拟存储器地址与该虚拟机所在的物理机中的物理存储器地址之间的映射关系,将所获取的虚拟存储器地址转换为所述活动进程占用的物理机中的物理存储器地址,该物理存储器地址表示所述活动进程实际占用的物理机中的存储空间。如上所述,迁移单元410可以利用在Java应用程序的活动进程所在的Java虚拟机、该Java虚拟机所在的虚拟机200的客户操作系统、虚拟机200、以及虚拟机200所在的物理机的宿主操作系统中分别保存的指示在本层中管理的存储器地址与在下层中管理的存储器地址之间的映射关系的映射表来获得所述活动虚拟机200中的虚拟存储器地址与该虚拟机200所在的物理机中的物理存储器地址之间的映射关系。应当注意:也可以用除了映射表之外的其它数据结构来指示所述映射关系。
迁移单元410将对所述物理存储器地址的控制权从原活动虚拟机200移交给备份虚拟机202。例如,迁移单元410可以通过在备份虚拟机202中建立映射表来实现这一移交,其中所述映射表指示将与原虚拟机200管理的用于所述活动进程的存储器地址相同的存储器地址映射到所述物理存储器地址的映射关系。
迁移单元410还在备份虚拟机202中的升级后的客户操作系统中创建所述Java应用程序的备份进程,并且将用于该备份进程的存储空间指向所述物理存储器地址。例如,迁移单元410可以按照从下层到上层的顺序在该备份进程所在的Java虚拟机、该Java虚拟机所在的虚拟机202的客户操作系统、虚拟机202、以及虚拟机202所在的物理机的宿主操作系统中建立指示在各层中管理的存储器地址之间的映射关系的映射表,并且通过这些映射表将备份进程在Java虚拟机中使用的存储空间依序关联到在各层中管理的对应存储器地址并且最终关联到由所述物理存储器地址表示的存储空间。以这一方式,迁移单元410将原活动进程迁移到备份虚拟机中。
迁移单元410还将所述Java应用程序的活动进程在活动虚拟机200中占用的资源迁移到备份虚拟机202中,使得备份虚拟机中的备份进程占用与原活动进程相同的资源。例如,迁移单元410可以找出所述Java应用程序的原活动进程分别在对应的Java虚拟机、活动虚拟机200的客户操作系统、活动虚拟机200、以及物理机中占用的所有资源,并且按照从下层到上层的顺序将所找出的所有资源逐步迁移到备份虚拟机202中,使得在备份虚拟机200中创建的备份进程占用与原活动进程占用的资源相同的资源。迁移单元410可以按照与图3所示的方法相似的方法来实现上述迁移,因此为简单起见,在这里省略对该迁移过程的详细描述。
对于在原活动虚拟机200中运行的Java应用程序的每一个活动进程,迁移单元410都重复上述操作,直到在备份虚拟机202中为所有活动进程建立与这些活动进程在原活动虚拟机200中的运行环境相同的运行环境为止。然后,控制单元402恢复运行先前被暂停的备份虚拟机202,使得备份虚拟机202中的备份进程开始提供服务,即,将服务的提供者由原活动进程切换为该备份进程,从而在不中断服务的情况下实现客户操作系统的升级。
设备400的各个单元402-410可以由硬件、软件、固件、或者它们的组合实现。此外,可以将所述各个单元进一步组合为一个或多个模块,或者将其分解为更多的模块,只要这些模块能够共同实现设备400的上述功能即可。
此外,尽管在上文中描述迁移Java应用程序的活动进程以及迁移所述活动进程占用的资源时给出了特定的迁移方式和迁移顺序,但是本发明不限于此,本领域技术人员可以认识到,也可以采用其它迁移方式和迁移顺序来迁移所述活动进程及其占用的资源,只要这些方式和顺序最终能够使得在备份虚拟机的客户操作系统中存在与原活动虚拟机中的活动进程相同的活动进程并且这些活动进程具有与原活动虚拟机中的活动进程相同的状态即可。
可以看到:在根据本发明实施例的更新活动虚拟机的客户操作系统的方法和设备中,在作为原活动虚拟机的副本的备份虚拟机上进行客户操作系统的升级,将备份虚拟机上创建与在原活动虚拟机上运行的应用程序的活动进程相同的备份进程,然后利用备份虚拟机中的这一进程代替原活动进程来提供服务,可以在不中断由原活动进程提供的服务的情况下升级所述虚拟机的客户操作系统,从而提高了系统维护期间的可用性。
本发明的替换实施例还可以包括计算机可读介质上的计算机可读代码。所述计算机可读代码在被执行时能够执行上述升级活动虚拟机的客户操作系统的方法。所述计算机可读介质可以包括计算机可读记录介质和计算机可读传输介质。计算机可读记录介质是能够存储随后可由计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括诸如只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和硬盘的磁存储介质以及诸如CD(致密盘)和DVD(数字多用途盘)的光存储装置。也可以将计算机可读记录介质分布在网络耦接的计算机系统上,使得以分布式方式存储和执行所述计算机可读代码。计算机可读传输介质可以传输载波或信号(例如通过因特网进行的有线或无线数据传输)。此外,本发明所属领域的程序员可以容易地解释用于实现本发明的功能程序、代码和代码段。
尽管已经示出和描述了本发明的示例实施例,本领域技术人员应当理解,在不背离权利要求及其等价物中限定的本发明的范围和精神的情况下,可以对这些示例实施例做出各种形式和细节上的变化。
Claims (16)
1.一种升级活动虚拟机的客户操作系统的方法,包括:
复制活动虚拟机以产生备份虚拟机,该备份虚拟机使用被设置为只读的活动虚拟机的虚拟盘镜像文件作为其虚拟盘镜像文件;
升级备份虚拟机的客户操作系统;
将在活动虚拟机运行期间要对虚拟盘镜像文件进行的改变与在所述升级期间要对虚拟盘镜像文件进行的改变合并到该虚拟盘镜像文件中;
暂停备份虚拟机;
将在活动虚拟机中运行的Java应用程序的活动进程迁移到备份虚拟机中以产生备份进程;
将所述Java应用程序的活动进程占用的资源迁移到备份虚拟机中,使得该备份进程占用相同的资源;以及
恢复运行备份虚拟机。
2.如权利要求1所述的方法,其中,在复制活动虚拟机之前将所述虚拟盘镜像文件设置为只读,并且其中,所述备份虚拟机具有与活动虚拟机相同的设置。
3.如权利要求2所述的方法,其中,将在活动虚拟机运行期间要对虚拟盘镜像文件进行的写操作定向到第一增量盘文件,使得在第一增量盘文件中存储在活动虚拟机运行期间要对虚拟盘镜像文件进行的改变。
4.如权利要求3所述的方法,其中,将在所述升级期间要对虚拟盘镜像文件进行的写操作定向到第二增量盘文件,使得在第二增量盘文件中存储在所述升级期间要对虚拟盘镜像文件进行的改变。
5.如权利要求4所述的方法,其中,在所述合并的步骤之前,暂停活动虚拟机和其中的应用程序活动进程,并且将虚拟盘镜像文件设置为可写。
6.如权利要求5所述的方法,其中,如果在第一增量盘文件和第二增量盘文件之间存在冲突,则基于第二增量盘文件来改变虚拟盘镜像文件。
7.如权利要求1或6所述的方法,其中,迁移所述活动进程的步骤包括:
获取所述活动进程在活动虚拟机中使用的虚拟存储器地址;
根据活动虚拟机管理的虚拟存储器地址与物理机中的物理存储器地址之间的映射关系,将所获取的虚拟存储器地址转换为物理机中的物理存储器地址;
将对所述物理存储器地址的控制权从活动虚拟机移交给备份虚拟机;和
在升级后的客户操作系统中创建所述Java应用程序的备份进程,并将用于该备份进程的存储空间指向所述物理存储器地址。
8.如权利要求1或7所述的方法,其中,迁移所述资源的步骤包括:
找出所述活动进程在对应的Java虚拟机、活动虚拟机的客户操作系统、活动虚拟机、以及物理机中占用的所有资源;以及
按照从下层到上层的顺序将所述所有资源迁移到备份虚拟机中。
9.一种升级活动虚拟机的客户操作系统的设备,包括:
复制单元,复制活动虚拟机以产生备份虚拟机,该备份虚拟机使用被设置为只读的活动虚拟机的虚拟盘镜像文件作为其虚拟盘镜像文件;
升级单元,升级备份虚拟机的客户操作系统;
合并单元,将在活动虚拟机运行期间要对虚拟盘镜像文件进行的改变与在所述升级期间要对虚拟盘镜像文件进行的改变合并到该虚拟盘镜像文件中;
迁移单元,将在活动虚拟机中运行的Java应用程序的活动进程迁移到备份虚拟机中以产生备份进程,并且将所述Java应用程序的活动进程占用的资源迁移到备份虚拟机中,使得该备份进程占用相同的资源;以及
控制单元,其在迁移单元迁移所述活动进程和资源之前暂停备份虚拟机,并且在迁移单元迁移所述活动进程和资源之后恢复运行该备份虚拟机。
10.如权利要求9所述的设备,其中,所述控制单元在复制单元复制活动虚拟机之前将所述虚拟盘镜像文件设置为只读,并且其中,所述备份虚拟机具有与活动虚拟机相同的设置。
11.如权利要求10所述的设备,其中,所述控制单元将在活动虚拟机运行期间要对虚拟盘镜像文件进行的写操作定向到第一增量盘文件,使得在第一增量盘文件中存储在活动虚拟机运行期间要对虚拟盘镜像文件进行的改变。
12.如权利要求11所述的设备,其中,所述控制单元将在所述升级期间要对虚拟盘镜像文件进行的写操作定向到第二增量盘文件,使得在第二增量盘文件中存储在所述升级期间要对虚拟盘镜像文件进行的改变。
13.如权利要求12所述的设备,其中,所述控制单元在合并单元进行所述合并之前暂停活动虚拟机和其中的应用程序活动进程,并且将虚拟盘镜像文件设置为可写。
14.如权利要求13所述的设备,其中,如果在第一增量盘文件和第二增量盘文件之间存在冲突,则所述合并单元基于第二增量盘文件来改变虚拟盘镜像文件。
15.如权利要求9或14所述的设备,其中,所述迁移单元按照以下方式来迁移所述活动进程:获取所述活动进程在活动虚拟机中使用的虚拟存储器地址;根据活动虚拟机管理的虚拟存储器地址与物理机中的物理存储器地址之间的映射关系,将所获取的虚拟存储器地址转换为物理机中的物理存储器地址;将对所述物理存储器地址的控制权从活动虚拟机移交给备份虚拟机;并且,在升级后的客户操作系统中创建所述Java应用程序的备份进程,并将用于该备份进程的存储空间指向所述物理存储器地址。
16.如权利要求9或15所述的设备,其中,所述迁移单元按照以下方式来迁移所述资源:找出所述活动进程在对应的Java虚拟机、活动虚拟机的客户操作系统、活动虚拟机、以及物理机中占用的所有资源;并且按照从下层到上层的顺序将所述所有资源迁移到备份虚拟机中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101719026A CN101727331B (zh) | 2008-10-24 | 2008-10-24 | 升级活动虚拟机的客户操作系统的方法和设备 |
US12/603,610 US8458392B2 (en) | 2008-10-24 | 2009-10-22 | Upgrading a guest operating system of an active virtual machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101719026A CN101727331B (zh) | 2008-10-24 | 2008-10-24 | 升级活动虚拟机的客户操作系统的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101727331A true CN101727331A (zh) | 2010-06-09 |
CN101727331B CN101727331B (zh) | 2013-03-20 |
Family
ID=42118592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101719026A Expired - Fee Related CN101727331B (zh) | 2008-10-24 | 2008-10-24 | 升级活动虚拟机的客户操作系统的方法和设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8458392B2 (zh) |
CN (1) | CN101727331B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073556A (zh) * | 2010-12-08 | 2011-05-25 | 北京航空航天大学 | 虚拟机的热备份和恢复方法、设备及系统 |
CN102541586A (zh) * | 2011-11-17 | 2012-07-04 | 杭州华三通信技术有限公司 | 一种软件升级方法和装置 |
CN102760047A (zh) * | 2012-06-21 | 2012-10-31 | 杭州华三通信技术有限公司 | 一种虚拟设备端口迁移的方法和接口板 |
CN102810067A (zh) * | 2011-06-02 | 2012-12-05 | 鸿富锦精密工业(深圳)有限公司 | 虚拟机模板更新系统及方法 |
CN102959513A (zh) * | 2010-07-02 | 2013-03-06 | 瑞典爱立信有限公司 | 虚拟机器合并方法和系统 |
CN103098028A (zh) * | 2011-07-14 | 2013-05-08 | 松下电器产业株式会社 | 虚拟计算机系统、存储器管理方法、存储器管理程序、记录介质以及集成电路 |
CN103577245A (zh) * | 2013-10-29 | 2014-02-12 | 中国科学院计算技术研究所 | 一种轻量级虚拟机迁移方法 |
CN103701924A (zh) * | 2013-12-31 | 2014-04-02 | 曙光云计算技术有限公司 | Paas平台的运行应用时改变配置的方法和系统 |
CN103970585A (zh) * | 2013-01-31 | 2014-08-06 | 杭州华三通信技术有限公司 | 创建虚拟机的方法及装置 |
WO2016177261A1 (zh) * | 2015-05-07 | 2016-11-10 | 阿里巴巴集团控股有限公司 | 在线升级基于内核虚拟机模块的设备和方法 |
WO2016201589A1 (en) * | 2015-06-17 | 2016-12-22 | Intel Corporation | Computing apparatus and method with persistent memory |
CN106326030A (zh) * | 2015-06-26 | 2017-01-11 | 伊姆西公司 | 用于存储系统中的软切换的方法和装置 |
CN106502763A (zh) * | 2016-11-01 | 2017-03-15 | 上海优刻得信息科技有限公司 | 一种软件更新方法及装置 |
CN103777953B (zh) * | 2014-01-26 | 2017-07-14 | 北京国电通网络技术有限公司 | 一种制作类Unix操作系统升级包的方法和装置 |
WO2017173922A1 (zh) * | 2016-04-08 | 2017-10-12 | 中兴通讯股份有限公司 | 虚拟机升级方法及装置 |
CN107643937A (zh) * | 2016-07-22 | 2018-01-30 | 北京金山云网络技术有限公司 | 一种虚拟机监视器升级方法及装置 |
CN108121558A (zh) * | 2017-12-29 | 2018-06-05 | 上海优刻得信息科技有限公司 | 软件更新方法、装置、存储介质及设备 |
CN108183871A (zh) * | 2017-11-23 | 2018-06-19 | 北京三快在线科技有限公司 | 一种虚拟交换机、虚拟交换机启动方法,电子设备 |
CN110941440A (zh) * | 2019-10-31 | 2020-03-31 | 北京浪潮数据技术有限公司 | 一种虚拟机批量更新方法、装置、设备及可读存储介质 |
CN112291345A (zh) * | 2020-10-29 | 2021-01-29 | 上海市共进通信技术有限公司 | 不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法 |
CN112596954A (zh) * | 2020-12-25 | 2021-04-02 | 深圳市科力锐科技有限公司 | 数据备份及重建方法、装置、设备及存储介质 |
CN113434247A (zh) * | 2021-06-16 | 2021-09-24 | 武汉天喻信息产业股份有限公司 | 一种java卡虚拟机的安全防护方法 |
CN113885904A (zh) * | 2021-09-02 | 2022-01-04 | 奇安信科技集团股份有限公司 | 系统升级方法、装置、电子设备及存储介质 |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255508B2 (en) | 2010-03-24 | 2012-08-28 | International Business Machines Corporation | Administration of virtual machine affinity in a data center |
US9367362B2 (en) | 2010-04-01 | 2016-06-14 | International Business Machines Corporation | Administration of virtual machine affinity in a cloud computing environment |
US8572612B2 (en) | 2010-04-14 | 2013-10-29 | International Business Machines Corporation | Autonomic scaling of virtual machines in a cloud computing environment |
US20130212281A1 (en) * | 2010-07-02 | 2013-08-15 | Telefonaktiebolaget L M Ericsson (Publ) | Virtual Machine Splitting Method and System |
US8549350B1 (en) | 2010-09-30 | 2013-10-01 | Emc Corporation | Multi-tier recovery |
US8713364B1 (en) | 2010-09-30 | 2014-04-29 | Emc Corporation | Unified recovery |
US9195549B1 (en) | 2010-09-30 | 2015-11-24 | Emc Corporation | Unified recovery |
US8949661B1 (en) | 2010-09-30 | 2015-02-03 | Emc Corporation | Federation of indices |
US8943356B1 (en) | 2010-09-30 | 2015-01-27 | Emc Corporation | Post backup catalogs |
US8504870B2 (en) | 2010-09-30 | 2013-08-06 | Emc Corporation | Optimized recovery |
US8484505B1 (en) | 2010-09-30 | 2013-07-09 | Emc Corporation | Self recovery |
US20120089972A1 (en) * | 2010-10-08 | 2012-04-12 | Microsoft Corporation | Image Based Servicing Of A Virtual Machine |
US9110693B1 (en) * | 2011-02-17 | 2015-08-18 | Emc Corporation | VM mobility over distance |
DE102011102425A1 (de) * | 2011-05-24 | 2012-11-29 | Heidelberger Druckmaschinen Ag | Simultanes Softwareupdate |
TW201250482A (en) * | 2011-06-02 | 2012-12-16 | Hon Hai Prec Ind Co Ltd | System and method for updating virtual machine templates |
US8843443B1 (en) | 2011-06-30 | 2014-09-23 | Emc Corporation | Efficient backup of virtual data |
US9311327B1 (en) | 2011-06-30 | 2016-04-12 | Emc Corporation | Updating key value databases for virtual backups |
US8949829B1 (en) * | 2011-06-30 | 2015-02-03 | Emc Corporation | Virtual machine disaster recovery |
US9158632B1 (en) | 2011-06-30 | 2015-10-13 | Emc Corporation | Efficient file browsing using key value databases for virtual backups |
US8849777B1 (en) | 2011-06-30 | 2014-09-30 | Emc Corporation | File deletion detection in key value databases for virtual backups |
US9229951B1 (en) | 2011-06-30 | 2016-01-05 | Emc Corporation | Key value databases for virtual backups |
US20140196036A1 (en) * | 2011-07-12 | 2014-07-10 | Kok Leong Ryan Ko | Tracing operations in a cloud system |
JP5998566B2 (ja) * | 2012-03-27 | 2016-09-28 | 富士通株式会社 | 移動制御プログラム、移動制御方法および制御装置 |
US20130326038A1 (en) * | 2012-06-05 | 2013-12-05 | Microsoft Corporation | Management of datacenters for fault tolerance and bandwidth |
US9047108B1 (en) * | 2012-09-07 | 2015-06-02 | Symantec Corporation | Systems and methods for migrating replicated virtual machine disks |
US9032400B1 (en) * | 2012-10-25 | 2015-05-12 | Amazon Technologies, Inc. | Opportunistic initiation of potentially invasive actions |
US9292330B2 (en) * | 2012-11-29 | 2016-03-22 | International Business Machines Corporation | Replacing virtual machine disks |
US9092837B2 (en) | 2012-11-29 | 2015-07-28 | International Business Machines Corporation | Use of snapshots to reduce risk in migration to a standard virtualized environment |
US9282166B2 (en) | 2012-11-29 | 2016-03-08 | International Business Machines Corporation | Management infrastructure analysis for cloud migration |
US9742873B2 (en) | 2012-11-29 | 2017-08-22 | International Business Machines Corporation | Adjustment to managed-infrastructure-as-a-service cloud standard |
US9454359B2 (en) * | 2013-01-28 | 2016-09-27 | Red Hat, Inc. | Deployment optimization for high availability in a multi-tenant platform-as-a-service (PaaS) system |
US8997080B2 (en) * | 2013-02-11 | 2015-03-31 | Citrix Systems, Inc. | System updates with personal virtual disks |
GB2510874B (en) | 2013-02-15 | 2020-09-16 | Ncr Corp | Server system supporting remotely managed IT services |
CN103218248B (zh) * | 2013-03-25 | 2016-12-28 | 华为技术有限公司 | 一种虚拟机镜像的更新方法、服务器和桌面云系统 |
JP6079426B2 (ja) * | 2013-05-16 | 2017-02-15 | 富士通株式会社 | 情報処理システム、方法、装置及びプログラム |
US9864621B2 (en) | 2013-10-03 | 2018-01-09 | Red Hat Israel, Ltd. | Virtual machine joiner |
US9229643B2 (en) | 2013-10-03 | 2016-01-05 | Red Hat Israel, Ltd. | Compatible virtual machine joiner |
CN103677959B (zh) * | 2013-12-16 | 2017-05-31 | 国家计算机网络与信息安全管理中心 | 一种基于组播的虚拟机集群迁移方法及系统 |
US9626180B2 (en) | 2013-12-16 | 2017-04-18 | International Business Machines Corporation | Live operating system update mechanisms |
US10296320B2 (en) * | 2014-09-10 | 2019-05-21 | International Business Machines Corporation | Patching systems and applications in a virtualized environment |
US9430223B2 (en) | 2014-09-25 | 2016-08-30 | International Business Machines Corporation | Live operating system update mechanisms |
JP5904514B1 (ja) * | 2014-10-28 | 2016-04-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム |
US20160274930A1 (en) * | 2015-03-16 | 2016-09-22 | Honeywell International Inc. | Method and apparatus for an on-process migration in a virtual environment within an industrial process control and automation system |
CN106301877A (zh) * | 2015-06-29 | 2017-01-04 | 中兴通讯股份有限公司 | 一种虚拟网元的升级方法和装置 |
US9715400B1 (en) * | 2015-06-29 | 2017-07-25 | Amazon Technologies, Inc. | Performing configuration and operating system identification for virtual machine images |
JP6784291B2 (ja) * | 2016-04-15 | 2020-11-11 | 日本電気株式会社 | ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラム |
US9910662B2 (en) * | 2016-06-17 | 2018-03-06 | Vmware, Inc. | Selectively migrating applications during an operating system upgrade |
US9910667B2 (en) | 2016-06-17 | 2018-03-06 | Vmware, Inc. | Segregating a monolithic computing system into multiple attachable application containers based on application boundaries |
US11080041B1 (en) * | 2017-03-30 | 2021-08-03 | Amazon Technologies, Inc. | Operating system management for virtual workspaces |
CN108132794A (zh) * | 2017-12-29 | 2018-06-08 | 普华基础软件股份有限公司 | 一种操作系统升级方法及系统 |
US10606632B2 (en) * | 2018-05-15 | 2020-03-31 | Vmware, Inc. | Preventing interruption during virtual machine reboot |
US11416277B2 (en) | 2019-11-22 | 2022-08-16 | Nutanix, Inc. | Situation-aware virtual machine migration |
CN117493027B (zh) * | 2024-01-02 | 2024-04-09 | 中移(苏州)软件技术有限公司 | 热升级方法、装置及电子设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035963B2 (en) * | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US7257811B2 (en) * | 2004-05-11 | 2007-08-14 | International Business Machines Corporation | System, method and program to migrate a virtual machine |
US7424601B2 (en) * | 2004-07-07 | 2008-09-09 | Yongyong Xu | Methods and systems for running multiple operating systems in a single mobile device |
US7412545B2 (en) * | 2004-07-22 | 2008-08-12 | International Business Machines Corporation | Apparatus and method for updating I/O capability of a logically-partitioned computer system |
US7330942B2 (en) * | 2004-07-31 | 2008-02-12 | Hewlett-Packard Development Company, L.P. | Method for efficient virtualization of physical memory in a virtual-machine monitor |
US7685635B2 (en) * | 2005-03-11 | 2010-03-23 | Microsoft Corporation | Systems and methods for multi-level intercept processing in a virtual machine environment |
JP2008084029A (ja) * | 2006-09-27 | 2008-04-10 | Hitachi Software Eng Co Ltd | 仮想マシン管理システム |
US20080104588A1 (en) | 2006-10-27 | 2008-05-01 | Barber Michael J | Creation of temporary virtual machine clones of multiple operating systems |
US8032351B2 (en) | 2006-11-30 | 2011-10-04 | Symantec Corporation | Running a virtual machine directly from a physical machine using snapshots |
US8677351B2 (en) * | 2007-03-29 | 2014-03-18 | Vmware, Inc. | System and method for delivering software update to guest software on virtual machines through a backdoor software communication pipe thereof |
KR101178752B1 (ko) * | 2008-02-26 | 2012-09-10 | 브이엠웨어, 인코포레이티드 | 서버-기반 데스크탑 가상 머신 아키텍처의 클라이언트 머신들로의 확장 |
US8464241B2 (en) * | 2008-05-20 | 2013-06-11 | Citrix Systems, Inc. | Methods and systems for patching multiple disk images derived from a common base disk image |
US8495316B2 (en) * | 2008-08-25 | 2013-07-23 | Symantec Operating Corporation | Efficient management of archival images of virtual machines having incremental snapshots |
-
2008
- 2008-10-24 CN CN2008101719026A patent/CN101727331B/zh not_active Expired - Fee Related
-
2009
- 2009-10-22 US US12/603,610 patent/US8458392B2/en not_active Expired - Fee Related
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9459896B2 (en) | 2010-07-02 | 2016-10-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Virtual machine merging method and system |
CN102959513B (zh) * | 2010-07-02 | 2017-05-31 | 瑞典爱立信有限公司 | 虚拟机器合并方法和系统 |
CN102959513A (zh) * | 2010-07-02 | 2013-03-06 | 瑞典爱立信有限公司 | 虚拟机器合并方法和系统 |
CN102073556A (zh) * | 2010-12-08 | 2011-05-25 | 北京航空航天大学 | 虚拟机的热备份和恢复方法、设备及系统 |
CN102810067A (zh) * | 2011-06-02 | 2012-12-05 | 鸿富锦精密工业(深圳)有限公司 | 虚拟机模板更新系统及方法 |
CN103098028B (zh) * | 2011-07-14 | 2016-09-14 | 松下电器(美国)知识产权公司 | 虚拟计算机系统、存储器管理方法以及集成电路 |
CN103098028A (zh) * | 2011-07-14 | 2013-05-08 | 松下电器产业株式会社 | 虚拟计算机系统、存储器管理方法、存储器管理程序、记录介质以及集成电路 |
CN102541586A (zh) * | 2011-11-17 | 2012-07-04 | 杭州华三通信技术有限公司 | 一种软件升级方法和装置 |
CN102760047A (zh) * | 2012-06-21 | 2012-10-31 | 杭州华三通信技术有限公司 | 一种虚拟设备端口迁移的方法和接口板 |
CN103970585A (zh) * | 2013-01-31 | 2014-08-06 | 杭州华三通信技术有限公司 | 创建虚拟机的方法及装置 |
CN103970585B (zh) * | 2013-01-31 | 2017-10-27 | 新华三技术有限公司 | 创建虚拟机的方法及装置 |
CN103577245A (zh) * | 2013-10-29 | 2014-02-12 | 中国科学院计算技术研究所 | 一种轻量级虚拟机迁移方法 |
CN103577245B (zh) * | 2013-10-29 | 2017-05-03 | 中国科学院计算技术研究所 | 一种轻量级虚拟机迁移方法 |
CN103701924A (zh) * | 2013-12-31 | 2014-04-02 | 曙光云计算技术有限公司 | Paas平台的运行应用时改变配置的方法和系统 |
CN103777953B (zh) * | 2014-01-26 | 2017-07-14 | 北京国电通网络技术有限公司 | 一种制作类Unix操作系统升级包的方法和装置 |
WO2016177261A1 (zh) * | 2015-05-07 | 2016-11-10 | 阿里巴巴集团控股有限公司 | 在线升级基于内核虚拟机模块的设备和方法 |
US10565000B2 (en) | 2015-05-07 | 2020-02-18 | Alibaba Group Holding Limited | Method and apparatus for online upgrade of kernel-based virtual machine module |
CN106201564B (zh) * | 2015-05-07 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 在线升级基于内核虚拟机模块的设备和方法 |
CN106201564A (zh) * | 2015-05-07 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 在线升级基于内核虚拟机模块的设备和方法 |
US10521354B2 (en) | 2015-06-17 | 2019-12-31 | Intel Corporation | Computing apparatus and method with persistent memory |
WO2016201589A1 (en) * | 2015-06-17 | 2016-12-22 | Intel Corporation | Computing apparatus and method with persistent memory |
US10409504B2 (en) | 2015-06-26 | 2019-09-10 | EMC IP Holding Company LLC | Soft-switch in storage system |
CN106326030A (zh) * | 2015-06-26 | 2017-01-11 | 伊姆西公司 | 用于存储系统中的软切换的方法和装置 |
CN106326030B (zh) * | 2015-06-26 | 2020-03-20 | 伊姆西Ip控股有限责任公司 | 用于存储系统中的软切换的方法和装置 |
WO2017173922A1 (zh) * | 2016-04-08 | 2017-10-12 | 中兴通讯股份有限公司 | 虚拟机升级方法及装置 |
CN107273146B (zh) * | 2016-04-08 | 2021-11-19 | 中兴通讯股份有限公司 | 虚拟机升级方法及装置 |
CN107273146A (zh) * | 2016-04-08 | 2017-10-20 | 中兴通讯股份有限公司 | 虚拟机升级方法及装置 |
CN107643937B (zh) * | 2016-07-22 | 2020-07-03 | 北京金山云网络技术有限公司 | 一种虚拟机监视器升级方法及装置 |
CN107643937A (zh) * | 2016-07-22 | 2018-01-30 | 北京金山云网络技术有限公司 | 一种虚拟机监视器升级方法及装置 |
CN106502763A (zh) * | 2016-11-01 | 2017-03-15 | 上海优刻得信息科技有限公司 | 一种软件更新方法及装置 |
CN108183871A (zh) * | 2017-11-23 | 2018-06-19 | 北京三快在线科技有限公司 | 一种虚拟交换机、虚拟交换机启动方法,电子设备 |
CN108121558A (zh) * | 2017-12-29 | 2018-06-05 | 上海优刻得信息科技有限公司 | 软件更新方法、装置、存储介质及设备 |
CN110941440A (zh) * | 2019-10-31 | 2020-03-31 | 北京浪潮数据技术有限公司 | 一种虚拟机批量更新方法、装置、设备及可读存储介质 |
CN112291345A (zh) * | 2020-10-29 | 2021-01-29 | 上海市共进通信技术有限公司 | 不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法 |
CN112291345B (zh) * | 2020-10-29 | 2023-03-24 | 上海市共进通信技术有限公司 | 物理机间进行进程迁移过程中保持socket不中断状态的方法 |
CN112596954A (zh) * | 2020-12-25 | 2021-04-02 | 深圳市科力锐科技有限公司 | 数据备份及重建方法、装置、设备及存储介质 |
CN113434247A (zh) * | 2021-06-16 | 2021-09-24 | 武汉天喻信息产业股份有限公司 | 一种java卡虚拟机的安全防护方法 |
CN113434247B (zh) * | 2021-06-16 | 2023-12-26 | 武汉天喻信息产业股份有限公司 | 一种java卡虚拟机的安全防护方法 |
CN113885904A (zh) * | 2021-09-02 | 2022-01-04 | 奇安信科技集团股份有限公司 | 系统升级方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US8458392B2 (en) | 2013-06-04 |
CN101727331B (zh) | 2013-03-20 |
US20100106885A1 (en) | 2010-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101727331B (zh) | 升级活动虚拟机的客户操作系统的方法和设备 | |
US11663029B2 (en) | Virtual machine storage controller selection in hyperconverged infrastructure environment and storage system | |
JP6791834B2 (ja) | 記憶システム及び制御ソフトウェア配置方法 | |
US9582221B2 (en) | Virtualization-aware data locality in distributed data processing | |
CN110795206B (zh) | 用于促进集群级缓存和内存空间的系统和方法 | |
US9933956B2 (en) | Systems and methods for implementing stretch clusters in a virtualization environment | |
US10838829B2 (en) | Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium | |
JP4366698B2 (ja) | 計算機、計算機システム、及びディスクイメージ配布方法 | |
US20080028402A1 (en) | Method of setting operation environment and computer system | |
US11693684B2 (en) | Information processing system and information processing method | |
US10235282B2 (en) | Computer system, computer, and method to manage allocation of virtual and physical memory areas | |
US11199972B2 (en) | Information processing system and volume allocation method | |
US11740925B2 (en) | Method and apparatus for online migration of multi-disk virtual machine into different storage pools | |
JP7125964B2 (ja) | 計算機システムおよび管理方法 | |
US8566541B2 (en) | Storage system storing electronic modules applied to electronic objects common to several computers, and storage control method for the same | |
CN107832097B (zh) | 数据加载方法及装置 | |
JP2012212192A (ja) | 仮想マシンのための仮想ストレージを有するホストサーバ | |
US20220318042A1 (en) | Distributed memory block device storage | |
CN112685130A (zh) | 分布式存储环境下的虚拟机备份方法、装置和存储介质 | |
CN113439258A (zh) | 在二级存储系统上托管虚拟机 | |
JP2021124952A (ja) | 情報処理装置、情報処理システムおよびアクセス制御方法 | |
CN111400098A (zh) | 一种副本管理方法、装置、电子设备及存储介质 | |
US8527716B2 (en) | Volume sharing method and storage system using the same | |
WO2016109743A1 (en) | Systems and methods for implementing stretch clusters in a virtualization environment | |
JP2023102641A (ja) | 計算機システム及びスケールアップ管理方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180625 Address after: 7 floor, building 10, Zhang Jiang Innovation Park, 399 Keyuan Road, Zhang Jiang high tech park, Pudong New Area, Shanghai. Patentee after: International Business Machines (China) Co., Ltd. Address before: New York grams of Armand Patentee before: International Business Machines Corp. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130320 Termination date: 20191024 |
|
CF01 | Termination of patent right due to non-payment of annual fee |