CN101030154A - 将应用重新定位到拓扑上位于远程计算系统的系统和方法 - Google Patents

将应用重新定位到拓扑上位于远程计算系统的系统和方法 Download PDF

Info

Publication number
CN101030154A
CN101030154A CNA2007100013196A CN200710001319A CN101030154A CN 101030154 A CN101030154 A CN 101030154A CN A2007100013196 A CNA2007100013196 A CN A2007100013196A CN 200710001319 A CN200710001319 A CN 200710001319A CN 101030154 A CN101030154 A CN 101030154A
Authority
CN
China
Prior art keywords
application
computing system
long
topology
remote copy
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
CNA2007100013196A
Other languages
English (en)
Other versions
CN100530124C (zh
Inventor
小约翰·托马斯·弗林
米希拉·豪伊
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 CN101030154A publication Critical patent/CN101030154A/zh
Application granted granted Critical
Publication of CN100530124C publication Critical patent/CN100530124C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

提供了一种用于将正在运行的应用重新定位至拓扑上远程定位的计算系统的系统和方法。利用该系统和方法,当要重新定位应用时,将该应用数据复制到处于原始计算系统的存储区域网络或集群之外的拓扑上位于远程的计算系统的存储系统中。此外,产生该应用的状态检查点并将其复制到该拓扑上位于远程的计算系统。例如可以利用对等远程复制操作来执行应用数据和检查点元数据的复制。该应用数据和检查点元数据可进一步复制到即时副本或闪速副本存储介质,以产生针对该应用的恢复时间点的检查点元数据的副本。

Description

将应用重新定位到拓扑上位于远程计算系统的系统和方法
技术领域
本申请一般涉及改进的数据处理系统和方法。更具体来说,本申请针对用于将正在运行的应用重新定位至拓扑上位于远程的计算系统的系统和方法。
背景技术
随着当今社会越来越多地依赖于电子系统来执行日常活动,信息技术产业方面的高可用性和灾难恢复正日益重要。在此情况下,越来越重要的是能够将正在运行的应用从一个服务器计算设备转移至另一个服务器计算设备,从而确保在服务器计算系统发生故障时该正在运行的应用是可用的。此外,重要的是能够在服务器计算系统故障的情况下对正在运行的应用进行重新定位,从而可以在不同的计算系统上恢复该正在运行的应用。
一种用于对正在运行的应用进行重新定位的解决方案由VMWare提供的VMotionTM软件来提供(VMotionTM的一种演进副本可从www.vmware.com/products/vc/vmotion.html获得)。该VMotionTM软件允许用户将正发生的、运行中的虚拟机从一个物理服务器计算系统移动到连接至同一存储区域网络(SAN)的另一服务器计算系统,同时保持连续的服务可用性。该VMotionTM软件由于存储区域网络中盘片的虚拟化而能够执行这种重新定位。
然而,VMotionTM的局限在于,该软件要求将可以包括操作系统和多个正在运行的应用的整个虚拟机移动到新的物理服务器计算设备。在VMotionTM软件中没有能力将单独的应用从一个物理服务器计算设备移动到另一个物理服务器计算设备。
此外,VMotionTM的局限在于,虚拟机的移动仅可以从同一SAN中的一个服务器计算设备至另一个服务器计算设备进行。因此,VMotionTM不能用于将虚拟机移动到处于该SAN之外的其他服务器计算设备。这实质上对利用VMotionTM软件产品将虚拟机所移动到的服务器计算设备施加了网络拓扑和地理限制。
用于提供正在运行的应用的高可用性和灾难恢复的另一解决方案是由Meiosys公司提供的MetaClusterTM UC 3.0软件,最近IBM公司(国际商业机器公司)已获得了该软件。如在www.prnewswire.com的PR新闻专线可获得的文章“Meiosys Releases MetaCluster UCVersion 3.0”中所描述的,MetaClusterTM软件产品构建于面向服务的体系结构之上,并且体现最新一代的细粒度(fine-grained)虚拟技术,以使得动态数据中心能够在所有负载条件下并在应用不可知的基础上提供基础设施优化和服务级别的节省。
与诸如上述运行在操作系统级别并仅能一次移动整个虚拟机的VMotionTM之类的粗粒度(coarse-grained)虚拟机技术和虚拟机移动性(mobility)技术不同,MetaClusterTM软件产品运行在操作系统和应用之间的中间件层。MetaClusterTM提供包绕每个应用的容器技术,递送针对应用和应用过程的资源隔离和机器对机器的移动性。
MetaClusterTM软件产品的应用虚拟化和容器技术使得能够在物理机和虚拟机二者上对应用进行重新定位。MetaClusterTM还提供基本的商业智能,这使得企业能够设置阈值并定义用于对应用和应用过程在机器间的重新定位进行管理的规则,这二者都致力于高可用性和可利用商业情形。
针对商业关键应用而部署MetaClusterTM UC 3.0允许将应用非常有效地虚拟化,从而性能影响是可忽略的(通常在1%以下)。然后,可以将虚拟化的应用移动到从资源优化和服务质量的观点出发最合适的基础设施。可以动态地重新分配服务器容量以实现不损及性能的高度利用。由于MetaClusterTM UC 3.0使得能够在重新定位期间保存应用的状态和上下文,因此该重新定位对该应用的用户来说既快速又透明。
MetaClusterTM UC 3.0使用透明的“检查点和重新启动”功能,用于在服务器集群中执行应用的这种重新定位。当产生检查点时,针对特定时间点而保存用于重新创建正在运行的应用的全状态、连接和上下文的必要状态数据和元数据。然后,可以将该检查点提供给与原始服务器计算设备在同一集群中的另一服务器计算设备。然后,被提供有检查点的服务器计算设备可以利用从该集群的共享存储系统获得的应用数据,使用检查点信息来重新启动该应用,并在新的服务器计算设备上重新创建该应用的状态、连接和上下文。
尽管与要求对整个虚拟机进行重新定位相反,MetaClusterTM UC3.0允许在同一集群中对单独应用进行重新定位,但MetaClusterTM仍然局限于服务器计算设备的本地化集群。也就是说,MetaClusterTM依赖于所有服务器计算设备接入到共享存储系统以存取应用数据的能力。因此,MetaClusterTM不允许在服务器集群之外移动或重新定位正在运行的应用。而且,这限制了正在运行的应用可以重新定位至的计算设备的网络拓扑和地理位置。
发明内容
考虑到上述问题,有益的是具有一种用于将正在运行的应用重新定位至拓扑上和/或地理上位于远程的计算设备的系统、方法和计算机程序产品。此外,有益的是具有一种用于将正在运行的应用重新定位至该正在运行的应用先前所处的计算设备的存储区域网络或集群之外的计算设备。进一步来说,有益的是具有一种允许将该应用即时恢复到针对灾难恢复的最近一个检查点的重新定位机制。下文中描述的说明性实施方式提供了这种系统、方法和计算机程序产品。
利用该说明性实施方式的机制,当要对应用进行重新定位时,将应用数据复制到拓扑上位于远程的计算系统的存储系统上。对应用数据的复制可以利用镜像技术例如对等(peer to peer)远程复制操作来实现。可进一步将该应用数据复制到即时副本或闪速副本存储介质,以产生针对该应用的恢复时间点的应用数据的副本。
在本说明书中,拓扑上位于远程是指处于计算设备的集群或存储区域网络之外的计算系统,而来自其的正在运行的应用重新定位。在很多情况下,拓扑上位于远程的计算系统也可以是地理上位于远程的,但这对于拓扑上位于远程的计算系统来说并不是必需的。而是,拓扑上位于远程的计算系统仅需要在连接各种计算设备的网络拓扑方面位于远程。
除了复制应用数据之外,产生该应用的状态检查点并将其存储到存储介质中。该状态检查点包括一组元数据,该元数据描述产生检查点时该应用的当前状态。优选地,在与应用数据的复制基本上相同的时间上产生检查点,从而确保检查点元数据所代表的应用的状态与该应用数据匹配。
可以以类似于应用数据的方式将检查点元数据复制到与拓扑上位于远程的计算系统相关联的相同或不同的存储系统。例如,可以对检查点元数据执行对等远程复制操作以将检查点元数据复制到位于远程的存储系统。可进一步将该检查点元数据复制到即时副本或闪速副本存储介质,以产生针对该应用的恢复时间点的检查点元数据的副本。
在一个说明性实施方式中,MetaClusterTM产品可用于产生针对该应用的检查点元数据,如同该应用正被重新定位于服务器计算设备的本地集群中一样。在此说明性实施方式中,可以利用由纽约阿芒克(Armonk)的IBM公司提供的对等远程复制(PPRC)或对等远程复制扩展距离(PPRC-XD)产品,将检查点元数据和应用数据重新定位至拓扑上位于远程的计算系统。这些产品在名称上也称为MetroMirrorTM(PPRC)和Global CopyTM(PPRC-XD)。例如,可以利用由IBM公司提供的FlashCopyTM产品来产生应用数据和检查点元数据的恢复时间点副本。
在一个说明性实施方式中,提供了一种包括具有计算机可读程序的计算机可用介质的计算机程序产品。当在计算设备上执行时,该计算机可读程序使该计算设备将针对正在运行的应用的应用数据远程复制到拓扑上位于远程的计算系统,并产生包括检查点元数据的应用检查点,该应用检查点表示与复制应用数据相同的时间点。该计算机可读程序可以进一步使该计算设备将该检查点元数据远程复制到拓扑上位于远程的计算系统,并通过利用应用数据和检查点元数据的副本,初始化拓扑上位于远程的计算系统上的正在运行的应用,而将该正在运行的应用重新定位至拓扑上位于远程的计算系统。该计算机可读程序可以使计算设备重复地执行下列操作:将针对正在运行的应用的应用数据远程复制到拓扑上位于远程的计算系统;产生包括检查点元数据的应用检查点,该应用检查点表示与复制应用数据相同的时间点;以及,将该检查点元数据远程复制到拓扑上位于远程的计算系统。
该计算机可读程序可进一步使计算设备利用对等远程复制操作,将应用数据远程复制到拓扑上位于远程的计算系统,并将检查点元数据远程复制到拓扑上位于远程的计算系统。该对等远程复制操作可以是异步复制操作。该对等远程复制操作可以是非同步的异步复制操作。该拓扑上位于远程的计算系统可以在地理上相对于最初运行该正在运行的应用的源计算系统而位于远程。
可以将远程复制的应用数据和远程复制的检查点元数据从与拓扑上位于远程的计算系统相关联的存储系统复制到至少一个其他存储设备,以产生恢复检查点。将远程复制的应用数据和检查点元数据复制到至少一个其他存储设备可以利用即时复制操作来执行。
拓扑上位于远程的计算系统可以查询与该从中远程复制应用数据和检查点元数据的源计算系统和该拓扑上位于远程的计算系统相关联的存储控制器,以确定是否已经远程复制了所有的应用数据和检查点元数据。只有已将所有的应用数据远程复制到拓扑上位于远程的计算系统,该拓扑上位于远程的计算系统才可以执行将远程复制的应用数据复制到至少一个其他存储设备。只有已将所有的检查点元数据远程复制到拓扑上位于远程的计算系统,该拓扑上位于远程的计算系统才可以执行将远程复制的检查点元数据复制到至少一个其他存储设备。
该计算机可读程序可进一步使计算设备在远程复制操作期间检测拓扑上位于远程的计算设备的故障。该计算机可读程序还可以使该计算设备基于与该拓扑上位于远程的计算设备相关联的存储设备中的远程复制的应用数据和远程复制的检查点元数据,恢复正在运行的应用在最近一个检查点处的状态。
该计算设备可以在与远程复制针对该正在运行的应用的应用数据基本上相同的时间上产生应用检查点。该计算设备可以是存储区域网络控制计算设备或服务器集群控制计算设备的其中之一。
在另一说明性实施方式中,提供了一种包括处理器和耦合至该处理器的存储器的装置。该存储器可以包含指令,当处理器执行该指令时,该指令使处理器执行以上关于计算机可读程序所述的一个或多个操作。
在又一说明性实施方式中,提供了一种在数据处理系统中用于将正在运行的应用从源计算设备重新定位至拓扑上位于远程的计算系统的方法。该方法可以包括以上关于计算机可读程序所述的一个或多个操作。
在再一说明性实施方式中,提供了一种用于对正在运行的应用进行重新定位的系统。该系统可以包括至少一个网络、耦合至该网络的第一计算系统和耦合至该网络的第二计算系统。该第二计算系统可以在拓扑上相对于该第一计算系统而远程定位。该第一计算系统可以将第一计算系统上针对正在运行的应用的应用数据远程复制到第二计算系统,并产生包括检查点元数据的应用检查点,该应用检查点表示与复制应用数据相同的时间点。该第一计算系统可进一步将检查点元数据远程复制到第二计算系统,并通过利用应用数据和检查点元数据的副本,初始化第二计算系统上的正在运行的应用,而将该正在运行的应用重新定位至第二计算系统。
本发明的这些和其他特征及优点将在以下对本发明的示例性实施例的详细描述中进行描述,或者对于本领域普通技术人员而言,根据以下对本发明的示例性实施例的详细描述,本发明的这些和其他特征及优点将变得显而易见。
附图说明
在所附权利要求书中阐述了本发明特有的新颖特征。但是,通过参考以下结合附图对说明性实施方式的详细描述,可以更好地理解本发明本身以及其优选使用模式、进一步的目的和优点,其中:
图1是在其中可实现说明性实施方式的示例性方面的分布式数据处理系统的示例性框图;
图2是在其中可实现说明性实施方式的示例性方面的服务器计算设备的示例性框图;
图3是示出了根据一个说明性实施方式的对等远程复制操作的示例性框图;
图4是示出了根据一个说明性实施方式的用于对运行中应用进行重新定位的操作的示例性示图;
图5是根据说明性实施方式的正在运行的应用重新定位机制的基本操作组件的示例性框图;
图6是示出了根据说明性实施方式的执行正在运行的应用的重新定位的基本步骤的示例性表格;
图7A和图7B是示出了根据说明性实施方式的响应于重新定位操作期间的故障而恢复正在运行的应用的最近一个检查点的基本步骤的示例性表格;以及
图8是概述了根据说明性实施方式的用于将正在运行的应用重新定位至拓扑上位于远程的计算系统的示例性操作的流程图。
具体实施方式
这里所阐述的说明性实施方式提供用于将正在运行的应用重新定位至拓扑上(很多情况下是地理上)位于远程的计算系统(即不处于该正在运行的应用所定位于的计算系统的存储区域网络或集群中的计算系统)的机制。对此,优选地,在分布式数据处理环境中实施该说明性实施方式的机制。
在以下的描述中,将针对分布式数据处理环境来描述该说明性实施方式的机制,其中在该分布式数据处理环境中有一个假设可以通过一个或多个网络或通信链路进行相互间通信的数据处理系统的网络。图1和图2提供了在其中可实现该说明性实施方式的方面的数据处理环境的示例。所描述的数据处理环境仅为示例性的,而并不意在声明或暗示对在其中可实现该说明性实施方式示例性方面的数据处理环境的类型或配置进行任何限制。在不脱离本发明的精神和范围的情况下,可以对图1和图2所示出的数据处理环境做出很多修改。
现在参考附图,图1示出了可在其中实施本发明的数据处理系统的网络100的图形表示。网络数据处理系统100包括局域网(LAN)102和大型区域数据网络130,这些媒介用于提供在网络数据处理系统100中连接在一起的各种设备和计算机之间的通信链路。LAN 102和大型区域数据网络130可以包括例如有线通信链路、无线通信链路、光缆等的连接。
在上述例子中,服务器计算设备102-105连接至LAN 102。服务器计算设备102-105例如可以包括存储区域网络(SAN)或服务器集群120。SAN和服务器集群在现有技术中通常是公知的,因此这里不提供对SAN/集群120的更详细解释。
除了服务器计算设备102-105之外,客户机108、110和112连接至LAN 102。这些客户机108、110和112可以是例如个人计算机、工作站、应用服务器等。在所述的例子中,服务器计算设备102-105可以存储、跟踪并获取针对客户机108、110和112的数据对象。客户机108、110和112是服务器计算设备102-105的客户机,因此其可以通过LAN102与服务器计算设备102-105进行通信,以在服务器计算设备102-105上运行应用并从这些服务器计算设备102-105获得数据对象。网络数据处理系统100可以包括额外的服务器、客户机和其他未示出的设备。
除了LAN 102之外,网络数据处理系统100包括耦合至LAN 102的大型区域数据网络130。在所示的例子中,该大型区域数据网络130可以是互联网(Internet),代表世界范围内的使用传输控制协议/互联网协议(TCP/IP)协议组来进行相互间通信的网络和网关的集合。在互联网的核心处是主要节点之间或主机计算机(包括对数据和消息进行路由的数以千计的商业、政府、教育和其他计算机系统)之间的高速数据通信线路的骨干网。
应当注意的是,互联网通常由集群中的服务器使用以利用对业务进行消息传送的TCP/IP进行相互间的通信。参与镜像(例如下文将要描述的PPRC)的存储控制器通常利用FICON信道命令、SCSI命令或TCP/IP来通过单独的存储网络进行通信。
当然,大型区域数据网络130还可以实现为大量不同类型的网络,例如内网(intranet)、另一局域网(LAN)、广域网(WAN)等。图1仅意在示例,而并不意在声明或暗示针对这里所述的说明性实施方式的任何结构性限制。
服务器计算设备140耦合至大型区域数据网络130并且具有相关联的存储系统150。存储系统150示出为直接耦合至服务器计算设备140,但可选地,该存储系统150可以间接地由服务器计算设备140通过大型区域数据网络130或另一网络(未示出)进行访问。服务器计算设备140在拓扑上相对于SAN/集群120而位于远程。也就是说,服务器计算设备140不是SAN/集群120的一部分。而且,服务器计算设备140可以在地理上相对于SAN/集群120而位于远程。
下面描述的说明性实施方式提供了用于将正在运行的应用从SAN/集群120的服务器计算设备102-105重新定位至拓扑上位于远程的服务器计算设备140的机制。应当理解,尽管将要针对对来自SAN/集群120的正在运行的应用进行重新定位来描述说明性实施方式,但这些说明性实施方式以及本发明并于局限于此。而是,在不脱离本发明的精神和范围的情况下,作为对SAN/集群120的代替,单个服务器计算设备或甚至是客户机计算设备也可以是重新定位至拓扑上位于远程的计算设备(服务器或客户机计算设备)的正在运行的应用的源。
现在参考图2,根据本发明的优选实施方式示出了可实现为服务器计算设备(例如图1中的一个或多个服务器计算设备102-105或服务器计算设备140)的数据处理系统的框图。数据处理系统200可以是包括多个连接至系统总线206的处理器202和204的对称多处理器(SMP)系统。可选地,可以采用单处理器系统。连接至系统总线206的还有存储器控制器/高速缓存器208,其提供通往本地存储器209的接口。I/O总线桥210连接至系统总线206并提供通往I/O总线212的接口。存储器控制器/高速缓存器208和I/O总线桥210可以如所示那样集成。
连接至I/O总线212的外围组件互连(PCI)总线桥214提供通往PCI本地总线216的接口。大量调制解调器可以连接至PCI本地总线216。通常的PCT总线实施将支持四个PCI扩展插槽或插入(add-in)连接器。图1中通往客户机108-112和/或其他网络耦合设备的通信链路可以通过经由插入连接器连接至PCI本地总线216的调制解调器218和/或网络适配器220来提供。
额外的PCI总线桥222和224提供针对额外PCI本地总线226和228的接口,额外的调制解调器或网络适配器可从中得到支持。在此方式中,数据处理系统200允许通往多个网络计算机的连接。存储器映射图形适配器230和硬盘232也可以直接或间接连接至所述的I/O总线212。
本领域普通技术人员将可以理解,图2中所示的硬件可以发生变化。例如,除了所述的硬件或代替所述的硬件,也可以使用诸如光盘驱动器等之类的其他外围设备。所示的例子并不意在暗示对本发明的结构性限制。
图2中所示的数据处理系统可以是例如IBM eServer pSeries系统,这是纽约阿芒克的IBM公司的一种产品,该产品运行高级交互执行(AIX)操作系统或LINUX操作系统。
再次参考图1,利用该说明性实施方式的机制,期望将正在运行的应用从一个计算设备重新定位至另一个计算设备,以提供高可用性和灾难恢复。具体来说,有益于将正在运行的应用从服务器计算设备102-105重新定位至拓扑上和/或地理上位于远程的服务器计算设备140。该说明性实施方式提供的机制能够将针对正在运行的应用的应用数据和检查点元数据远程复制到拓扑上和/或地理上位于远程的计算设备,以及即时复制该应用数据和检查点元数据,以提供恢复检查点的时间点。
如上所述,公知的机制,例如VMotionTM和MetaClusterTM仅允许在本地拓扑中即SAN/集群120中进行正在运行的应用的重新定位。利用这些公知机制,可以将正在运行的应用重新定位至的计算设备必须访问同一共享存储系统,从而将重新定位限制于本地拓扑和地理区域。该公知机制不允许将正在运行的应用重新定位至拓扑上和/或地理上位于远程的计算设备。
利用说明性实施方式的机制,当正在运行的应用要从例如服务器计算设备102重新定位至拓扑上位于远程的服务器计算系统140时,该服务器计算设备102将针对该正在运行的应用的应用数据复制到与拓扑上位于远程的服务器计算系统140相关联的存储系统150。该应用数据的复制例如可以利用对等远程复制操作来执行。该应用数据可进一步复制到即时副本或闪速副本存储介质160,以产生针对该应用的恢复时间点,即恢复检查点,的应用数据的副本。
如上所述,在本说明书中,拓扑上位于远程是指服务器计算系统140处于正在运行的应用从中重新定位的服务器计算设备102的SAN/集群120之外。在很多情况中,拓扑上位于远程的服务器计算系统140也可以是地理上位于远程的,但这对于该服务器计算系统140在拓扑上位于远程不是必需的。而是,拓扑上位于远程的服务器计算系统140仅需要在连接各种计算设备的网络数据处理系统100的网络拓扑方面远程定位。
除了将应用数据复制到拓扑上位于远程的服务器计算系统140之外,服务器计算设备102还产生正在运行的应用的状态检查点并将该检查点数据存储至与服务器计算设备102相关联的存储介质。该状态检查点包括一组元数据,其描述在产生该检查点时正在运行的应用的当前状态。优选地,与该应用数据的复制基本相同的时间上产生该检查点,从而确保检查点元数据所代表的应用的状态与该应用数据匹配。
可以以类似于应用数据的方式将该检查点元数据复制到与拓扑上位于远程的计算系统相关联的相同或不同的存储系统150。例如,可以对检查点元数据执行对等远程复制操作以将该检查点元数据复制到位于远程的存储系统150。可进一步将该检查点元数据复制到即时副本或闪速副本存储介质160,以产生针对应用的恢复时间点的检查点元数据的副本。
在一个说明性实施方式中,MetaClusterTM产品可用于产生针对正在运行的应用的检查点元数据,如同该应用正被重新定位于服务器计算设备102-105的本地集群120中一样。在此说明性实施方式中,可以利用由纽约阿芒克的IBM公司提供的对等远程复制(PPRC)或对等远程复制扩展距离(PPRC-XD)产品,将检查点元数据和应用数据重新定位至拓扑上位于远程的服务器计算系统140。例如,可以利用由IBM公司提供的FlashCopyTM产品来产生应用数据和检查点元数据的恢复时间点副本。
MetaClusterTM、PPRC、PPRC-XD以及FlashCopyTM产品在现有技术中是普遍公知的。MetaClusterTM产品的有关信息例如可以在PR新闻专线网站(www.prnewswire.com)提供的文章“Meiosys ReleasesMetaCluster UC Version 3.0”和“Meiosys Relocates Multi-TierApplications Without Interruption of Service”中找到。PPRC和PPRC-XD产品的有关信息例如在作者为Castets等、名称为“IBM TotalStorageEnterprise Storage Server PPRC Extended Distance”的红皮书文件中进行了描述,并且可以在IBM公司的官方网站(www.ibm.com)上获得。FlashCopy产品例如在作者为Warrick等、名称为“IBM TotalStoragePPRC Migration Manager and FlashCopy Manager Overview”的红皮书文件中进行了描述,并且可以在IBM公司的官方网站(www.ibm.com)上获得。据此这里将这些文件通过参考引入。
图3是示出了根据一个说明性实施方式的对等远程复制操作的示例性框图。在所示例子中,PPRC-XD产品用于执行对等远程复制操作,尽管本发明并不局限于使用PPRC或PPRC-XD。而是,在不脱离本发明的精神和范围的情况下,可以使用允许将数据和元数据远程复制到拓扑上位于远程的存储系统的任何机制。
使用PPRC-XD作为一个说明性实施方式的代表来执行数据和元数据的远程复制,PPRC是一种企业存储服务器(ESS)功能,其允许将应用系统数据从一个站点(称为应用站点)影射至第二站点(称为恢复站点)。在应用站点处的ESS中保持数据的逻辑卷称为主卷,在恢复站点处保持镜像数据的相应逻辑卷称为次级卷。在一个说明性实施方式中,可以利用企业系统连接(ESCON)链路来提供初级ESS和次级ESS之间的连接。
图3示出了在以同步模式(PPRC-SYNC)操作PPRC时写入操作的顺序。如图3所示,在该同步类型的操作中,对应用站点主卷320进行的更新被同步影射到恢复站点处的次级卷330。由于这是同步解决方案,所以,在将针对运行在计算设备310上的应用的写入视为完成之前,可确保对两个副本(初级和次级)的写入更新。
因为在PPRC-SYNC操作中,直到在初级和次级卷320和330二者中同步进行了更新时该应用才能达到“写入完成”条件,所以从应用的角度来看,恢复站点次级卷330处的数据是总是与主卷320处的数据一致的实时数据。
这种特征的一个意义在于,在正常的PPRC-SYNC操作中,依赖性写入被应用到次级卷330上的顺序与它们被应用到主卷320上的顺序相同。这在恢复时刻从应用一致性的角度来看是非常重要的。PPRC-SYNC可以在恢复站点处提供连续的数据一致性,而无须周期性地中断该应用以构建一致性检查点。从应用的角度来看,这是一种在恢复位置处总是具有有效数据的非破坏性方式。
尽管在图3中示出了同步PPRC操作,但应当理解的是,该说明性实施方式的机制可等同地应用于同步和异步远程复制操作。在异步远程复制操作中,可以在次级卷330中提交(commit)数据之前从主卷320中返回“写入完成”。实质上,就这里的说明性实施方式的异步远程复制操作而言,下文中将要描述的即时副本源存储设备需要在执行该即时复制操作之前处于数据一致的状态。将参考图4在后文中对确保这种数据一致性的示例性操作进行描述。
该说明性实施方式利用远程复制操作来将应用数据和检查点元数据的远程副本写入到与拓扑上位于远程的计算系统相关联的存储系统中,其中在优选实施方式中,该远程复制操作是由例如PPRC和PPRC-XD所提供的对等远程复制操作。图4是示出了根据一个说明性实施方式的用于对运行中应用进行重新定位的操作的示例性示图。
如图4所示,当正在运行的应用待被重新定位至拓扑上位于远程的服务器计算系统(下文中称为远程服务器420)时,其上运行该应用的服务器计算设备(下文中称为应用服务器410)将该应用数据的远程副本写入到与该远程服务器420相关联的存储系统中。在所示的例子中,应用数据(例如可以包括正在运行的应用的外出数据)存在于应用服务器410的数据存储器A中,并且通过远程复制操作被写入到远程服务器420的数据存储器B中。
除了远程复制该应用数据之外,应用服务器410产生针对该正在运行的应用的检查点。在所示的例子中,针对该检查点的元数据存储在数据存储器M中,该数据存储器M可以与数据存储器A处于相同的存储系统中或可以不与数据存储器A处于相同的存储系统中。优选地,在与将应用数据远程复制到数据存储器B基本上相同的时间上产生该检查点。这有助于确保检查点元数据所代表的正在运行的应用的状态与复制到数据存储器B的应用数据匹配。
检查点元数据被远程复制到数据存储器N。再者,例如,可以利用PPRC或PPRC-XD所提供的对等远程复制操作来执行该远程复制。数据存储器N可以与数据存储器B处于相同的存储系统中或可以不与数据存储器B处于相同的存储系统中。在这点上,数据存储器B和数据存储器N包括用于在远程服务器420上重新创建正在运行的应用的状态所必需的所有信息。利用该数据和元数据,可以初始化该应用,并且该应用的状态设置到检查点元数据所代表的状态。以此方式,正在运行的应用可以从应用服务器410重新定位至远程服务器420。
此外,可以对数据存储器B中的应用数据以及数据存储器N中的检查点元数据进行即时或闪速复制,从而提供恢复数据点。如图4所示,可以将数据存储器B中的应用即时或闪速复制到数据存储器C。类似地,可以将数据存储器N中的检查点元数据即时或闪速复制到数据存储器O。数据存储器C和O优选地处于同一存储系统中,并且可以与数据存储器B和N处于相同的存储系统中或可以不与数据存储器B和N处于相同的存储系统中。
应当理解的是,如前所述,可以利用同步或异步镜像操作即远程复制操作来执行上述的远程复制操作。利用同步镜像,存储设备A中存储的数据将总是与存储设备B中存储的数据一样。类似地,存储设备M中存储的数据将与存储设备N中存储的数据一样。当产生应用检查点时,利用即时复制操作将存储设备B的状态保存在存储设备C中。然后,当把该检查点状态元数据写入到存储设备M中时,该检查点状态元数据实质上由于同步镜像也被写入到存储设备N中。此时,根据实施,存储设备C匹配与存储设备N相同的逻辑时间点,该存储设备N可以被或可以不被复制到存储设备O以保存此状态。
有两种可以执行异步镜像的方式。一种方式是保存更新的原始次序,该次序在任何时间点保持存储设备上的数据一致性。另一种方式是不保持更新次序,而对数据的传输进行优化以获得最大带宽(称作“非同步”操作)。
PPRC-XD实现非同步操作。因此,为了确保存储设备中的一致性,可以使用两种方法中的一种。一种方法是查询与所涉及的存储设备相关联的存储控制器以确定源存储设备上的所有改变数据是否已被复制。如果所有数据已被复制,则存储设备中的镜像对是一样的,并且即时复制将在存储设备C或O上创建一致的数据组。否则,将必须等待,直到在执行该即时复制操作之前所有已改变的数据被复制为止。这种方法最适于其中数据不是在实时的基础上改变的应用。
另一种方法是指示存储控制器从非同步复制改变到同步。当这些完成以后,产生与上述同步操作类似的情况并且可以执行即时复制操作。在执行了即时复制操作之后,可以将镜像操作改变回非同步以优化数据传输。在说明性实施方式的优选实施方式中使用这种方法,但是本发明并不局限于此具体的方法。只要在执行即时复制操作之前确保源存储设备的数据一致性,那么在不脱离本发明的精神和范围的情况下,就可以使用上述方法之外的其他方法。
图5是根据说明性实施方式的正在运行的应用重新定位机制的基本操作组件的示例性框图。图5中所示的元件可以以硬件、软件或硬件与软件的任意组合来实现。在优选的实施方式中,图5中所示的元件实现为由一个或多个处理器执行的软件指令。然而,应当理解的是,可以提供一个或多个专用硬件设备来实现图5中元件的功能。
如图5所示,正在运行的应用重新定位机制500包括正在运行的应用重新定位控制器510、对等远程复制模块520、检查点产生模块530、存储系统接口540以及网络接口550。这些元件优选地提供在计算设备中,在该计算设备中正在运行的应用要被重新定位至拓扑上位于远程的计算设备。然而,在可选的实施方式中,这些元件可以提供在单独的计算设备中,该单独的计算设备与运行待被重新定位至其他拓扑上位于远程的计算设备的应用的计算设备进行通信,例如该元件可以提供在代理服务器、集群或SAN控制计算设备等中。
正在运行的应用重新定位控制器510控制正在运行的应用重新定位机制500的总体操作,并且组织其它元件520-550的操作。正在运行的应用重新定位控制器510包含用于执行将正在运行的应用重新定位至拓扑上位于远程的计算设备的总体指令/功能。该正在运行的应用重新定位控制器510与其他元件520-550中的每一个进行通信以组织它们的操作和交互。
对等远程复制模块520执行将通过存储系统接口540所获得的应用数据和检查点元数据远程复制到拓扑上位于远程的计算设备的远程复制操作。在一个说明性实施方式中,例如,该对等远程复制模块520可以实现先前所述的PPRC或PPRC-XD产品。
当正在运行的应用执行时产生应用数据,因此,单独的模块对于产生应用数据来说不是必要的。然而,提供检查点产生模块530来产生检查点元数据,以供在重新定位该正在运行的应用时使用。在一个说明性实施方式中,该检查点产生模块530例如可以实现先前所述的MetaClusterTM产品。可以通过存储系统接口540将该检查点元数据存储到相关联的存储系统中,然后可以利用对等远程复制模块530将该检查点元数据随应用数据一起远程复制到拓扑上位于远程的计算设备。例如可以通过网络接口550,对该拓扑上位于远程的计算设备执行该远程复制操作。
图6是示出了根据说明性实施方式的执行正在运行的应用的重新定位的基本步骤的示例性表格。图6中所示的例子假设一种如图4先前所示的存储设备的配置。因此,参考图6中的数据存储器A-C和M-O意味着参考图4所示的相似的数据存储器。
如图6所示,正在运行的应用重新定位操作中的第一步骤是执行初始化。该初始化操作用于建立针对所有存储系统的远程复制操作,该远程复制操作是正在运行的应用重新定位操作的一部分。该初始化操作可以根据操作中涉及的存储设备的存储控制器的特定类型而采用不同形式。一般来说,源存储控制器被配置为能够通过网络将数据路由到目标存储控制器。这是通过建立源和目标存储控制器之间的路径来完成的。在该路径建立之后,对包括正被远程复制的数据的存储卷进行定义并开始远程复制操作。在定义了作为远程复制操作一部分的存储卷时,对远程复制操作的类型,即同步或异步,进行定义。
在初始化时,存储设备A和B存储针对正在运行的应用的当前应用数据,并且存储器C不存储任何与应用重新定位操作相关联的数据。存储设备B借助对等远程复制模块的操作来存储当前应用数据,如图3所示,所述对等远程复制模块以同步或异步方式将应用数据写入到主卷和次级卷二者中。
存储设备M和N存储针对正在运行的应用的当前元数据状态。而且,存储设备N借助对等远程复制模块的操作来存储针对正在运行的应用的当前元数据状态。存储设备O和存储设备C还不包含任何与该应用重新定位操作相关联的数据。
在重新定位操作的第二步骤,产生应用数据检查点n。产生该应用数据检查点n所采取的动作是将存储设备B中的应用数据即时或闪速复制到存储设备C。因此,存储设备A和B包含针对正在运行的应用的当前应用数据,并且存储设备C包含针对还未提交的检查点n的应用数据。存储设备M、N和O还没有相对于初始化步骤发生改变。
在重新定位操作的第三步骤,保存应用检查点n。这涉及将针对检查点n的应用元数据写入到数据存储器M,并因而写入到存储设备N,然后,将该应用元数据即时或闪速复制到存储器O。因此,存储设备M、N和O存储针对检查点n的元数据。还未提交存储器O中的检查点元数据的即时副本。存储设备A、B和C的状态在该第三步骤还未发生变化。
在重新定位操作的第四步骤,通过提交存储设备C和O中的应用数据和检查点元数据的即时或闪速副本来创建恢复检查点。结果,存储设备A和B具有当前应用数据,并且存储设备C具有检查点n应用数据。存储设备M、N和O都包含针对检查点n的元数据。
如果该应用暂停(在步骤2和步骤4之间没有更新活动),其中没有数据丢失,则为了高可用性目的,可以直接在步骤4处移植/复制应用。然而,对于灾难恢复,有必要将存储设备B上的应用数据状态同存储设备N上的应用元数据状态同步起来。在后文的图7A和图7B中概述了这种操作。
图7A和图7B是示出了根据说明性实施方式的响应于重新定位操作期间的故障而恢复正在运行的应用的最近一个检查点的基本步骤的示例性表格。图7A的步骤1-4可以毫无故障地重复若干次。然而,在重新定位操作期间某一点上可能发生故障。在图7B底部所示的步骤32-35中示出了这种情况。
如图7B所示,步骤32和33可以以与之前针对图6所描述的类似方式执行,但这针对新的检查点n+1。在步骤33期间,在拓扑上位于远程的计算设备处可能发生故障。结果,该位于远程的计算设备处的正在运行的应用的状态必须回复到最近一个应用检查点,此情况下为检查点n。
在步骤35中,恢复应用的数据状态以匹配最近一个应用检查点。这涉及撤消从存储设备B到存储设备C的即时或闪速复制以及从存储设备N到存储设备O的即时或闪速复制。结果,存储设备B和存储设备C包含针对检查点n的应用数据,而存储设备N包含针对检查点n的检查点元数据。该数据可用于将正在运行的应用复位到对应于检查点n的状态。因此,除了提供用于将正在运行的应用远程重新定位至拓扑上位于远程的计算设备的机制之外,该说明性实施方式提供用于在提供灾难或故障恢复的同时执行这种远程重新定位的机制。
图8是概述了根据说明性实施方式的用于将正在运行的应用重新定位至拓扑上位于远程的计算系统的示例性操作的流程图。能够理解的是,流程示意图的每个框和流程示意图中框的组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给处理器或其他可编程数据处理装置,以生产机器,使得在处理器或其他可编程数据处理装置上执行的指令创建用于实现流程图框中所指明功能的装置。这些计算机程序指令也可以存储在能够引导处理器或其他可编程数据处理装置以特定方式执行功能的计算机可读存储器或存储介质中,使得存储在计算机可读存储器或存储介质中的指令生产包括实现流程图框中所指明功能的指令装置的产品。
因此,流程示意图的框支持用于执行特定功能的装置的组合、用于执行特定功能的步骤的组合以及用于执行特定功能的程序指令装置。还需要理解的是,流程示意图的每个框以及流程示意图中框的组合可以由执行特定功能或步骤的基于专用硬件的计算机系统来实现,或由专用硬件与计算机指令的组合来实现。
如图8所示,该操作开始于建立针对重新定位操作中涉及的所有存储/计算系统的远程复制操作(步骤810)。对拓扑上位于远程的系统执行应用数据的远程复制(步骤820)。执行对拓扑上位于远程的系统处的应用数据的即时或闪速复制(步骤830)。
基于应用元数据而产生应用检查点(步骤840),并且对拓扑上位于远程的系统执行检查点元数据的远程复制(步骤850)。执行对拓扑上位于远程的系统处的检查点元数据的即时或闪速复制(步骤860)。步骤860与步骤830在逻辑上相关联,因为它们一起代表了正在运行的应用的组合状态和其数据的当前状态。
然后提交应用数据和检查点元数据的即时或闪速副本(步骤870)。然后,基于应用数据和检查点元数据的副本来设置拓扑上位于远程的系统处的正在运行的应用的应用状态(步骤880)。然后该操作终止。
步骤870的提交过程最后与步骤830及860相关联。如果执行了步骤830而没有执行步骤860,那么,例如,图4中的存储设备C将处于n+1状态并且存储设备O将处于n状态。因此,如果此时已经发生恢复,则如前所述,需要撤消对存储设备C的即时复制,使得恢复可以从检查点n进行。
因此,该说明性实施方式提供用于将正在运行的应用重新定位至拓扑上位于远程的计算系统的机制。该说明性实施方式的机制通过提供一种将正在运行的应用重新定位至本地存储区域网络和/或集群之外的计算系统的能力而克服了公知重新定位机制的局限。利用该说明性实施方式的机制,可以以使得可以进行灾难和故障恢复的方式将正在运行的应用重新定位至拓扑上和/或地理上位于远程的计算系统。
上述说明性实施方式可以采用全硬件实施方式、全软件实施方式或包含硬件和软件元件二者的实施方式的形式。在优选实施方式中,本发明在软件中实现,该软件包括但不限于固件、驻留软件、微代码等。
而且,说明性实施方式可以采用计算机程序产品的形式,可以从计算机可用或计算机可读介质中访问该计算机程序产品,其中该计算机可用或计算机可读介质提供计算机或任何指令执行系统使用的或与计算机或任何指令执行系统相联系的程序代码。为了此描述的目的,计算机可用或计算机可读介质可以是能够包含、存储、传送、传播或传输指令执行系统、设备或装置使用的或与其相联系的程序的任何装置。
该介质可以是电子、磁性、光学、电磁、红外或半导体系统(或设备或装置)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬盘和光盘。光盘的当前例子包括压缩盘-只读存储器(CD-ROM)、压缩盘-读/写存储器(CD-R/W)和DVD。
如先前参考图2所述,适用于存储和/或执行程序代码的数据处理系统将包括至少一个通过系统总线直接或间接耦合至存储器元件的处理器。该存储器元件可以包括程序代码实际执行期间所使用的本地存储器、大容量存储器以及提供至少某些程序代码的临时存储以减少在执行期间必须从大容量存储器中获取代码的次数的高速缓存存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备等)可以直接或通过插入I/O控制器来耦合至系统。
网络适配器也可以耦合至该系统,以使得数据处理系统能够通过插入专用或公共网络而耦合至其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器以及以太网卡仅是当前可用类型的网络适配器中的一些。
出于说明和描述的目的而给出了说明性实施方式的描述,并不意在穷尽或以公开的方式来限制本发明。很多修改和变化对于本领域普通技术人员来说都是显而易见的。选择并描述这些实施方式是为了最好地解释本发明说明性实施方式的原理、实际应用,并使得其他本领域普通技术人员能够就具有适用于所构思的特定使用的各种变化的各种说明性实施方式而理解本发明。

Claims (24)

1.一种装置,包括:
处理器;以及
存储器,耦合至所述处理器,其中,所述存储器包含指令,当所述处理器执行所述指令时,所述指令使得所述处理器:
将针对正在运行的应用的应用数据远程复制到拓扑上位于远程的计算系统;
产生包括检查点元数据的应用检查点,所述应用检查点表示与复制所述应用数据相同的时间点;
将所述检查点元数据远程复制到所述拓扑上位于远程的计算系统;以及
通过利用所述应用数据和所述检查点元数据的副本,初始化所述拓扑上位于远程的计算系统上的所述正在运行的应用,而将所述正在运行的应用重新定位至所述拓扑上位于远程的计算系统。
2.根据权利要求1所述的装置,其中,所述指令使得所述处理器利用对等远程复制操作,将应用数据远程复制到拓扑上位于远程的计算系统,并将所述检查点元数据远程复制到所述拓扑上位于远程的计算系统。
3.根据权利要求2所述的装置,其中,所述对等远程复制操作是异步复制操作。
4.根据权利要求2所述的装置,其中,所述对等远程复制操作是非同步的异步复制操作。
5.根据权利要求1所述的装置,其中,所述拓扑上位于远程的计算系统在地理上相对于最初运行所述正在运行的应用的所述装置而位于远程。
6.根据权利要求1所述的装置,其中,将所述远程复制的应用数据和远程复制的检查点元数据从与所述拓扑上位于远程的计算系统相关联的存储系统复制到至少一个其他存储设备,以产生恢复检查点。
7.根据权利要求6所述的装置,其中,利用即时复制操作来执行将所述远程复制的应用数据和检查点元数据复制到至少一个其他存储设备。
8.根据权利要求6所述的装置,其中,所述拓扑上位于远程的计算系统查询与从远程复制所述应用数据和检查点元数据的源计算系统和所述拓扑上位于远程的计算系统相关联的存储控制器,以确定是否已远程复制所有的所述应用数据和检查点元数据,并且其中,只有已将所有的所述应用数据远程复制到所述拓扑上位于远程的计算系统,所述拓扑上位于远程的计算系统才执行将所述远程复制的应用数据复制到所述至少一个其他存储设备,并且其中,只有已将所有的所述检查点元数据远程复制到所述拓扑上位于远程的计算系统,所述拓扑上位于远程的计算系统才执行将所述远程复制的检查点元数据复制到所述至少一个其他存储设备。
9.根据权利要求6所述的装置,其中,所述指令进一步使得所述处理器:
在远程复制操作期间检测所述拓扑上位于远程的计算设备的故障;以及
基于位于与所述拓扑上位于远程的计算设备相关联的存储设备中的所述远程复制的应用数据和远程复制的检查点元数据,恢复最近一个检查点处的所述正在运行的应用的状态。
10.根据权利要求1所述的装置,其中,所述处理器在与所述计算设备远程复制针对所述正在运行的应用的所述应用数据基本上相同的时间上产生所述应用检查点。
11.根据权利要求1所述的装置,其中,所述装置是存储区域网络控制计算设备或服务器集群控制计算设备其中一个的一部分。
12.根据权利要求1所述的装置,其中,所述指令使得所述处理器重复地执行下列操作:将针对正在运行的应用的应用数据远程复制到拓扑上位于远程的计算系统;产生包括检查点元数据的应用检查点,所述应用检查点表示与复制所述应用数据相同的时间点;
以及,将所述检查点元数据远程复制到所述拓扑上位于远程的计算系统。
13.一种在数据处理系统中用于将正在运行的应用从源计算设备重新定位到拓扑上位于远程的计算系统的方法,包括:
将所述源计算设备上针对正在运行的应用的应用数据远程复制到所述拓扑上位于远程的计算系统;
产生包括检查点元数据的应用检查点,所述应用检查点表示与复制所述应用数据相同的时间点;
将所述检查点元数据远程复制到所述拓扑上位于远程的计算系统;以及
通过利用所述应用数据和所述检查点元数据的副本,初始化所述拓扑上位于远程的计算系统上的所述正在运行的应用,而将所述正在运行的应用重新定位至所述拓扑上位于远程的计算系统。
14.根据权利要求13所述的方法,其中,所述将应用数据远程复制到拓扑上位于远程的计算系统以及将所述检查点元数据远程复制到所述拓扑上位于远程的计算系统包括使用对等远程复制操作。
15.根据权利要求14所述的方法,其中,所述对等远程复制操作是异步复制操作。
16.根据权利要求13所述的方法,其中,所述拓扑上位于远程的计算系统在地理上相对于最初运行所述正在运行的应用的源计算系统而位于远程。
17.根据权利要求13所述的方法,进一步包括:
将所述远程复制的应用数据和远程复制的检查点元数据从与所述拓扑上位于远程的计算系统相关联的存储系统复制到至少一个其他存储设备,以产生恢复检查点。
18.根据权利要求17所述的方法,其中,将所述远程复制的应用数据和检查点元数据复制到至少一个其他存储设备包括使用即时复制操作。
19.根据权利要求17所述的方法,进一步包括:
查询与所述源计算设备和所述拓扑上位于远程的计算系统相关联的存储控制器,以确定是否已远程复制所有的所述应用数据和检查点元数据,其中,只有已将所有的所述应用数据远程复制到所述拓扑上位于远程的计算系统,才执行将所述远程复制的应用数据复制到所述至少一个其他存储设备,并且其中,只有已将所有的所述检查点元数据远程复制到所述拓扑上位于远程的计算系统,才执行将所述远程复制的检查点元数据复制到所述至少一个其他存储设备。
20.根据权利要求17所述的方法,进一步包括:
在远程复制操作期间检测所述拓扑上位于远程的计算设备的故障;以及
基于位于与所述拓扑上位于远程的计算设备相关联的存储设备中的所述远程复制的应用数据和远程复制的检查点元数据,恢复最近一个检查点处的所述正在运行的应用的状态。
21.根据权利要求13所述的方法,其中,在与远程复制针对所述正在运行的应用的所述应用数据基本上相同的时间上产生所述应用检查点。
22.根据权利要求13所述的方法,进一步包括:
重复地执行下列操作:将针对正在运行的应用的应用数据远程复制到拓扑上位于远程的计算系统;产生包括检查点元数据的应用检查点,所述应用检查点表示与复制所述应用数据相同的时间点;以及,将所述检查点元数据远程复制到所述拓扑上位于远程的计算系统。
23.一种用于对正在运行的应用进行重新定位的系统,包括:
至少一个网络;
第一计算系统,耦合至所述网络;以及
第二计算系统,耦合至所述网络,其中,所述第二计算系统在拓扑上远离所述第一计算系统,并且其中,所述第一计算系统:
将所述第一计算系统上针对正在运行的应用的应用数据远程复制到所述第二计算系统;
产生包括检查点元数据的应用检查点,所述应用检查点表示与复制所述应用数据相同的时间点;
将所述检查点元数据远程复制到所述第二计算系统;以及
通过利用所述应用数据和所述检查点元数据的副本,初始化所述第二计算系统上的所述正在运行的应用,而将所述正在运行的应用重新定位至所述第二计算系统。
24.一种包括具有计算机可读程序的计算机可用介质的计算机程序产品,其中,当所述计算机可读程序在计算设备上执行时,其使得所述计算设备执行权利要求13-22中任意一项的方法步骤。
CNB2007100013196A 2006-01-25 2007-01-09 将应用重新定位到拓扑上位于远程计算系统的系统和方法 Expired - Fee Related CN100530124C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/340,813 US20070234342A1 (en) 2006-01-25 2006-01-25 System and method for relocating running applications to topologically remotely located computing systems
US11/340,813 2006-01-25

Publications (2)

Publication Number Publication Date
CN101030154A true CN101030154A (zh) 2007-09-05
CN100530124C CN100530124C (zh) 2009-08-19

Family

ID=38454797

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100013196A Expired - Fee Related CN100530124C (zh) 2006-01-25 2007-01-09 将应用重新定位到拓扑上位于远程计算系统的系统和方法

Country Status (3)

Country Link
US (1) US20070234342A1 (zh)
JP (1) JP5147229B2 (zh)
CN (1) CN100530124C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006274A (zh) * 2009-09-02 2011-04-06 联想(新加坡)私人有限公司 设备间的无缝应用会话重构
CN103916455A (zh) * 2013-01-04 2014-07-09 国际商业机器公司 用于数据复制的方法和系统
CN104025036A (zh) * 2011-12-30 2014-09-03 英特尔公司 低时延集群计算
CN106209964A (zh) * 2015-05-28 2016-12-07 三星电子株式会社 电子装置和用于在电子装置中控制应用的执行的方法
CN106919465A (zh) * 2015-12-24 2017-07-04 伊姆西公司 用于存储系统中多重数据保护的方法和装置
CN110221863A (zh) * 2018-03-01 2019-09-10 慧与发展有限责任合伙企业 远程计算系统上的软件执行

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621275B1 (en) 2010-08-06 2013-12-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
US8584145B1 (en) 2010-08-06 2013-11-12 Open Invention Network, Llc System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
US9348530B2 (en) 2005-12-27 2016-05-24 Emc Corporation Presentation of virtual arrays using n-port ID virtualization
US7685395B1 (en) 2005-12-27 2010-03-23 Emc Corporation Spanning virtual arrays across multiple physical storage arrays
US7697515B2 (en) 2005-12-27 2010-04-13 Emc Corporation On-line data migration of a logical/virtual storage array
US7697554B1 (en) 2005-12-27 2010-04-13 Emc Corporation On-line data migration of a logical/virtual storage array by replacing virtual names
US7496783B1 (en) * 2006-02-09 2009-02-24 Symantec Operating Corporation Merging cluster nodes during a restore
US8131667B1 (en) * 2006-04-28 2012-03-06 Netapp, Inc. System and method for generating synthetic clients
US8539137B1 (en) * 2006-06-09 2013-09-17 Parallels IP Holdings GmbH System and method for management of virtual execution environment disk storage
US8583861B1 (en) 2006-06-29 2013-11-12 Emc Corporation Presentation of management functionality of virtual arrays
US8533408B1 (en) 2006-06-29 2013-09-10 Emc Corporation Consolidating N-storage arrays into one storage array using virtual array non-disruptive data migration
US8539177B1 (en) 2006-06-29 2013-09-17 Emc Corporation Partitioning of a storage array into N-storage arrays using virtual array non-disruptive data migration
US8452928B1 (en) * 2006-06-29 2013-05-28 Emc Corporation Virtual array non-disruptive migration of extended storage functionality
US7757059B1 (en) 2006-06-29 2010-07-13 Emc Corporation Virtual array non-disruptive management data migration
US7840683B2 (en) * 2006-08-31 2010-11-23 Sap Ag Systems and methods of migrating sessions between computer systems
US9063896B1 (en) 2007-06-29 2015-06-23 Emc Corporation System and method of non-disruptive data migration between virtual arrays of heterogeneous storage arrays
US9098211B1 (en) 2007-06-29 2015-08-04 Emc Corporation System and method of non-disruptive data migration between a full storage array and one or more virtual arrays
JP5153315B2 (ja) 2007-12-19 2013-02-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ルートファイルシステムを管理するシステム及び方法
US8245013B2 (en) * 2008-10-10 2012-08-14 International Business Machines Corporation Mapped offsets preset ahead of process migration
US8244954B2 (en) * 2008-10-10 2012-08-14 International Business Machines Corporation On-demand paging-in of pages with read-only file system
US8862816B2 (en) * 2010-01-28 2014-10-14 International Business Machines Corporation Mirroring multiple writeable storage arrays
US8171338B2 (en) * 2010-05-18 2012-05-01 Vmware, Inc. Method and system for enabling checkpointing fault tolerance across remote virtual machines
US8224780B2 (en) * 2010-06-15 2012-07-17 Microsoft Corporation Checkpoints for a file system
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US9009437B1 (en) * 2011-06-20 2015-04-14 Emc Corporation Techniques for shared data storage provisioning with thin devices
US9063721B2 (en) 2012-09-14 2015-06-23 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
EP2736221A1 (en) * 2012-11-22 2014-05-28 NEC Corporation Improved synchronization of an application run on two distinct devices
US9317380B2 (en) * 2014-05-02 2016-04-19 International Business Machines Corporation Preserving management services with self-contained metadata through the disaster recovery life cycle
US10089197B2 (en) * 2014-12-16 2018-10-02 Intel Corporation Leverage offload programming model for local checkpoints
US9286104B1 (en) 2015-01-05 2016-03-15 International Business Machines Corporation Selecting virtual machines to be relocated based on memory volatility
US10185637B2 (en) 2015-02-16 2019-01-22 International Business Machines Corporation Preserving management services with distributed metadata through the disaster recovery life cycle
KR102396435B1 (ko) * 2015-08-11 2022-05-11 삼성전자주식회사 불휘발성 메모리 장치, 버퍼 메모리 및 컨트롤러를 포함하는 스토리지 장치를 포함하는 컴퓨팅 장치의 동작 방법

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155678A (en) * 1985-10-29 1992-10-13 International Business Machines Corporation Data availability in restartable data base system
US4945474A (en) * 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US6205449B1 (en) * 1998-03-20 2001-03-20 Lucent Technologies, Inc. System and method for providing hot spare redundancy and recovery for a very large database management system
US6092085A (en) * 1998-03-24 2000-07-18 International Business Machines Corporation Method and system for improved database disaster recovery
US6163856A (en) * 1998-05-29 2000-12-19 Sun Microsystems, Inc. Method and apparatus for file system disaster recovery
JP2000137692A (ja) * 1998-10-30 2000-05-16 Toshiba Corp 分散ノード間負荷分散方式
US6629263B1 (en) * 1998-11-10 2003-09-30 Hewlett-Packard Company Fault tolerant network element for a common channel signaling (CCS) system
US6349357B1 (en) * 1999-03-04 2002-02-19 Sun Microsystems, Inc. Storage architecture providing scalable performance through independent control and data transfer paths
US6339793B1 (en) * 1999-04-06 2002-01-15 International Business Machines Corporation Read/write data sharing of DASD data, including byte file system data, in a cluster of multiple data processing systems
US8156074B1 (en) * 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US6721901B1 (en) * 2000-02-28 2004-04-13 International Business Machines Corporation Method and system for recovering mirrored logical data volumes within a data processing system
US6629264B1 (en) * 2000-03-30 2003-09-30 Hewlett-Packard Development Company, L.P. Controller-based remote copy system with logical unit grouping
US6658590B1 (en) * 2000-03-30 2003-12-02 Hewlett-Packard Development Company, L.P. Controller-based transaction logging system for data recovery in a storage area network
US6594744B1 (en) * 2000-12-11 2003-07-15 Lsi Logic Corporation Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository
FR2820221B1 (fr) * 2001-02-01 2004-08-20 Cimai Technology Procede et systeme pour gerer des executables a bibliotheques partagees
US7143252B2 (en) * 2001-05-10 2006-11-28 Hitachi, Ltd. Storage apparatus system and method of data backup
US6978398B2 (en) * 2001-08-15 2005-12-20 International Business Machines Corporation Method and system for proactively reducing the outage time of a computer system
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
FR2843210B1 (fr) * 2002-08-02 2005-10-14 Meiosys Procede de migration de connexions dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de migration, et systeme multi-ordinateurs ainsi equipe.
FR2843209B1 (fr) * 2002-08-02 2006-01-06 Cimai Technology Procede de replication d'une application logicielle dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de replication, et systeme multi-ordinateurs ainsi equipe.
US20050021836A1 (en) * 2003-05-01 2005-01-27 Reed Carl J. System and method for message processing and routing
US7188272B2 (en) * 2003-09-29 2007-03-06 International Business Machines Corporation Method, system and article of manufacture for recovery from a failure in a cascading PPRC system
US7237056B2 (en) * 2003-11-17 2007-06-26 Hewlett-Packard Development Company, L.P. Tape mirror interface
US7054960B1 (en) * 2003-11-18 2006-05-30 Veritas Operating Corporation System and method for identifying block-level write operations to be transferred to a secondary site during replication
US7299378B2 (en) * 2004-01-15 2007-11-20 Oracle International Corporation Geographically distributed clusters
US7644318B2 (en) * 2004-07-14 2010-01-05 Hewlett-Packard Development Company, L.P. Method and system for a failover procedure with a storage system

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006274B (zh) * 2009-09-02 2015-07-29 联想(新加坡)私人有限公司 设备间的无缝应用会话重构
CN102006274A (zh) * 2009-09-02 2011-04-06 联想(新加坡)私人有限公司 设备间的无缝应用会话重构
US9537957B2 (en) 2009-09-02 2017-01-03 Lenovo (Singapore) Pte. Ltd. Seamless application session reconstruction between devices
US9560117B2 (en) 2011-12-30 2017-01-31 Intel Corporation Low latency cluster computing
CN104025036A (zh) * 2011-12-30 2014-09-03 英特尔公司 低时延集群计算
CN104025036B (zh) * 2011-12-30 2018-03-13 英特尔公司 低时延集群计算
CN103916455A (zh) * 2013-01-04 2014-07-09 国际商业机器公司 用于数据复制的方法和系统
CN103916455B (zh) * 2013-01-04 2018-01-19 国际商业机器公司 用于数据复制的方法和系统
CN106209964A (zh) * 2015-05-28 2016-12-07 三星电子株式会社 电子装置和用于在电子装置中控制应用的执行的方法
CN106209964B (zh) * 2015-05-28 2021-03-05 三星电子株式会社 电子装置和用于在电子装置中控制应用的执行的方法
CN106919465A (zh) * 2015-12-24 2017-07-04 伊姆西公司 用于存储系统中多重数据保护的方法和装置
CN106919465B (zh) * 2015-12-24 2021-03-16 伊姆西Ip控股有限责任公司 用于存储系统中多重数据保护的方法和装置
CN110221863A (zh) * 2018-03-01 2019-09-10 慧与发展有限责任合伙企业 远程计算系统上的软件执行

Also Published As

Publication number Publication date
CN100530124C (zh) 2009-08-19
US20070234342A1 (en) 2007-10-04
JP2007200294A (ja) 2007-08-09
JP5147229B2 (ja) 2013-02-20

Similar Documents

Publication Publication Date Title
CN101030154A (zh) 将应用重新定位到拓扑上位于远程计算系统的系统和方法
JP5235338B2 (ja) 複数の仮想化リモート・ミラーリング・セッション整合性グループを作成および管理するためのシステムおよび方法
CN109857445B (zh) 存储系统和控制软件配置方法
EP3218810B1 (en) Virtual machine cluster backup
CN100339847C (zh) 虚拟化的分布式网络存储系统
EP2784670B1 (en) Memory management method, memory management device and numa system
CN100461121C (zh) 把存储单元和相关元数据复制到存储器的方法和系统
JP4927408B2 (ja) 記憶システム及びそのデータ復元方法
CN1224905C (zh) 在群集计算机系统中的执行资源动作的方法
JP5643421B2 (ja) 動的なブロック・サイズ粒度を使用して、計算クラスタ内の異なるタイプのアプリケーションについてファイル・システムを最適化する方法、システム及びコンピュータ・プログラム
CN1149480C (zh) 文件存储装置
JP6238309B2 (ja) アプリケーション間の統一性を有する共有されるボリュームのスナップショットを生成するための方法
KR102051282B1 (ko) 선택적 리소스 이동을 이용하는 네트워크 결합 메모리
US20140344540A1 (en) Cluster families for cluster selection and cooperative replication
CN1645335A (zh) 用于存储卷的一致拷贝的方法、系统和制造品
US20090132541A1 (en) Managing database resources used for optimizing query execution on a parallel computer system
CN1350674A (zh) 用来实现共用磁盘阵列管理功能的方法和系统
CN1804810A (zh) 用于存储器访问请求的重定向的方法和系统
CN1902577A (zh) 动态功率管理
JP2011076286A (ja) ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
CN106776123B (zh) 一种容灾实时数据复制方法及系统、备份客户端
JP2009505256A (ja) 記憶域プールにおいてアクティブ・ファイルを含む集合体を維持するための方法、システム、およびプログラム(記憶域プールにおけるアクティブ・ファイルを含む集合体の維持)
CN106528327A (zh) 一种数据处理方法以及备份服务器
US9916215B2 (en) System and method for selectively utilizing memory available in a redundant host in a cluster for virtual machines
JPWO2015162684A1 (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090819

Termination date: 20110109