存储无关的应用程序一致性快照和复制

文档序号:1676844 发布日期:2019-12-31 浏览:8次 >En<

阅读说明:本技术 存储无关的应用程序一致性快照和复制 (Storage independent application consistent snapshots and replication ) 是由 R·戈温丹 于 2018-03-30 设计创作,主要内容包括:提供存储无关的应用程序一致性快照和复制。在各种实施方案中,向卷快照服务发出快照命令。由此指示所述卷快照服务将一个或多个应用程序置于备份模式。从所述卷快照服务检索将要快照的LUN的清单。向所述清单上的LUN下层的一个或多个存储系统发出快照命令。在对所述一个或多个存储系统完成所述快照命令之后,将控制交还给所述卷快照服务。(Storage independent application consistent snapshots and replication are provided. In various embodiments, a snapshot command is issued to a volume snapshot service. Thereby instructing the volume snapshot service to place one or more applications in backup mode. A list of LUNs to be snapshotted is retrieved from the volume snapshot service. And issuing a snapshot command to one or more storage systems underlying the LUN on the manifest. Returning control to the volume snapshot service after the snapshot command is completed to the one or more storage systems.)

存储无关的应用程序一致性快照和复制

相关申请的交叉引用

本申请要求2017年3月31日提交的临时申请No.62/480,020的权益,所述申请特此以引用方式整体并入。

技术领域

本公开的实施方案涉及快照,并且更明确地说,涉及存储无关的应用程序一致性快照和复制。

发明内容

根据本公开的实施方案,提供用于快照的方法和计算机程序产品。在各种实施方案中,向卷快照服务发出快照命令。由此指示所述卷快照服务将一个或多个应用程序置于备份模式。从所述卷快照服务检索将要快照的LUN的清单。向所述清单上的LUN下层的一个或多个存储系统发出快照命令。在对所述一个或多个存储系统完成所述快照命令之后,将控制交还给所述卷快照服务。

在一些实施方案中,所述一个或多个应用程序包括数据库应用程序。在一些实施方案中,将要快照的所述LUN对应于支持所述一个或多个应用程序的一个或多个卷。在一些实施方案中,通过时间点拷贝将所述LUN从所述一个或多个存储系统复制到辅存储系统。

附图说明

图1示出根据本公开的实施方案的用于提供快照的系统。

图2示出根据本公开的系统内的代理交互。

图3示出根据本公开的实施方案的用于提供快照的系统。

图4示出根据本公开的实施方案的快照方法。

图5绘示根据本公开的实施方案的计算节点。

具体实施方式

可以使用Windows VSS框架来提供Windows上的应用程序一致性快照。在此类情况中,使用VSS快照提供者来拍取快照。Windows可以提供原生软件快照功能性,其中每个存储系统供应商负责对其存储系统实施快照。各种存储系统供应商可以提供用于在主存储系统上拍取快照的提供者。然而,为了创建辅拷贝,在各种存储系统中并不支持相同的功能性。一些存储系统可以允许将主快照复制到辅存储系统。然而,许多供应商仅支持卷复制,而不会复制所述快照。这样限制了在辅存储系统上创建就地的、应用程序一致性拷贝的能力。

本公开解决这个限制以及用于存储阵列的可选解决方案的其他限制。本公开提供与任何存储系统一起工作以在主和辅存储系统上产生就地的、应用程序一致性快照的系统和方法。

在各种实施方案中,创建应用程序一致性快照,并且提供对主和辅存储系统上的就地拷贝的复制,不管其基础复制技术是什么。各种可选存储系统解决方案仅支持在存储系统上创建主拷贝并且并未被设计成创建辅拷贝。

快照提供在某时间点被冻结的数据集的只读拷贝,同时允许应用程序继续写入其数据。这样允许高数据可用性系统不停地执行备份。一些快照实现方式可以在O(1)时间创建快照。因此,创建快照所需的时间和I/O不会随着数据集的大小而增加。进行直接备份所需的时间和I/O与数据集的大小成比例。在一些系统中,一旦拍取了数据集的初始快照,则后续的快照将仅拷贝有变化的数据,并且使用指针系统来引用所述初始快照。这种基于指针的快照的方法比重复地克隆数据集要消耗较少磁盘容量。

在NTFS中,由Windows XP和Windows Server 2003中的卷影拷贝服务(VSS)并且由Windows Vista中的影拷贝来提供对快照的存取。VSS允许拍取计算机文件或卷的手动或自动备份拷贝或快照,即便所述文件或卷正在使用中。这被实施为被称作卷影拷贝服务的Windows服务。可以通过使用这种技术的任何Windows组件来在本地和外部(可移除或网络)卷上创建影拷贝。

影拷贝的核心组件是卷影拷贝服务,所述卷影拷贝服务开始以及监视快照创建过程。执行所有必要数据传送的组件被称作提供者。因此可以提供软件和硬件提供者并且向卷影拷贝服务注册所述软件和硬件提供者。每个提供者具有用于完成快照产生的最大时间,所述最大时间在一些实施方案中是10秒。

卷影拷贝服务也适应可插拔写入者。如上文所描述,影拷贝的目标是创建一致的可靠快照。在一些情形中,完成所有待定的文件改变操作并不足够。可能必需要完成对若干相关文件的一连串相互关联的改变。举例来说,当数据库应用程序将一条数据从一个文件传送到另一个文件时,需要从源文件删除该条数据且在目标文件中创建该条数据。因此,为了维持一致性,必定不能在第一删除与后续创建之间创建快照。应用程序特定的写入者负责强制实施此语义一致性。在一些实施方案中,可插拔写入者在提供者开始快照创建之前具有60秒来用于建立备份安全状态。

在计算机存储系统中,逻辑单元号或LUN是用于识别逻辑单元的编号,逻辑单元是通过SCSI协议或存储区域网络协议来寻址的装置,所述存储区域网络协议封装SCSI,诸如光纤信道或iSCSI。LUN可以用于支持读取/写入操作的许多装置,诸如磁带驱动器,但大多用于指代如在SAN上创建的逻辑磁盘。术语LUN还可以用于指代逻辑磁盘自身。

根据本公开的系统和方法提供一种可以支持任何存储系统的通用的、就地快照提供者。此外,本文中提供的系统和方法实现了存储无关的就地快照提供者。

现在参看图1,示出根据本公开的实施方案的用于提供快照的系统。应用程序101(应用A)包括数据库102(数据库A)。数据库102将其文件保存在LUN A 103和LUN B 104上。明确地说,数据库文件存储在LUN A 103上,而日志文件存储在LUN B 104上。LUN A 103是映射自存储系统A 105,而LUN B 104是映射自存储系统B 106。在这个实例中,存储系统A105来自供应商X,而存储系统B 106来自供应商Y。因此,在由不同存储系统供应商提供的LUN支持的两个卷上托管应用程序数据库。

在拷贝创建期间,根据本公开的数据保护软件(例如,ECX)将VSS请求者和VSS快照提供者注入到Windows VSS系统。所述数据保护软件发现应用程序配置和存储系统布局并且向VSS请求者发出快照命令。Windows系统上的VSS请求者又请求VSS框架对应用程序数据库拍取快照。所述VSS框架将联系应用程序的写入者并且将所述应用程序置于备份模式并且请求VSS快照提供者拍取快照。

VSS快照提供者与数据保护软件联系,向其告知将要拍取快照或复制的LUN的清单。此时,数据保护软件将针对LUN A 103向存储系统A 105发出快照或复制命令并且针对LUN B 104向存储系统B106发出快照或复制命令,这取决于被限定为策略的部分的存储工作流。在成功完成快照创建或建立复制关系后,数据保护软件将控制交还给VSS快照提供者。所述过程确保这将在由Windows强制实施的10秒窗口内完成。

VSS将请求写入者使应用程序脱离备份模式并且将控制交还给请求者。请求者将此转发回数据保护软件。

现在参看图2,示出根据本公开的系统内的代理交互,明确地说是数据保护软件、VSS请求者和VSS快照提供者之间的代理交互。此图呈现了数据保护软件201(例如,ECX)与Windows(或其他操作系统)之间的通信和布局如何针对来自两个存储系统(例如,A 105和B106)的LUN制作应用程序快照和复制拷贝。

大体上,卷快照服务(VSS)允许拍取计算机文件或卷的手动或自动备份拷贝或快照,即便所述文件或卷正在使用中。卷快照服务在另一个操作系统上可以被实施为Windows服务或相当的组件。大体上,VSS按块级别的卷操作。然而,将了解,本公开可以应用于文件级别的备份。大体上,快照是卷的只读时间点拷贝。快照允许创建卷的一致性备份,确保内容不会改变并且在进行备份时不会被锁定。

在VSS架构202内,执行所有必要数据传送的组件被称作提供者。软件或硬件提供者204可以向VSS 202注册,所述VSS开始并且监视快照创建过程。VSS写入者205也可以向VSS 202注册。在一些情况中,无法通过完成所有待定的文件改变操作来产生一致的可靠快照。因此,可能必需要完成对若干相关文件的一连串相互关联的改变。举例来说,当数据库应用程序将一条数据从一个文件传送到另一个文件时,所述数据库应用程序可能会从源文件删除该条数据且在目标文件中创建该条数据。因此,将不会在第一删除与后续创建之间发生快照。快照应该在删除之前或在创建之后进行。强制实施此语义一致性的任务被交给VSS写入者205。每个写入者都是应用程序特定的并且在提供者开始快照创建之前具有固定的时间来用于建立备份安全状态。在一些实施方案中,时间限制是60秒。如果VSS在此时间内并未从对应的写入者接收到对成功的确认,那么所述操作失败。

根据本公开的各种实施方案,数据保护软件201(例如,ECX)经由VSS请求者203向VSS 202发送快照请求。在一些实施方案中,所述请求包括应用程序和卷识别符。VSS快照提供者204返回LUN数据,包括LUN识别符。以上过程在主或辅存储系统上建立应用程序一致性拷贝点,所述应用程序一致性拷贝点可以用于(例如)恢复、DevOp或使用原生阵列能力的逻辑分析。

现在参看图3,示出根据本公开的实施方案的用于提供快照的系统。在各种实施方案中,数据保护软件/管理服务器(例如,ECX)301通过与数据库服务器302…303通信来创建应用程序一致性快照。在一些实施方案中,数据库服务器302…303可以是SQL服务器。在这个实例中,数据库服务器302…303支持应用程序304。数据库服务器302…303又由位于主物理存储系统306上的一个或多个源卷或快照305支持。在311处,如上文所描述的VSS将应用程序304置于备份模式。在312处,VSS硬件提供者调用管理服务器301来拍取存储快照或复制时间点拷贝。如上所述,在某些实施方案中,底层操作系统为此操作提供10秒窗口。在313处,管理服务器301调用主物理存储系统306来创建快照。在314处,管理服务器301调用辅物理存储系统307来通过时间点拷贝复制来自主存储系统的卷。所复制的卷和快照308由物理辅存储系统307支持。

一旦创建快照或开始复制,控制便交还给VSS硬件提供者。VSS硬件提供者将调用交还给VSS请求者(例如,ECX代理)。管理服务器301对主快照或所复制的卷快照编目录。

如上文陈述的管理服务器(例如,ECX)通过使管理员能够按分钟而非小时或天来安排应用程序一致性拷贝创建、克隆和恢复来简化SQL服务器拷贝管理。此拷贝管理利用了下层存储平台的快照和复制特征来在时间与空间上有效地快速地创建、复制、克隆和恢复数据库(例如,SQL服务器)的拷贝。

现在参看图4,示出根据本公开的实施方案的快照方法。在401处,向卷快照服务发出快照命令。由此指示所述卷快照服务将一个或多个应用程序置于备份模式。在402处,从所述卷快照服务检索将要快照的LUN的清单。在403处,向所述清单上的LUN下层的一个或多个存储系统发出快照命令。在404处,在对所述一个或多个存储系统完成了快照命令之后,将控制交还给所述卷快照服务。

现在参看图5,示出计算节点的实例的示意图。计算节点10仅是合适计算节点的一个实例并且不意欲表明对本文中描述的实施方案的使用或功能性的范围的任何限制。不管怎样,计算节点10都能够被实施和/或执行上文陈述的任何功能性。

