CN114424180A - 增加跨帧实时更新的性能 - Google Patents
增加跨帧实时更新的性能 Download PDFInfo
- Publication number
- CN114424180A CN114424180A CN202080064854.XA CN202080064854A CN114424180A CN 114424180 A CN114424180 A CN 114424180A CN 202080064854 A CN202080064854 A CN 202080064854A CN 114424180 A CN114424180 A CN 114424180A
- Authority
- CN
- China
- Prior art keywords
- migration
- server
- computer
- hypervisor
- type
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
-
- 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/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
- G06F8/656—Updates while running
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- 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/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/651—Multi-level translation tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
提供了用于执行实时更新的方法的实施例。该方法包括:确定将从源服务器到目标服务器执行的实时迁移的迁移类型;以及执行从源服务器到目标服务器的实时迁移。该方法还包括:基于迁移类型,维护要迁移的页,在管理程序页表中跟踪修改,以及基于迁移类型执行反向迁移。还提供了用于执行实时更新的系统和计算机程序产品的实施例。
Description
技术领域
本发明涉及数据迁移,并且更具体地,涉及增强跨帧实时更新的效率。
背景技术
虚拟化作为一种技术旨在在硬件平台与操作系统之间插入层并执行应用。从业务连续性和灾难恢复的角度来看,虚拟化提供了环境可移植性的固有优点。具体地,移动配置有多个不同应用的整个环境是将虚拟映像从一个支持硬件平台移动到另一个的问题。进一步,更强大的计算环境可支持多个不同虚拟映像的共存,同时保持映像之间的虚拟分离。因此,一个虚拟映像中的故障状况无法危及同一硬件平台中的其他共同执行虚拟映像的完整性。
在本领域中被称为“管理程序”的虚拟机监视器管理每个虚拟映像与由硬件平台提供的底层资源之间的交互。
对此,裸金属管理程序直接在硬件平台上运行,就像操作系统直接在硬件上运行一样。相比之下,托管的管理程序在主机操作系统内运行。在任一情况下,管理程序可以支持不同的“客户操作系统映像”(被称为虚拟机(VM)映像)的操作,VM映像的数量仅由保持VM映像的VM容器或硬件平台本身的处理资源限制。
虚拟化已被证明对于要求用于不同类型的应用的单独计算环境同时限于单个硬件平台的那些终端用户尤其有用。例如,对于一种类型的硬件平台本地的主操作系统而言,提供不同的硬件平台本地的虚拟化客户操作系统,以使得需要客户操作系统的存在的应用可与需要主操作系统的存在的其他应用共存是众所周知的。以此方式,终端用户无需提供各自支持不同类型的应用的单独计算环境。然而,无论客户操作系统如何,对单个硬件平台的底层资源的访问保持静态。
虚拟化环境已经被部署来在组成应用解决方案时聚合不同VM中的不同相互依赖的应用。例如,应用服务器可以在一个VM内执行,而数据库管理系统可以在不同的VM中执行,并且进一步地同时Web服务器可以在另一个VM中执行。每个VM可以在安全网络中彼此通信地耦合,然而,应用的任何给定部署之一可以实时迁移到不同的部署,而不干扰其他应用在其他VM中的执行。在典型的实时迁移中,VM可以从一个主机服务器移动到另一个主机服务器,以便允许服务器维护或者允许VM的硬件支持的改进。因此,实时迁移可以证明是耗时的过程。
因此,在本领域中需要解决上述问题。
发明内容
从第一方面来看,本发明提供了一种用于执行实时更新的计算机实现的方法,该方法包括:确定将从源服务器到目标服务器执行的实时迁移的迁移类型;执行从源服务器到目标服务器的实时迁移;基于迁移类型,维护待迁移的页;在管理程序页表中跟踪修改;以及基于迁移类型执行反向迁移。
从另一方面来看,本发明中本发明提供了一种用于执行实时更新的系统,该系统包括:一个或多个处理器;以及耦合到一个或多个处理器的至少一个存储器,其中该一个或多个处理器被配置为:确定将从源服务器到目标服务器执行的实时迁移的迁移类型;执行从源服务器到目标服务器的实时迁移;基于迁移类型,维护待迁移的页;在管理程序页表中跟踪修改;以及基于迁移类型执行反向迁移。
从另一方面来看,本发明提供了一种用于执行实时更新的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并且存储用于由该处理电路执行以执行用于执行本发明的步骤的方法的指令。
从另一方面来看,本发明提供一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,该计算机程序包括当所述程序在计算机上运行时用于执行本发明的步骤的软件代码部分。
从另一方面来看,本发明提供了一种用于执行实时更新的计算机程序产品,该计算机程序产品包括:计算机可读存储介质,计算机可读存储介质具有存储在其上的程序指令,程序指令可由处理器执行以使处理器:确定将从源服务器到目标服务器执行的实时迁移的迁移类型;执行从源服务器到目标服务器的实时迁移;基于迁移类型,维护待迁移的页;在管理程序页表中跟踪修改;以及基于迁移类型执行反向迁移。
本发明的实施例涉及用于改进跨帧实时更新的效率的计算机实现的方法。计算机实现的方法的非限制性示例包含确定将从源服务器到目标服务器执行的实时迁移的迁移类型,以及执行从源服务器到目标服务器的实时迁移。计算机实现的方法还包括基于迁移类型,维护待迁移的页,在管理程序页表中跟踪修改,以及基于迁移类型执行反向迁移。
本发明的实施例涉及一种用于改进跨帧实时更新的效率的系统。该系统的非限制性示例包括一个或多个处理器以及耦合到该一个或多个处理器的至少一个存储器。该一个或多个处理器被配置为确定将从源服务器到目标服务器执行的实时迁移的迁移类型,并且执行从源服务器到目标服务器的实时迁移。该一个或多个处理器还被配置为基于迁移类型,维护待迁移的页,在管理程序页表中跟踪修改,并且基于迁移类型执行反向迁移。
本发明的实施例涉及用于改进跨帧实时更新的效率的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其体现的程序指令。程序指令可由处理器执行以使处理器执行方法。该方法的非限制性示例包括确定将从源服务器到目标服务器执行的实时迁移的迁移类型,并且执行从源服务器到目标服务器的实时迁移。计算机实现的方法还包括基于迁移类型,维护待迁移的页,在管理程序页表中跟踪修改,以及基于迁移类型执行反向迁移。
通过本发明的技术实现了附加技术特征和优点。在本文中详细描述了本发明的实施例和方面,并且这些实施例和方面被认为是所要求保护的主题的一部分。为了更好的理解,参考详细说明和附图。
附图说明
在说明书结尾处的权利要求中特别指出并明确要求保护本文所述的排他权利的细节。从结合附图进行的以下详细描述中,本发明的实施例的前述和其他特征和优点变得明显,在附图中:
图1描绘了根据本发明的一个或多个实施例的云计算环境;
图2描绘了根据本发明的一个或多个实施例的抽象模型层;
图3示出了用于实践本文中的教导的计算机系统的框图;
图4示出了根据本发明的一个或多个实施例的另一个系统;
图5描绘了根据本发明的一个或多个实施例的从第一服务器到第二服务器的迁移;
图6描绘了根据本发明的一个或多个实施例的系统的状态;
图7描绘了根据本发明的一个或多个实施例的系统的状态;
图8描绘了根据本发明的一个或多个实施例的在此描述的迁移过程期间包括迁移后迁移位的管理程序表;
图9描绘了根据本发明的一个或多个实施例的系统的状态;以及
图10描绘了根据本发明的一个或多个实施例的用于执行迁移的方法的流程图。
此处所描绘的图是说明性的。在不偏离本发明的精神的情况下,可以对这里所描述的图或操作有许多变化。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。而且,术语“耦合”及其变型描述了在两个元件之间具有通信路径,并且不意味着元件之间的在它们之间没有介入元件/连接的直接连接。所有这些变型被认为是说明书的一部分。
在附图和以下公开的实施方式的详细说明中,附图中示出的各种元件设置有两个或三个数字的附图标记。除了少数例外,每个附图标记的最左边的(一个或多个)数字对应于首次示出了其元件的附图。
具体实施方式
本文参考相关附图描述了本发明的各种实施例。在不脱离本发明的范围的情况下,可设计本发明的替代实施例。在以下描述和附图中,在元件之间阐述了各种连接和位置关系(例如,上方、下方、相邻等)。除非另有规定,否则这些连接和/或位置关系可以是直接或间接的,并且本发明在此方面并非意图是限制性的。因此,实体的耦合可以指直接的或间接的耦合,并且实体之间的位置关系可以是直接的或间接的位置关系。此外,本文描述的各种任务和过程步骤可以并入具有本文未详细描述的附加步骤或功能的更全面的程序或过程中。
以下定义和缩写将用于解释权利要求和说明书。如在此使用的,术语“包括(comprises、comprising)”、“包含(includes、including)”、“具有(has、having)”、或“含有(contains、containing)”或其任何其他变体旨在涵盖非排他性的包括。例如,包含一系列元素的组合物、混合物、过程、方法、物品或装置不必仅限于那些元素,而是可以包括未明确列出的或这种组合物、混合物、过程、方法、物品或装置固有的其他元素。
此外,术语“示例性”在本文中用于表示“用作示例、实例或图例”。本文中描述为“示例性”的任何实施例或设计不一定被解释为优选或优于其他实施例或设计。术语“至少一个”和“一个或多个”可以被理解为包括大于或等于一的任何整数,即,一个、两个、三个、四个等。术语“多个”可以被理解为包括大于或等于二的任何整数,即,两个、三个、四个、五个等。术语“连接”可以包括间接“连接”和直接“连接”两者。
术语“大约”、“基本上”、“大致”及其变型旨在包括与基于提交申请时可用的设备的特定量的测量结果相关联的误差程度。例如,“大约”可以包括给定值的±8%或5%、或2%的范围。
为了简洁起见,涉及制造和使用本发明的方面的常规技术可以或可以不在本文中详细描述。具体地,用于实现本文所描述的不同技术特征的计算系统和特定计算机程序的各个方面是众所周知的。因而,为了简洁起见,许多常规实现细节在本文中仅简要提到或完全省略,而不提供众所周知的系统和/或过程细节。
应当理解,虽然本公开包括关于云计算的详细描述,但是本文所记载的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是服务交付的模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务)的共享池的方便、按需的网络访问,可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地根据需要自动地供应计算能力,诸如服务器时间和网络存储装置,而不需要与服务的提供者的人类交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构的瘦客户端平台或厚客户端平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池化:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要被动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地提供能力,以快速扩展和迅速释放以快速缩小。对于消费者而言,可用于供应的能力通常看起来不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过在适合于服务类型(例如,存储装置、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用的服务的提供者和消费者提供透明度。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储装置、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础设施仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础设施被若干组织共享并支持具有共享的关注点(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:使云基础设施对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础设施是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过实现数据和应用的可移植性的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块性和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图1,描绘了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。计算节点10可以彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图1中所示的计算设备54A-54N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参见图2,示出了由云计算环境50(图1)提供的一组功能抽象层。应提前理解,图2中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描绘的,提供以下层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储装置72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。当在云计算环境内利用资源时,计量和定价82提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供云计算资源的预安排和采购,根据SLA预期该云计算资源的未来要求。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;交易处理95;以及动作分析和通知96。
现在转向与本发明的各方面更具体地相关的技术的概览,服务器有时出于不同原因执行迁移。实时迁移允许客户在迁移过程期间维持操作,从而避免应用停机时间。
为了实现实时更新,创建具有与原始系统资源相同数量的系统资源的附加代理LPAR。在实时更新操作结束时,将所有进程和相关联的资源从原始LPAR转移到代理LPAR。在某些情况下,对于打包的服务器,由于在实时更新操作期间容纳代理LPAR和原始LPAR的资源受限或缺乏,可能存在面临的挑战。为了克服这一限制,实时更新具有将(需要经历更新的)VM迁移到具有足够处理器和存储器资源的不同服务器(目标服务器)的能力。在目标服务器上进行实时更新。在完成实时更新之后,执行到托管服务器的反向迁移。
实时分区移动性(LPM)提供将逻辑分区(LPAR)或虚拟机(VM)从一个服务器移动到另一服务器而不破坏基础设施服务和工作负载的能力。与移动服务分区(MSP)协作的系统的管理程序管理将LPAR/VM的存储器页从一个系统迁移到另一个系统的活动。存在包括临时和永久迁移过程的不同迁移类型。临时迁移将逻辑分区移动到不同位置或服务器一段时间,然后将逻辑分区返回到源位置或服务器。永久迁移没有返回到源服务器或位置的意图。
实时更新具有将(需要经历更新的)VM迁移到具有足够处理器和存储器资源的不同服务器(目标服务器)的能力。对目标服务器进行实时更新。在完成实时更新之后,执行到托管服务的反向迁移。
实时更新执行到替代服务器的实时迁移,在目标服务器处执行实时更新操作,并且执行返回到托管或源服务器的后续迁移。因为跨服务器移动包括LPM操作,所以它增加实时更新的附加时间消耗,从而增加总体实时更新操作时间。
在实时更新期间执行的LPM操作仅是临时迁移,因为一旦实时更新操作完成,LPAR/VM返回到其原始托管服务器。去往和来自存储器的LPM/实时迁移不被认为是临时移动。往返移动(两次LMP)导致实时更新的性能下降。当前,在管理程序中不存在用于跟踪迁移页的状态的现有技术。所以,无论在LPM期间页是否被更新,它传输所有的存储器页。
换言之,在临时迁移期间不维护页存储器,并且当执行临时迁移时必须将完整的页存储器转移回源管理程序。也就是说,永久迁移和临时迁移被同样处理。这导致反向迁移过程中的延迟增加,因为甚至未被修改的那些页也被传送回源服务器。
现在转到本发明各方面的概述,本发明的一个或多个实施例通过提供在此描述的技术解决了现有技术的上述缺点,在此描述的技术通过仅选择在第一LPM之后写入/更新的那些存储器页来改进存储器页传送操作时间。
本发明的上述方面通过使用附加字段来解决现有技术的缺点,该附加字段可以被引入到管理程序页表中,其作为标志(迁移后修改位)操作。对于前和后LVM,逻辑页号可以是相同的。LU通过看到页表来记录该附加字段。在执行反向迁移时,系统将仅传送对其设置了迁移后修改标志的页。
管理程序需要知道该附加字段,因为它将负责虚拟到物理页的映射。它将仅指物理页映射。它将仅指其标志位被设置的逻辑页的物理页。这应减少总存储器页转移时间。该附加字段可被寻址为迁移后修改位(MAM)位。
现在转到本发明各方面的更详细描述,图3示出了可操作用于本公开各种实施例的示例性计算机系统(即,服务器)12的框图。如图所示,服务器12仅是用于将逻辑分区(LPAR)从一个机器迁移到另一机器的合适计算机的一个示例,并且不旨在对本文所述的本公开的实施例的使用范围或功能提出任何限制。
服务器12可在许多其他计算系统环境或配置中操作。例如,服务器12可以是物理主机上的虚拟分区、集群服务器环境、或包括任何上述系统的分布式云计算环境等。当在分布式云计算环境中实施时,任务可由链接到一起并通过通信网络(诸如网络99)通信的本地和远程服务器12两者来执行。在本发明的实施例中,本地和远程服务器12可以被称为用于实时操作系统迁移的源和目标服务器。另外,服务器12的实施例包括独立机器控制点,也称为硬件管理控制台(HMC),其充当清单验证和实时操作系统迁移的协调器。在另一实施例中,服务器12可以包括系统管理装置,其被配置成提供用于系统管理的单个焦点,其包括多节点或多服务器环境中的硬件配置以及软件、硬件和网络管理。服务器12的另一实施例包括虚拟I/O服务器(VIOS),也称为虚拟化管理器,其托管虚拟机(也称为逻辑分区(LPAR)或客户端),管理物理硬件资源的虚拟化,并且参与实时操作系统迁移。
可以在可执行指令的背景下描述服务器12,可执行指令诸如程序,或更具体地,作为程序模块42、组件、对象、逻辑或数据结构的聚合的操作系统(OS)40,其例如由处理单元16执行以控制服务器12的操作。清单验证和实时操作系统迁移可以被实现为程序模块42或者被实现为对OS 40的扩展。OS 40的至少一部分可以专门用于执行图3-图4的算法。
每个参与的服务器12分别受驻留在每个本地和远程服务器12上的OS 40的控制。虚拟机的每个实例是物理计算机的仿真。物理计算机可托管多个虚拟机实例,每个虚拟机实例共享物理计算机的硬件资源,并且每个虚拟机实例仿真物理计算机。每个虚拟机实例受OS 40的控制。
服务器12的组件可以包括但不限于一个或多个处理器或处理单元16、系统存储器28、以及将各种系统组件(例如系统存储器28)耦合到处理单元16的总线18。
系统存储器28可包含以易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)30和/或高速缓存存储器32。服务器12可以进一步包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。
仅作为示例,存储系统34可被提供为用于从不可移动、非易失性磁介质(诸如硬盘驱动器(HDD)或诸如CD-ROM、DVD-ROM之类的光盘驱动器)读取和写入不可移动、非易失性磁介质的一个或多个设备。存储系统34的每个设备可以通过一个或多个数据介质接口连接到总线18。OS 40和一个或多个应用程序可以存储在存储系统34上,并且随后根据需要被加载到存储器28中用于执行。
服务器12也可以与一个或多个外部设备14(例如键盘、定点设备、显示器24等)通信;与使得用户能够与服务器12交互的一个或多个设备通信;和/或与使得服务器12能够与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)通信。这种通信可经由I/O接口22发生。
服务器12可以经由网络适配器20与诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,互联网)之类的一个或多个网络通信。如图所示,网络适配器20通过总线18与服务器12的其他组件通信。然而,在多租户数据中心(MTD)环境(诸如云计算环境)中,网络通信可通过物理设备(例如,网络适配器网络交换机)和虚拟化网络(诸如使用软件定义联网(SDN)实现的那些虚拟化网络)两者通过成员服务器12和虚拟机来路由。
外部存储适配器26将服务器12与外部存储子系统(诸如存储区域网络(SAN)15)连接。对于实时操作系统迁移,也称为移动性事件或实时分区移动性,源和目标服务器共享到SAN 15的连接。迁移的虚拟机还具有通过源物理计算机到SAN 15的虚拟连接。取决于架构实现,示例性外部存储适配器26包括但不限于主机总线适配器(HBA)(也称为光纤通道)、主机通道适配器(HCA)、SCSI和iSCSI。外部存储适配器26通过总线18与服务器12的处理单元16和存储器28通信。
应当理解,虽然未示出,但是其他硬件和/或软件组件可以与服务器12结合使用。示例包括但不限于微代码、设备驱动器、冗余处理单元、外部盘驱动器阵列、带驱动器和数据归档存储系统等。
图4示出用于减少实时操作系统迁移的冗余验证的系统。该实施例包括源和目标服务器系统12。源服务器系统12包括LPAR 220和222,但是可以供应更多或更少数量的LPAR。向LPAR指派计算机的物理硬件资源的子集(即,服务器环境底层的硬件的子集)并且LPAR在服务器环境内作为单独的计算机/虚拟机被虚拟化。诸如处理器容量、虚拟和物理I/O设备、存储器或任何其他类型的资源之类的资源可以被指派给特定LPAR。每个LPAR具有其自身的操作系统实例(例如,OS 224、226和293)、应用程序(例如,(一个或多个)应用228、230和295)和/或相关联的文件,从而允许在服务器环境内同时执行多个虚拟环境。
专用LPAR 240和242专用于通过执行VIOS软件/固件(用于执行如本文中所描述的各种功能的软件、逻辑和/或可执行代码(例如,驻留为在处理器单元上运行的软件和/或算法、驻留于处理器或其他类型的逻辑芯片中、集中在单个集成电路中或者分布在数据处理系统中的不同芯片之间的硬件逻辑))来实现I/O功能。包括物理硬件资源的虚拟化的逻辑分区由软件/固件管理程序246和248促进。管理程序246/248与VIOS 240/242和控制点250协调以控制和监视服务器系统12硬件和软件(包括LPAR的操作系统)的状态和操作。根据实施方式,管理程序246/248可以直接在计算机系统的硬件上运行,可以与VIOS组合,或者可以在常规操作系统环境内运行。
控制点250与VIOS 240/242和管理程序246/248合作执行系统服务器和LPAR管理。控制点250或其部分可以使用已知技术以任何合适的方式实现,已知技术可以是基于硬件的、基于软件的或两者的某种组合。例如,控制点250可包括用于执行本文中所描述的各种功能的软件、逻辑和/或可执行代码(例如,驻留为在处理器单元上运行的软件和/或算法、驻留在处理器或其他类型的逻辑芯片中、集中在单个集成电路中或分布在数据处理系统中的不同芯片之间的硬件逻辑)。在替代实施例中,控制点操作系统215的管理LPAR配置文件、执行LPAR操作(即,激活、去激活、更新)和执行清单验证的部分可以并入VIOS 240/242操作系统中。可以从VIOS 240/242和/或控制点250执行清单验证、配置简档管理和LPAR迁移操作。例如,在一些实施例中,控制点250的显示器24可以用于显示可用于针对移动性事件进行选择的各种配置简档205和验证清单210数据,以供用户/管理员选择。所选择的信息可以从控制点250传送到VIOS LPAR 240和/或242。
控制点250包括配置简档205的储存库。每个LPAR与至少一个简档相关联,除其他参数之外,该至少一个简档定义系统服务器12的分配给LPAR的硬件资源的部分、用于接收额外系统资源的优先级的指示和操作系统环境。配置简档205包括LPAR的虚拟和物理I/O设备配置。控制点250包括验证清单储存库210。每个LPAR与验证清单储存库210中的验证清单相关联。LPAR的验证清单可包括唯一LPAR标识符、移动性事件源和目标服务器系统、根据LPAR的配置简档205的LPAR的资源、以及针对先前移动性事件尝试的预迁移验证通过还是失败的指示。验证清单储存库210可以被高速缓存在控制点250上。作为激活LPAR的过程的一部分,控制点250将来自LPAR的先前验证的验证清单定位在验证清单储存库210中,并且将其发送至服务器系统上的VIOS 240/242,在该服务器系统中定义LPAR。VIOS 240/242针对配置改变监视LPAR,该配置改变可以导致验证清单无效,从而在后续移动性事件之前要求完全验证。控制点250可以采取一个或多个动作以响应于来自VIOS 240/242的LPAR的验证清单的无效性的通知。例如,控制点250可注意到在下一移动性事件时LPAR需要完全验证。在另一实施例中,控制点250可以在接收到通知时,在下一移动性事件之前发起完全验证并且对结果进行高速缓存。在进一步的实施例中,控制点250可以发起对新修改、添加或移除的资源的部分验证。如图所示,同一控制点250管理源和目标服务器系统12两者。然而,例如当源和目标服务器系统12在地理上分开时,不同的控制点250可管理源和目标服务器系统12。
在图2所示的实施例中,LPAR 222正在从源服务器系统12迁移到目标服务器系统12。LPAR 288不存在于目标服务器系统12上,但将作为迁移的一部分被动态创建。虽然可以在LPAR不活动时执行迁移,但是本文的各种实施例特别适用于迁移执行工作负载。LPAR可以在不同硬件平台之间迁移,并且多个LPAR可以串行或同时迁移。LPAR 222从源服务器系统12至目标服务器系统12的转移或迁移由控制点250在与管理程序246和248的协作下以及在VIOS 240和242充当代理的情况下进行协调。
用于迁移环境的配置包括在源和目标VIOS 240/242中的每个VIOS中配置的至少一个物理HBA。这些物理HBA被配置为访问连接到SAN 268的外部存储子系统15上的相同逻辑单元号(LUN),即物理盘卷。每个物理HBA与每个VIOS 240/242中的一个或多个虚拟光纤通道(VFC)适配器相关联。LPAR 222配置有来自VIOS 240的一个或多个VFC适配器。在移动性事件期间,在目标LPAR 288上创建一个或多个附加VFC适配器。在迁移期间,将LPAR 222的存储器页从源系统服务器12异步地复制到目标系统服务器12,并且LPAR 222和288保持对运行中的应用的不间断访问。
VFC适配器可以实现N_端口ID虚拟化(NPIV)技术。实现NPIV技术的VFC适配器也可称为NPIV适配器。NPIV允许单个HBA(在NPIV中被称为N_端口)注册多个万维端口名称(WWPN)和N_端口标识号。WWPN唯一地识别SAN上的端点。每个VFC适配器被指派有用于访问外部存储子系统15上的LPAR的LUN的一对WWPN。在移动性事件期间,迁移LPAR 222使用一个WWPN用于通过VIOS 240的连接并且使用一个WWPN用于通过VIOS 242的连接。在迁移期间,LPAR 222在源服务器系统12和目标服务器系统12上暂时地活动,同时LPAR 222的存储器页正被传送。因此,WWPN对维持唯一端点身份,如到SAN 268的连接所要求的。
如果LPAR的验证清单被标记为已传递并且自LPAR的激活以来未改变,则VIOS 240可以在不进行验证的情况下继续移动性事件。因此,可避免不必要的验证检查,从而减少迁移时间。源VIOS 240和目标VIOS 242通过服务处理器260/262经由公共网络252和/或专用网络254彼此通信。控制点250使用来自LPAR 288的验证清单的内容和配置简档205两者在目标服务器系统12上创建目标LPAR 288。源管理程序246发送并跟踪来自源LPAR 222的存储器页,从而使得迁移LPAR 222能够在移动性事件期间继续运行。
现在参考图5,示出了根据一个或多个实施例的用于执行跨帧实时更新的系统。如图5所示,第一服务器(Server1)包括第一虚拟机(VM1)和第二虚拟机(VM2)。VM1当前正在运行工作负载和原始内核,VM2也正在运行工作负载和原始内核。同样耦合至VM1的VM1的管理程序表存储在服务器中,如图所示。应当理解,在Server1上可运行任意数量的VM,并且不受图5所示的示例的限制。
在这个说明性的示例中,第二服务器(Server2)包括VM3,VM3也运行工作负载和原始内核。可以选择Server2作为迁移的目标或目的地。迁移可包括永久迁移或临时迁移。
如图6所示,迁移过程已经开始,并且VM1的原始HPT被存储在Server2中。如果进行了临时迁移,则Server1保留HPT的状态,MSP状态被保留,并且OS/VM状态被保留。另一方面,如果执行永久迁移,则Server1不维护这些状态。常规技术在迁移之后删除源侧/主机侧状态信息以腾出和释放资源。
对于临时迁移,Server2中的VM1的HPT被配置为跟踪在迁移过程期间发生的变化。位用于指示发生了哪些改变。迁移后修改位被保持在Server2上的HPT中(VM1的管理程序页表(原始在Server2中))。在本发明的一个或多个实施例中,针对由于LPM而修改的那些条目,将MAM位设置为“1”。
图7描绘了包括代理LPAR、HPT和驻留在Server2上的更新的内核的目标Server2。在迁移完成之后,将工作负载转移到代理HPT(VM1代理节点)并且更新内核。类似于原始HPT,代理HPT还在内核更新期间使用MAM位跟踪对存储器页的改变。
在更新完成之后,搜索代理LPAR的HPT以识别在迁移和内核更新期间已经改变的那些页。这些页准备用于向Server1的反向迁移过程,并且与原始LPAR的保留状态数据组合以提供LPAR的完整实例。在本发明的一个或多个实施例中,仅将这些改变传送回源,这在该过程期间提供了实质性的时间节省。在实现进程时,应当理解,VM1、VM2或VM3上运行的进程没有中断。
现在参考图8,示出了根据本发明的一个或多个实施例的存储MAM位的表800。如以上示例中所讨论的,将MAM位存储在Server2的原始节点和代理节点的管理程序页表中。图8描绘了存储在Server1上的VM1的HPT中的第一管理程序表810。VM1的HPT存储在Server1中,并且将逻辑地址(LP)映射到物理地址(PP)。图8还描绘了包括VM1的HPT的副本并且存储在Server2中的第二管理程序表820。在本发明的一个或多个实施例中,针对在LPM期间修改的那些页,将MAM位设置为1。图8描绘了包括存储在Server2中的VM1(代理)的HPT的第三管理程序表830。在本发明的一个或多个实施例中,针对由于实时更新(LU)而修改的那些,将MAM位设置为1。
现在参考图9,示出了在执行用于临时迁移的反向迁移之后的Server1和Server2。在反向迁移过程期间,分析Server2的HPT,在迁移和更新过程期间已经被修改的那些页被识别,并被发送到源Server1。来自Server2的修改的页与保持在源Server1中的页组合以提供更新的LPAR的完整实例。如图所示,Server2已经释放用于跟踪临时迁移的更新的资源。在迁移过程期间,VM中的每一个保持在线,使得不经历停机时间。
现在参考图10,提供了根据本发明的一个或多个实施例的用于执行迁移的方法1000的流程图。方法1000在框1002开始并且进行至框1004,框1004提供确定将从源服务器到目标服务器执行的实时迁移的迁移类型。在本发明的一个或多个实施例中,操作系统发起实时分区迁移。移动性进程将包括处理器状态、存储器、附接的虚拟设备和连接的用户的系统环境转移到另一分区或另一服务器。
接下来,操作系统指示迁移是临时迁移还是永久迁移。如果确定该迁移是临时迁移,则源服务器维护该状态。如果确定迁移是永久迁移,则源服务器将使状态信息失效,并在迁移后释放资源。应当理解,在本发明的范围内可以考虑其他类型。
源管理程序/MSP确定迁移类型是临时的。源管理程序/MSP向目的地侧管理程序/MSP通知迁移类型是临时类型迁移。
框1006执行从源服务器到目标服务器的实时迁移,并且框1008基于迁移类型来维护要被迁移的页。在本发明的一个或多个实施例中,如果迁移类型是永久迁移类型,则释放用于迁移的虚拟机或虚拟服务器的管理程序页表以供使用。如果迁移类型是虚拟服务器或虚拟机将被反向迁移到源服务器的临时迁移类型,则维护管理程序页表和状态信息。换言之,页表和状态信息被存储并且将在反向迁移过程期间被使用。
框1010在管理程序页表中跟踪修改。在本发明的一个或多个实施例中,原始管理程序页表的副本存储在目标服务器中。该管理程序页表包括附加位(MAM位)以跟踪脏页或在迁移过程期间已经被更新的页。当页在原始管理程序页表中被接收时,服务器维护页的副本。原始管理程序页表在迁移期间跟踪修改的页。
在完成迁移过程之后,代理LPAR将用于存储用于内核更新过程的更新。在内核更新期间,使用代理页表来跟踪LKU期间的改变。类似于原始HPT,代理页表使用MAM来跟踪在LKU期间已经改变的页。
框1012基于迁移类型执行反向迁移。在本发明的一个或多个实施例中,当迁移类型是临时迁移时执行反向迁移。仅将在实时迁移过程和实时更新过程期间已经被修改的页传输回源服务器。换言之,被管理程序页表中的MAM位指示为已经被更新的那些页被发送回源服务器。这改善了总体迁移时间,因为不再需要将所有页(不管其是否已经更新)传输回源以完成临时迁移。
在执行LKU之后,代理HPT准备好用于反向迁移。处理器通过仅添加已经设置了MAM位的那些页来创建要迁移的页的列表。LPM向Server1的反向迁移仅传送经修改的页。在本发明的一个或多个实施例中,由MAM位指示的经修改的页与保留的页合并以完成迁移过程。在框1014处,方法1000结束。应当理解,方法1000不限于图10中显示的步骤,而是可以使用不同的顺序或不同的步骤。
本文中描述的技术通过维护页存储器、跟踪存储器的改变以及仅将改变的页传输到管理程序以完成临时迁移来改进实时迁移。
技术效果和益处包括通过减少LPM时间来改进总体实时更新操作时间。管理程序和MSP(移动器服务分区)仅传送已被修改的页。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可以是可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任何合适的组合。计算机可读存储介质的更具体示例的非详尽列表包含以下各项:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、机械编码装置(例如,具有记录于其上的指令的穿孔卡或槽中的凸起结构),以及前述各项的任何合适组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输电缆、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,该一种或多种程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可以(例如,使用互联网服务提供商通过互联网)连接至外部计算机。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
本文参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个框以及流程图和/或框图中框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些程序指令可以指引计算机、可编程数据处理装置、和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的一个或多个框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的一个或多个框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的(一个或多个)逻辑功能的一个或多个可执行指令。在一些替代实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合,可以由执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
本发明的各种实施例的描述已经出于说明的目的而被呈现,但并不旨在是详尽的或者限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域普通技术人员将是明显的。本文使用的术语被选择来最好地解释实施例的原理、实际应用或优于市场中发现的技术的技术改进,或者使得本领域普通技术人员能够理解本文描述的实施例。
Claims (16)
1.一种用于执行实时更新的计算机实现的方法,所述方法包括:
确定将从源服务器到目标服务器执行的实时迁移的迁移类型;
执行从源服务器到目标服务器的实时迁移;
基于所述迁移类型,维护待迁移的页;
在管理程序页表中跟踪修改;以及
基于所述迁移类型执行反向迁移。
2.根据权利要求1所述的计算机实现的方法,还包括在所述目标服务器的管理程序表中跟踪在所述实时迁移期间的修改。
3.根据权利要求2所述的计算机实现的方法,还包括在所述目标服务器的第二管理程序表中跟踪在所述实时迁移完成之后发生的修改。
4.根据前述权利要求中任一项所述的计算机实现的方法,进一步包括确定所述迁移类型是永久迁移还是临时迁移。
5.根据权利要求4所述的计算机实现的方法,响应于确定所述迁移类型是永久迁移,释放与所述永久迁移相关联的所述源服务器的页存储器。
6.根据前述权利要求中任一项所述的计算机实现的方法,其中,跟踪所述修改包括使用迁移后修改MAM位来指示已被修改的页。
7.根据权利要求6所述的计算机实现的方法,其中,所述反向迁移仅传输由所述MAM位指示的所述管理程序表中的变化,其中,所述变化与在所述源服务器中维护的所述页组合。
8.一种用于执行实时更新的系统,所述系统包括:
一个或多个处理器;以及
耦合到所述一个或多个处理器的至少一个存储器,其中所述一个或多个处理器被配置为:
确定将从源服务器到目标服务器执行的实时迁移的迁移类型;
执行从源服务器到目标服务器的实时迁移;
基于所述迁移类型,维护待迁移的页;
在管理程序页表中跟踪修改;以及
基于所述迁移类型执行反向迁移。
9.根据权利要求8所述的系统,其中,所述一个或多个处理器被配置为在所述目标服务器的管理程序表中跟踪在所述实时迁移期间的修改。
10.根据权利要求9所述的系统,其中,所述一个或多个处理器被配置为在所述目标服务器的第二管理程序表中跟踪在完成所述实时迁移之后发生的修改。
11.根据权利要求8至10中任一项所述的系统,其中,所述一个或多个处理器被配置为确定所述迁移类型是永久迁移还是临时迁移。
12.根据权利要求11所述的系统,响应于确定所述迁移类型是永久迁移,所述一个或多个处理器被配置为释放与所述永久迁移相关联的所述源服务器的页存储器。
13.根据权利要求8至12中任一项所述的系统,其中,跟踪所述修改使用迁移后修改MAM位来指示已被修改的页。
14.根据权利要求13所述的系统,其中,所述反向迁移仅传输由所述MAM位指示的所述管理程序表中的变化,其中,所述变化与在所述源服务器中维护的所述页组合。
15.一种用于执行实时更新的计算机程序产品,所述计算机程序产品包括:
计算机可读存储介质,所述计算机可读存储介质能够由处理电路读取并且存储用于由所述处理电路执行以执行根据权利要求1至7中任一项所述的方法的指令。
16.一种计算机程序,存储在计算机可读介质上并且能够加载到数字计算机的内部存储器中,所述计算机程序包括软件代码部分,当所述程序在计算机上运行时,所述软件代码部分用于执行根据权利要求1至7中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/581,883 | 2019-09-25 | ||
US16/581,883 US11340938B2 (en) | 2019-09-25 | 2019-09-25 | Increasing the performance of cross the frame live updates |
PCT/IB2020/058880 WO2021059153A1 (en) | 2019-09-25 | 2020-09-23 | Increasing performance of cross frame live updates |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114424180A true CN114424180A (zh) | 2022-04-29 |
Family
ID=74881885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080064854.XA Pending CN114424180A (zh) | 2019-09-25 | 2020-09-23 | 增加跨帧实时更新的性能 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11340938B2 (zh) |
JP (1) | JP7491650B2 (zh) |
KR (1) | KR20220035933A (zh) |
CN (1) | CN114424180A (zh) |
AU (1) | AU2020351839B2 (zh) |
DE (1) | DE112020004522T5 (zh) |
GB (1) | GB2602768B (zh) |
WO (1) | WO2021059153A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113364806B (zh) * | 2021-06-30 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种服务接口迁移的校验方法及装置 |
US11586371B2 (en) * | 2021-07-23 | 2023-02-21 | Vmware, Inc. | Prepopulating page tables for memory of workloads during live migrations |
US20230036054A1 (en) * | 2021-07-29 | 2023-02-02 | International Business Machines Corporation | Memory migration within a multi-host data processing environment |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019962B2 (en) | 2007-04-16 | 2011-09-13 | International Business Machines Corporation | System and method for tracking the memory state of a migrating logical partition |
JP5363379B2 (ja) * | 2009-05-20 | 2013-12-11 | ルネサスエレクトロニクス株式会社 | 通信システム |
CN101819545B (zh) | 2010-04-09 | 2012-07-25 | 济南银泉科技有限公司 | 一种利用虚拟化技术实现平台迁移的方法 |
JP2013080346A (ja) | 2011-10-03 | 2013-05-02 | Daiwa Securities Group Inc | 情報処理装置、保守作業支援方法および保守作業支援用プログラム |
US9183035B2 (en) * | 2013-11-08 | 2015-11-10 | International Business Machines Corporation | Virtual machine migration with swap pages |
US9727374B2 (en) | 2015-04-21 | 2017-08-08 | International Business Machines Corporation | Temporary virtual machine migration for improved software application warmup |
US10684876B2 (en) | 2015-05-14 | 2020-06-16 | Netapp, Inc. | Migration of virtual machine data using native data paths |
US10540196B2 (en) | 2016-07-01 | 2020-01-21 | Intel Corporation | Techniques to enable live migration of virtual environments |
US10635420B2 (en) | 2016-07-12 | 2020-04-28 | Oracle International Corporation | Overriding a migrated method in an updated type |
US10691477B2 (en) | 2016-09-27 | 2020-06-23 | Red Hat Israel, Ltd. | Virtual machine live migration using intelligent order of pages to transfer |
US9928056B1 (en) | 2016-10-10 | 2018-03-27 | International Business Machines Corporation | Operating system update management |
US11392508B2 (en) * | 2017-11-29 | 2022-07-19 | Advanced Micro Devices, Inc. | Lightweight address translation for page migration and duplication |
US10768965B1 (en) * | 2018-05-02 | 2020-09-08 | Amazon Technologies, Inc. | Reducing copy operations for a virtual machine migration |
US11579909B2 (en) * | 2018-07-31 | 2023-02-14 | Vmware, Inc. | Honoring resource scheduler constraints during maintenances |
-
2019
- 2019-09-25 US US16/581,883 patent/US11340938B2/en active Active
-
2020
- 2020-09-23 DE DE112020004522.6T patent/DE112020004522T5/de active Pending
- 2020-09-23 WO PCT/IB2020/058880 patent/WO2021059153A1/en active Application Filing
- 2020-09-23 CN CN202080064854.XA patent/CN114424180A/zh active Pending
- 2020-09-23 KR KR1020227005253A patent/KR20220035933A/ko active Search and Examination
- 2020-09-23 GB GB2204969.6A patent/GB2602768B/en active Active
- 2020-09-23 AU AU2020351839A patent/AU2020351839B2/en active Active
- 2020-09-23 JP JP2022517459A patent/JP7491650B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
AU2020351839A1 (en) | 2022-03-17 |
DE112020004522T5 (de) | 2022-07-07 |
US11340938B2 (en) | 2022-05-24 |
WO2021059153A1 (en) | 2021-04-01 |
GB2602768A (en) | 2022-07-13 |
GB202204969D0 (en) | 2022-05-18 |
AU2020351839B2 (en) | 2023-11-09 |
US20210089347A1 (en) | 2021-03-25 |
JP7491650B2 (ja) | 2024-05-28 |
GB2602768B (en) | 2022-12-14 |
JP2022550280A (ja) | 2022-12-01 |
KR20220035933A (ko) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210232469A1 (en) | Dynamic allocation of compute resources at a recovery site | |
US9984648B2 (en) | Delivering GPU resources to a migrating virtual machine | |
AU2014311869B2 (en) | Partition tolerance in cluster membership management | |
US10050850B2 (en) | Rack awareness data storage in a cluster of host computing devices | |
US10614096B2 (en) | Disaster recovery of mobile data center via location-aware cloud caching | |
US20150205542A1 (en) | Virtual machine migration in shared storage environment | |
US10747581B2 (en) | Virtual machine migration between software defined storage systems | |
AU2020351839B2 (en) | Increasing performance of cross frame live updates | |
US9928056B1 (en) | Operating system update management | |
US11709692B2 (en) | Hot growing a cloud hosted block device | |
US20200396306A1 (en) | Apparatuses and methods for a distributed message service in a virtualized computing system | |
US20220413902A1 (en) | Partition migration with critical task prioritization | |
US10228859B2 (en) | Efficiency in active memory sharing | |
US11782623B2 (en) | Transferring an operating image into a multi-tenant environment | |
US11960917B2 (en) | Live migration and redundancy for virtualized storage | |
WO2021233332A1 (en) | Asynchronous host file system based data replication | |
US20230093925A1 (en) | Offloaded container execution environment | |
US20230131665A1 (en) | Updating virtual images of computing environments | |
US20210232315A1 (en) | Performing a point-in-time snapshot copy operation within a data consistency application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |