使用区块盘呈现的数据恢复的制作方法

文档序号:12701250阅读:500来源:国知局
使用区块盘呈现的数据恢复的制作方法与工艺

数据保护系统可以使用快照来将计算系统在时间点处的状态记录到存储机构上。快照是可以用于将盘的状态恢复到拍取快照的特定时间的指针集合。例如,基本虚拟卷可以用于将受保护系统的初始状态存储到盘阵列,并且指示与基本虚拟卷的差异的快照虚拟卷然后可以存储在诸如盘阵列或数据保护设备之类的存储机构上。一旦快照被保存,数据可以备份到存储设备上。

附图说明

在以下详细描述中并且参照各图来描述某些示例实现,其中:

图1是依照本技术的示例实现的示例服务器网络的图;

图2是依照本技术的示例实现的示例数据恢复系统的框图;

图3是依照本技术的示例实现的示例区块设备呈现的框图;

图4是依照本技术的示例实现的恢复数据的示例方法的过程流程图;

图5是依照本技术的示例实现的使用区块设备呈现恢复数据的示例方法的过程流程图;以及

图6是依照本技术的示例实现的示出存储配置成提供区块设备呈现的代码的示例非暂时性机器可读介质的框图。

具体实施方式

在一些系统中,包括计算系统的状态的数据可以备份到重复数据删除(deduplication)储存以供高效存储。重复数据删除储存可以包含一个或多个备份对象。例如,备份对象可以包括可以贯穿表示计算系统的状态的数据而重复或复制的数据组块。在执行快照的恢复中,来自经重复数据删除的备份的数据首先被写入到盘阵列,使得完整备份的一个或多个部分可以被选择用于恢复。所选部分然后可以从盘阵列恢复。典型地,所选部分恢复到某个其它结果得到的端点。

本公开描述了用于直接从经重复数据删除的备份恢复数据的技术。为了从经重复数据删除的备份恢复数据,从快照创建区块设备呈现。区块设备呈现是使用本文所描述的技术创建的备份的临时、可安装映像(image)。如本文所使用的,术语“备份”是指完整备份和任何快照,并且术语“备份对象”是指重复数据删除存储设备中的重复数据删除单元。术语“目标”是指备份要恢复到的位置。驻留在备份存储系统的存储设备中并且在数据保护服务器中托管的备份可以用于将数据恢复到连接至目标存储系统的目标服务器。在一些实现中,数据可以通过修改驱动器以创建备份的区块设备呈现而直接从重复数据删除存储设备的一个或多个备份对象恢复。系统资源由此通过避免在将备份中的数据中的全部或一些恢复到目标盘之前将整个备份写入到盘阵列而被节约。

图1是依照本技术的示例实现的服务器网络的图。服务器网络一般通过参考数字100来指代。如图1中所示,服务器网络100可以包括通过通信网络106操作耦合的备份服务器102和目标服务器104,所述通信网络106例如是广域网(WAN)、局域网(LAN)、虚拟私人网络(VPN)、因特网等。通信网络106可以是TCP/IP协议网络或任何其它适当的协议。任何数目的客户端108可以通过通信网络106访问服务器102、104。每一个服务器102、104还可以操作连接到数据存储系统110、112,所述数据存储系统110、112包括存储设备114、116,诸如物理存储盘的阵列。服务器102、104可以通过存储区域网络118访问数据存储系统110、112,存储区域网络118可以包括通过数据链路122耦合的多个交换机120,数据链路122除其它之外例如是以太网接口连接、光纤信道链路、SCSI(小型计算机系统接口)接口。在一些示例中,数据链路122是存储区域网络118的部分。尽管示出物理连接,但是数据链路122还可以包括通过通信网络110(例如使用以太网光纤信道(FCoE)或IP光纤信道(FCIP))路由的虚拟链路。

服务器102可以托管一个或多个虚拟机124,其中的每一个向客户端108提供操作系统实例。客户端108可以以位置透明的方式访问虚拟机124。与虚拟机124相关联的存储数据可以存储到对应的数据存储系统110。在一些示例中,在服务器102上运行的虚拟机124可以驻留在数据存储系统110上。

服务器102还包括区块设备呈现126。虚拟机124可以将来自一个物理服务器102上的备份的数据恢复到另一物理服务器104。如关于图2所描述的,虚拟机124可以使用数据映射创建区块设备呈现126。如本文所描述的,数据映射是快照空间与备份对象空间之间的映射。数据映射包括备份对象的次序,以及对象端到端的大小,以提供逻辑区块地址空间范围。数据映射可以提供将盘LBA请求映射到针对一个或多个对象的对象字节范围请求的能力。在一些示例中,数据映射可以作为具有各个备份对象的元数据状态而保存。区块设备呈现126可以用于将备份中的数据中的全部或一些恢复到服务器104的数据存储系统112的存储设备116。

将领会到,服务器网络100的配置仅是可以实现在本技术的示例实现中的网络的一个示例。所描述的服务器网络100可以基于针对特定系统的设计考虑而修改。例如,依照本技术的实现的服务器网络100可以包括任何合适数目的物理服务器102、104和任何合适数目的数据存储系统110、112。另外,每一个服务器102可以包括一个或多个虚拟机124,其中的每一个可以操作连接到包含要恢复到任何其它合适的目标服务器104的备份的一个或多个重复数据删除器具(appliance)126。图1的框图不意图指示服务器网络100要包括图1中所示的所有组件。另外,服务器网络100可以取决于具体实现的细节而包括图1中未示出的任何数目的附加组件。

图2是依照本技术的示例实现的示例数据恢复系统的框图。示例备份恢复系统一般通过参考数字200指代。如图2中所示,备份服务器102包括虚拟机124。备份服务器102操作连接到盘阵列202和重复数据删除器具126。虚拟机124包括协调器204、图形用户接口(GUI)206、云计算平台208和虚拟卷驱动器210以与盘阵列202对接,如通过箭头212所示。虚拟机124还包括备份/恢复驱动器214以与盘阵列202和重复数据删除器具126对接,如分别通过箭头216和218所指示的。虚拟机124还包括由备份/恢复驱动器214创建的区块设备呈现220,如通过箭头222所指示的。区块设备呈现220要经由数据链路226传送至目标服务器104的目标盘224。例如,数据链路226可以包括iSCSI、光纤信道或任何其它高速数据链路。盘阵列202可以包括基本虚拟卷228。基本虚拟卷228连接到盘阵列202的快照虚拟卷230、232,如分别通过箭头234、236所示。重复数据删除器具包括对象储存238。对象储存238包括备份对象240和数据映射242。

虚拟机124可以是虚拟器具。如本文所使用的,虚拟器具是预先配置的虚拟机映像,其可以经由电子下载或在物理存储介质上可得到。虚拟机124可以以虚拟机映像的形式供备份服务器102上的管理程序使用。管理程序是可以创建和运行虚拟机的计算机软件、固件或硬件的片段。虚拟机124的协调器204用于调度备份。例如,协调器204可以从GUI 206接收备份请求,并且向云计算平台208发送备份请求。备份可以经由GUI 206调度以预定间隔(诸如每天一次、每周一次或每月一次)自动执行。在一些示例中,云计算平台208包括与虚拟卷驱动器210结合的用于提供用于快照的逻辑卷管理的软件。例如,云计算平台208可以提供盘阵列无关支持,使得可以使用来自任何特定厂商的存储阵列。虚拟卷驱动器210可以允许虚拟卷在盘阵列202上创建并且从盘阵列202读取。虚拟卷是可以横跨一个或多个物理卷的逻辑盘分区。物理卷可以包括硬盘、硬盘分区或外部存储设备的逻辑单元号码(LUN)。

仍旧参照图2,当执行初始备份时,可以将基本虚拟卷228写入到盘阵列202。基本虚拟卷216然后可以充当用于快照虚拟卷218的基础,如通过箭头234所指示的,并且充当用于快照虚拟卷222的基础,如通过箭头236所指示的。例如,快照虚拟卷230、232可以是相同系统在接连时间点处的备份。在一些示例中,快照230、232使用写时拷贝技术实现。在一些示例中,盘阵列202使用精简盘供应以用于盘空间的高效使用。例如,精简盘供应可以包括数据块的按需分配和逻辑盘空间的过分配。

备份/恢复驱动器214可以允许虚拟机124与盘阵列202的快照230、232对接,诸如与快照230对接,如通过箭头216所指示的。例如,一旦快照虚拟卷230在盘阵列202上创建,备份/恢复驱动器214可以读取快照虚拟卷230内的数据字节,并且发送作为对象储存238上的一个或多个备份对象240中的备份映像的数据流。备份/恢复驱动器214可以使用来自重复数据删除器具126的应用程序接口(API)以执行数据上的源侧重复数据删除。例如,贯穿快照虚拟卷230复制的数据组块可以存储在对象储存238的单个备份对象240中。在一些示例中,组块大小是预定且可调节的。因此,备份恢复驱动器214可以允许虚拟机124与重复数据删除器具126的对象储存238对接,如通过箭头218所指示的。

仍旧参照图2,备份/恢复驱动器214可以创建数据映射242。数据映射242是两个逻辑产品(commodity)空间之间的映射,如以下在图3中更加详细描述的。例如,第一空间可以是盘源水平处的快照空间,并且第二空间可以是重复数据删除器具126的数据保护水平处的数据对象空间。在一些示例中,备份/恢复驱动器214将数据映射242保存到重复数据删除器具126的对象储存238上。

备份/恢复驱动器214可以使用数据映射242来创建区块设备呈现220。区块设备呈现可以用于经由数据链路226从一个或多个备份对象240读取系统的快照230、232,并且将所述系统的快照230、232恢复到目标盘224。区块设备呈现220可以看起来是虚拟盘,其可以由目标服务器104安装为只读文件系统。由区块设备呈现220表示的数据然后可以从形成区块设备呈现220的所述一个或多个备份对象240拷贝。因此,通过直接从端点重复数据删除器具126读取来自备份的数据而不是首先将来自备份对象的数据写回到盘阵列以重新创建盘阵列上的完整备份(如以上所讨论的)来节约时间和盘资源。而且,在恢复完成之后,区块设备呈现220可以解除安装并且从虚拟机124移除。因此,区块设备呈现220以高效的方式临时使用服务器资源。

图2的框图不意图指示备份恢复系统200要包括图2中所示的所有组件。另外,备份恢复系统200可以取决于具体实现的细节而包括在图2中未示出的任何数目的附加组件。

图3是依照本技术的示例实现的示例区块设备呈现的框图。区块设备呈现的示例配置通过参考数字300指代。如图3中所示,服务器102包括虚拟机124。虚拟机124通信耦合到重复数据删除器具128。虚拟机124包括区块设备呈现,其包括数据对象314、316、318和320。重复数据删除器具128包含对象储存238,其具有备份对象322、324和326以及数据映射328。数据对象314经由应用程序接口(API)330连接到备份对象326,如通过箭头330所指示的。数据对象316经由API连接到备份对象324,如通过箭头332所指示的。数据对象318和数据对象320还经由API连接到备份对象326,如分别通过箭头334和336所指示的。区块设备呈现220还经由数据链路226连接到目标服务器104的目标盘224。区块设备呈现220与数据块314-320相关联,如通过大括号338所指示的。

区块设备呈现220可以表示包括诸如备份对象322、324和326之类的备份对象的快照。虚拟机124可以从目标服务器104接收读取请求以读取区块设备呈现220的部分。在一些示例中,对区块设备呈现220的请求使用SCSI区块命令(SBC)命令集合。虚拟机124可以将读取请求转化成通过数据对象314、316、318和320表示的字节偏移量和大小。对于每一个数据对象,虚拟机124可以经由API做出针对对应备份对象的请求。例如,备份对象322可以对应于数据对象314,并且备份对象324可以对应于数据对象316。在一些示例中,备份对象326对应于两个或更多数据对象。例如,备份对象326可以是对应于数据318和数据320二者的经重复数据删除的备份对象。API可以返回针对来自数据对象318和数据对象320二者的对应请求的备份对象326,如通过箭头334和346所指示的。按照一个或多个备份对象的形式的所请求的数据然后可以通过数据链路226发送到目标服务器104的目标盘224以供恢复。

图3的框图不意图指示服务器102要包括图3中所示的所有组件。另外,服务器102可以取决于具体实现的细节而包括在图3中未示出的任何数目的附加组件。

图4是依照本技术的示例实现的恢复数据的示例方法的过程流程图。该方法通过参考数字400指代,并且参照图2的系统来描述。

方法在块402处开始,其中虚拟机124生成区块设备呈现220。区块设备呈现220可以对应于要恢复的一个或多个快照230、232。

在块404处,虚拟机124配置虚拟机124上的盘输运驱动器214以使区块设备呈现220可访问。在一些示例中,驱动器214被动态地配置。例如,驱动器214可以在从目标服务器104接收到恢复请求时被配置。在一些示例中,将iSCSI或FC驱动器的经修改的集合配置用于FC连接性。一旦驱动器214被配置,一个或多个客户端可以访问GUI 206以选择快照230、232或快照230、232的字节范围以恢复。

在块406处,虚拟机124接收针对指定逻辑区块地址的盘读取请求。虚拟机124可以接收读取请求并且将读取请求转换成如以下在图5中讨论的字节大小和偏移量。虚拟机124然后可以从对应于所请求的字节范围的一个或多个备份对象240请求所选数据。虚拟机124可以使用数据映射242来确定一个或多个备份对象中的哪些备份对象或哪个部分对应于特定字节范围。

在块408处,虚拟机124将盘逻辑地址映射到备份对象逻辑字节偏移量范围。例如,虚拟机124可以使用数据映射328来映射盘逻辑地址,如以下在图5中讨论的。

在块410处,虚拟机124向目标存储设备返回对应于指定逻辑区块地址的所选数据。在一些示例中,虚拟机使用数据映射来以对应于快照230或其部分的次序从来自对象储存238的备份对象240返回所选数据,如以下参照图5详细讨论的。在一些示例中,虚拟机从对应于指定逻辑区块地址的对象储存238返回备份对象240的部分。

在一些示例中,虚拟机124从虚拟机移除块设备呈现220。客户端可以在恢复之后解除安装区块设备呈现220,并且虚拟机124可以删除区块设备呈现220。因此,用于区块设备呈现220的盘资源可以被释放以供其它系统组件和过程使用。

图4的过程流程图不意图指示方法400的操作要以任何特定次序执行,或者方法400的所有操作要包括在每一个情况中。例如,块404中的输运驱动器的配置可以在块402中的区块设备呈现的生成之前执行。此外,方法400可以包括任何合适数目的附加操作。

图5是依照本技术的示例实现的使用区块设备呈现220恢复数据的示例方法的过程流程图。该方法通过参考数字500来指代,并且参照图3的示例系统来描述。

方法在块502处开始,其中虚拟机将区块设备呈现220的读取请求转化成一个或多个备份对象322、324、326的所选字节范围的字节偏移量和大小。例如,读取请求可以按照SCSI区块命令集(SBC)格式。由读取请求所请求的区块设备呈现220的部分可以转化成一个或多个备份对象322、324、326的部分的字节偏移量和大小。例如,备份对象逻辑字节偏移量范围可以是备份对象322、324、326的子范围。在一些示例中,数据映射328用于确定对应于读取请求的数据偏移量和大小。

在块504处,虚拟机124可以读取对应于所选字节范围314的备份对象322。例如,备份对象可以是多个包括完整的备份映像338的备份对象322、324、326中的一个。在一些示例中,数据映射328用于确定对应于所选字节范围的一个或多个备份对象322、324、326。

在块506处,虚拟机124返回对应于读取请求的字节。在一些示例中,虚拟机向目标存储设备224返回字节。在一些示例中,字节经由iSCSI连接226发送。在一些示例中,字节经由光纤信道(FC)链路226发送。例如,对应于备份对象322、324、326的全部或部分的字节可以按照SBC格式包括在对目标服务器104的响应中。

图5的过程流程图不意图指示方法500的操作要以任何特定次序执行,或者方法500的所有操作要包括在每一个情况中。此外,方法500可以包括任何合适数目的附加操作。例如,虚拟机124可以在恢复来自备份的所选数据之后移除区块设备呈现220。

图6是依照本技术的示例实现的示出存储配置成提供区块设备呈现的代码的示例非暂时性机器可读介质的框图。非暂时性机器可读介质通过参考数字600指代。非暂时性机器可读介质600可以包括RAM、硬盘驱动器、硬盘驱动器的阵列、光学驱动器、光学驱动器的阵列、非易失性存储器、通用串行总线(USB)驱动器、数字多功能盘(DVD)、致密盘(CD)等。在示例实现中,非暂时性机器可读介质600在服务器集群中的一个或多个服务器上执行。非暂时性机器可读介质600可以由处理器602通过通信路径604来访问。

如图6中所示,本文所讨论的各种示例组件可以存储在非暂时性机器可读介质600上。非暂时性机器可读介质600上的第一区406可以包括执行备份的协调器模块606。协调器模块606可以包括生成快照空间与备份对象空间之间的数据映射的代码。例如,快照空间可以包括快照虚拟卷和对应的基本虚拟卷。备份对象空间可以包括与存储在重复数据删除器具的对象储存中的快照相关联的多个重复数据删除对象。非暂时性机器可读介质600上的另一区608可以包括呈现模块608,其可以包括生成区块设备呈现的代码。例如,区块设备呈现可以是可安装的只读文件系统。呈现模块608还可以包括动态地配置盘输运驱动器的代码。例如,呈现模块608可以配置盘输运驱动器以允许快照及其备份的内容作为只读文件系统来安装,并且对客户端和目标服务器是可访问的。区块设备呈现然后可以用于查看备份的内容并且选择用于恢复的备份范围。非暂时性机器可读介质600上的另一区610可以包括恢复模块610,其可以包括从备份对象向目标盘返回所选数据的代码。备份对象可以是重复数据删除器具的对象储存中的多个重复数据删除对象中的一个。恢复模块610还可以包括使用数据映射来将区块设备呈现的读取请求转化成对应于一个或多个备份对象的字节范围的字节偏移量和大小的代码。在一些示例中,呈现模块608还包括在恢复模块610完成恢复所选字节范围之后移除区块设备呈现的代码。

尽管被示出为连续的块,但是软件组件可以按照任何次序或配置来存储。例如,如果计算机可读介质600是硬盘驱动器,软件组件可以存储在非连续或甚至重叠的扇区中。

本技术不限于本文所列出的特定细节。实际上,可以领会到,可以在本技术的范围内做出从前述描述和附图的许多其它变型。相应地,正是包括对其的任何修改的随附权利要求限定本技术的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1