在计算节点10中,存在计算机系统/服务器12,所述计算机系统/服务器可用于许多其他通用或专用计算系统环境或配置。可以适合于与计算机系统/服务器12一起使用的熟知的计算系统、环境和/或配置的实例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费型电子装置、网络PC、迷你计算机系统、大型计算机系统以及包括以上系统或装置中的任一者的分布式云计算环境等等。

可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般背景中描述计算机系统/服务器12。大体上,程序模块可以包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。可以在分布式云计算环境中实施计算机系统/服务器12,在所述环境中,由通过通信网络连接的远程处理装置来执行任务。在分布式云计算环境中,程序模块可以位于本地和远程计算机系统存储介质(包括存储器存储装置)中。

如图5中所示,计算节点10中的计算机系统/服务器12如图所示呈通用计算装置的形式。计算机系统/服务器12的组件可以包括但不限于一个或多个处理器或处理单元16、系统存储器28以及将各种系统组件(包括系统存储器28)耦接到处理器16的总线18。

总线18表示若干种类型的总线结构中的任一种类型的一个或多个总线结构,包括存储器总线或存储器控制器、***总线、加速图形端口以及使用各种总线架构中的任一者的处理器或局部总线。举例来说并且不作限制,此类架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线以及***组件互连(PCI)总线。

计算机系统/服务器12通常包括各种计算机系统可读介质。此类介质可以是可由计算机系统/服务器12存取的任何可用介质,并且此类介质包括易失性和非易失性介质、可移除和不可移除介质。

系统存储器28可以包括呈易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12还可以包括其他可移除/不可移除、易失性/非易失性计算机系统存储介质。仅举例来说,可以提供用于从不可移除、非易失性磁性介质(未图示并且通常被称作“硬盘驱动器”)读取并且写入到不可移除、非易失性磁性介质的存储系统34。虽然未图示,但是可以提供用于从可移除、非易失性磁盘(例如,“软盘”)读取并且写入到可移除、非易失性磁盘的磁盘驱动器以及用于从可移除、非易失性光盘(诸如CD-ROM、DVD-ROM或其他光学介质)读取并且写入到可移除、非易失性光盘的光盘驱动器。在此类情况中,各者可以通过一个或多个数据介质接口来连接到总线18。如将在下文进一步绘示和描述,存储器28可以包括具有一组(例如,至少一个)程序模块的至少一个程序产品,所述程序模块被配置成实施本公开的实施方案的功能。

具有一组(至少一个)程序模块42的程序/实用程序40可以存储在存储器28中,举例来说并且不作限制,操作系统、一个或多个应用程序、其他程序模块和程序数据也可以存储在所述存储器中。操作系统、一个或多个应用程序、其他程序模块和程序数据中的每一者或其某一组合可以包括网络环境的实现方式。程序模块42大体上实施本文中描述的实施方案的功能和/或方法。

计算机系统/服务器12还可以与以下各者通信:一个或多个外部装置14,诸如键盘、指点装置、显示器24等;使用户能够与计算机系统/服务器12交互的一个或多个装置;和/或使计算机系统/服务器12能够与一个或多个其他计算装置通信的任何装置(例如,网卡、调制解调器等)。一些通信可以经由输入/输出(I/O)接口22来发生。此外,计算机系统/服务器12可以经由网络适配器20与一个或多个网络(诸如局域网(LAN)、全局广域网(WAN)和/或公共网络(例如,因特网))通信。如所绘示,网络适配器20经由总线18与计算机系统/服务器12的其他组件通信。应理解,虽然未图示,但是其他硬件和/或软件组件可以与计算机系统/服务器12结合使用。实例包括但不限于:微代码、装置驱动程序、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器以及数据存档存储系统等。

本公开可以包括系统、方法和/或计算机程序产品。所述计算机程序产品可以包括计算机可读存储介质(或多种介质),所述计算机可读存储介质上面具有用于致使处理器实施本公开的方面的计算机可读程序指令。

所述计算机可读存储介质可以是可以保持和存储指令以供指令执行装置使用的有形装置。所述计算机可读存储介质可以是例如但不限于电子存储装置、磁性存储装置、光学存储装置、电磁存储装置、半导体存储装置或前述各者的任何合适组合。计算机可读存储介质的更多特定实例的非详尽清单包括以下各者:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或快闪存储器)、静态随机存取存储器(SRAM)、便携式压缩光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、记忆棒、软盘、机械编码装置(诸如在沟槽上记录有指令的穿孔卡或凸起结构)以及前述各者的任何合适组合。如本文中所使用,计算机可读存储介质不被理解为本质上是瞬时信号,诸如无线电波或其他自由传播的电磁波、传播通过波导或其他传输介质的电磁波(例如,传递通过光缆的光脉冲)或传输通过导线的电信号。

可以将本文中描述的计算机可读程序指令从计算机可读存储介质下载到相应的计算/处理装置或者经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储装置。所述网络可以包括铜传输电缆、传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理装置中的网络适配卡或网络接口从网络接收计算机可读程序指令并且转发所述计算机可读程序指令以供存储在相应的计算/处理装置内的计算机可读存储介质中。

用于实施本公开的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或用一种或多种编程语言的任何组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,诸如Smalltalk、C++等,以及常规的程序性编程语言,诸如“C”编程语言或类似的编程语言。所述计算机可读程序指令可以全部在用户的计算机上执行、部分地在用户的计算机上执行、作为独立软件包执行、部分地在用户的计算机上并且部分地在远程计算机上或者全部在远程计算机或服务器上执行。在后一种情形中,所述远程计算机可以通过任何类型的网络连接到用户的计算机,所述网络包括局域网(LAN)或广域网(WAN),或者可以制作到外部计算机的连接(例如,使用因特网服务提供者通过因特网)。在一些实施方案中,电子电路,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),可以通过利用所述计算机可读程序指令的状态信息来定制所述电子电路而执行所述计算机可读程序指令,以便执行本公开的方面。

在本文中参考根据本公开的实施方案的方法、设备(系统)和计算机程序产品的流程图和/或框图来描述本公开的方面。将理解,可以通过计算机可读程序指令来实施流程图和/或框图中的每个框以及流程图和/或框图中的框的组合。

可以将这些计算机可读程序指令提供到通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器,使得所述指令(所述指令经由所述计算机或其他可编程数据处理设备的处理器执行)产生用于实施在流程图和/或框图的一个框或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,所述计算机可读程序指令可以指示计算机、可编程数据处理设备和/或其他装置以特定方式运作,使得其中存储有指令的计算机可读存储介质包括制品,所述制品包括实施在流程图和/或框图的一个框或多个框中指定的功能/动作的方面的指令。

所述计算机可读程序指令还可以载入到计算机、其他可编程数据处理设备或其他装置上,以致使在所述计算机、其他可编程设备或其他装置上执行一连串操作步骤以产生计算机实施的过程,使得在所述计算机、其他可编程设备或其他装置上执行的指令实施在流程图和/或框图的一个框或多个框中指定的功能/动作。

图式中的流程图和框图说明了根据本公开的各种实施方案的系统、方法和计算机程序产品的可能实现方式的架构、功能性和操作。就此来说,流程图或框图中的每个框可以表示指令的模块、段或部分,所述指令的模块、段或部分包括用于实施所指定的逻辑功能的一个或多个可执行指令。在一些可选实现方式中,在框中所述的功能可以不按图式中的次序进行。举例来说,接连地示出的两个框事实上可以基本上同时执行,或者所述框有时可以按相反次序执行,这取决于所涉及的功能性。还请注意,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可以通过专用的基于硬件的系统实施,所述系统执行所指定的功能或动作或者实施专用硬件和计算机指令的组合。

呈现本公开的各种实施方案的描述仅为了进行说明,而不意欲为详尽的或限于所公开的实施方案。在不脱离所描述实施方案的范围和精神的情况下,许多修改和变型将是本领域的普通技术人员显而易见的。选择本文中使用的术语来最好地阐释所述实施方案的原理、实际应用或相较于市场上所见的技术的技术改进,或使本领域的其他普通技术人员能够理解本文中公开的实施方案。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:存储器请求的自适应调度

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!