使用分配图的数据恢复的制作方法

文档序号:11450304阅读:105来源:国知局
使用分配图的数据恢复的制造方法与工艺



背景技术:

数据保护系统可以使用快照将一时间点处的计算系统的状态记录到盘阵列中。快照是指针的集合,所述指针可以用于将盘的状态恢复到在其处取得快照的特定时间。例如,基础虚拟卷可以用于将受保护系统的初始状态存储到盘阵列,并且然后可以将快照虚拟卷存储在盘阵列上,所述快照虚拟卷指示与基础虚拟卷的差异。一旦保存了快照,就可以将数据备份到存储设备上。

附图说明

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

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

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

图3是依照本技术的示例实现的具有分配图的示例系统的框图;

图4是依照本技术的示例实现的恢复来自备份的文件的示例方法的过程流程图;

图5是依照本技术的示例实现的使用块设备呈现读取来自备份的文件的示例方法的过程流程图;

图6是依照本技术的示例实现的写入来自备份的文件的示例方法的过程流程图;以及

图7是示出了依照本技术的示例实现的示例非暂时性、机器可读介质的框图,所述机器可读介质存储代码,所述代码配置为跳过读取和写入未分配块。

具体实施方式

在一些系统中,可以通过从包含备份的存储设备读取备份并且将数据恢复到目标盘而执行恢复。尽管还可以使用诸如薄盘供应和去重之类的技术来节省盘空间,但是备份中的相当部分的盘空间一般在任何时间点处未分配。例如,这样的未分配盘空间可以由逻辑盘中的零行表示。

本公开描述了一种用于使用分配图恢复来自备份的文件以便避免读取和写入备份中的未分配块的技术。如本文中使用的,术语“备份”是指完整备份和任何快照,并且术语“分配图”是指块设备表示,所述块设备表示是表示块设备的未分配块和已分配块。术语“目标”是指要向其恢复来自备份的文件的位置。可以将来自驻留于备份存储系统的存储设备中并且被主控在数据保护服务器中的备份的文件恢复到连接于目标存储系统的目标服务器。在备份的读取和备份的写入期间跳过完整备份中的未分配块。

图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还可以包括例如使用通过以太网的光纤信道(fcoe)或者通过ip的光纤信道(fcip)路由通过通信网络110的虚拟链路,。

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

服务器102还包括分配图126。虚拟机器124可以将来自一个物理服务器102上的数据存储系统110的备份的文件恢复到另一个物理服务器104的数据存储系统112。如关于图2所述,虚拟机器124可以使用分配图126来跳过读取和写入备份的未分配部分。在一些示例中,预先格式化存储设备116中的目标盘使得目标存储盘的块默认未分配。

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

图2是依照本技术的示例实现的示例文件恢复系统的框图。示例备份恢复系统一般通过参考标号200指代。如图2中所示,备份服务器102包括虚拟机器124。虚拟机器124可操作地连接到盘阵列202和去重器具203。虚拟机器124包括协调器208,图形用户接口(gui)206,云计算平台208,以及与盘阵列202对接的虚拟卷驱动器210,如由箭头212所示。虚拟机器124还包括与盘阵列202和去重器具203对接的备份/恢复驱动器214,如分别由箭头216和218指示。备份/恢复驱动器214还经由数据链路220通信地连接到目标服务器104的目标盘224,如由箭头220指示。例如,数据链路220可以包括iscsi、光纤信道或者任何其它高速数据链路。盘阵列202可以包括基础虚拟卷222。基础虚拟卷222连接到盘阵列202的快照虚拟卷224,226,如分别由箭头228,230所示。去重器具203包括对象仓库232。对象仓库232包括备份对象234和分配图126。

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

仍然参照图2,当执行初始备份时,将基础虚拟卷222写入到盘阵列202。基础虚拟卷222然后可以充当用于快照虚拟卷224的基础(如由箭头228指示)以及用于快照虚拟卷226的基础(如由箭头230指示)。例如,快照虚拟卷224,226可以是接连时间点处的相同系统的备份。在一些示例中,快照使用写时拷贝技术实现。在一些示例中,盘阵列202使用薄盘供应以用于盘空间的高效使用。例如,薄盘供应可以包括数据块的按需分配以及逻辑盘空间的过度分配。

备份/恢复驱动器214可以允许虚拟机器124与盘阵列202的快照对接,所述快照诸如快照224,如由箭头216指示。例如,一旦在盘阵列202上创建了快照虚拟卷224,备份/恢复驱动器214就可以读取快照虚拟卷224内的数据字节并且作为对象仓库232上的一个或多个备份对象234中的备份图像而发送数据流。备份/恢复驱动器214可以使用来自去重器具203的应用程序接口(api)以便在数据上执行源侧去重。例如,遍及快照虚拟卷224重复的数据区块可以存储在对象仓库232的单个备份对象234中。在一些示例中,区块大小是预确定的并且可调节。因而,备份恢复驱动器214可以允许虚拟机器124与去重器具203的对象仓库232对接,如由箭头218指示。

仍然参照图2,备份/恢复驱动器214可以在备份期间创建分配图。分配图126是通过符号指示已分配块和未分配块的备份的图,如在下文图3中描述的示例分配图中的那样。在一些示例中,备份/恢复驱动器214可以将分配图126保存到去重器具203的对象仓库232上。

备份/恢复驱动器214可以使用分配图126以在来自备份的文件向目标盘236的恢复期间避免读取和写入未分配块。分配图126可以用于经由数据链路220向目标盘236读取和恢复来自一个或多个备份对象234的快照,而没有读取备份的未分配块。备份/恢复驱动器214可以读取用于特定备份的分配图126并且确定备份的未分配块。备份恢复驱动器214可以跳过未分配块并且在恢复期间读取已分配块。备份/恢复驱动器214还可以使用分配图来向目标盘224写入已分配块,而没有写入表示未分配块的零。因而,通过没有读取来自端点去重器具203的备份数据的零,并且还通过没有向目标盘236写入零,节省了时间和盘资源。在一些示例中,预先格式化目标盘236。因此,目标盘236可以默认具有未分配块。

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

图3是依照本技术的示例实现的具有分配图126的示例系统的框图。包括分配图126的示例系统300一般通过参考标号300指代。如图3中所示,虚拟机器124创建和读取备份302,如由箭头304所示。虚拟机器124还可以创建和读取分配图126,如由箭头306指示。分配图126可以从盘阵列202上的快照虚拟卷224创建,如由箭头308所示。在一些示例中,虚拟机器124创建分配图,而同时存储来自快照虚拟卷224的备份302。分配图126可以用于经由数据链路而向目标盘236恢复来自备份302的文件,如由箭头310所示。

分配图126包括由非零符号指示的已分配块312以及由零指示的未分配块314。在一些示例中,不同的非零十六进制符号可以指示用于每一块的不同分配水平。块的大小可以是可变指定的大小。例如,虚拟机器124可以将块基础的大小指定为任何合适的大小。块可以按照具体非零符号所指示的那样完全地被分配或者部分地被分配。

虚拟机器124可以读取分配图126以便恢复来自备份302的文件。如果虚拟机器124读取作为分配图126中的非零的块,虚拟机器124可以读取用于该符号表示的备份数据的备份302的对应块。如果虚拟机器124读取指示分配图126中的未分配块314的零行,则虚拟机器124在读取备份302时跳过备份302中的对应块。此外,当向目标盘236写入来自备份302的文件时,虚拟机器124可以避免向目标盘236发送和写入零。替代地,虚拟机器发送偏置,所述偏置指示要从备份302读取和写入的下一已分配块312。

图3的框图不旨在指示示例系统300要包括图3中所示的所有组件。另外,取决于具体实现的细节,示例系统300可以包括没有在图3中示出的任何数目的附加组件。

图4是依照本技术的示例实现的恢复来自备份的文件的示例方法的过程流程图。该方法可以通过参考标号400指代,并且参照图2的示例系统进行描述。

方法在框402处开始,其中虚拟机器124生成用于备份的分配图126。分配图126表示备份的指定大小的块并且指定每一个块是已分配还是未分配。例如,每一个备份可以具有相关联的分配图126,所述分配图126指示备份的已分配和未分配块314。

在框404处,虚拟机器124将分配图126存储在存储设备中。在一些示例中,虚拟机器124将分配图126存储在对象仓库232中。例如,对象仓库232可以具有仓库232的部分,所述仓库232的部分专用于存储针对作为备份对象234而存储的备份的分配图126。

在框406处,虚拟机器124读取分配图126以便在文件向备份的存储期间跳过读取空白块。例如,虚拟机器124可以接收读取请求并且首先检查对应的分配图126,如关于以下图5更加详细地讨论的。虚拟机器124然后可以读取所请求的备份的已分配块312,而没有读取备份的未分配块314。

在框408处,虚拟机器124读取分配图126以便在来自备份的文件的恢复期间跳过向格式化的目标盘236写入零。例如,虚拟机器124可以根据在以下图6中描述的方法来写入对应于已分配块312的备份数据。

图4的过程流程图不旨在指示方法400的操作要以任何特定次序执行,或者要在每一种情况下包括方法400的所有操作。附加地,方法400可以包括任何适合数目的附加操作。

图5是依照本技术的示例实现的使用块设备呈现读取来自备份的文件的示例方法的过程流程图。该方法由参考标号500指代,并且参照图2和3的示例系统进行描述。

方法在框502处开始,其中虚拟机器124在存储设备中使用分配图126确定存储装置202的未使用块312。在一些示例中,存储设备是对象仓库232。例如,虚拟机器124可以接收以scsi块命令集(sbc)格式的读取请求。在一些示例中,虚拟机器124在读取所请求的备份302之前确定未分配块314的地址。

在框504处,虚拟机器124在备份会话期间读取已分配块312。例如,备份302可以在逻辑空间的开头和结尾处具有已分配块312,如在图3中描绘。虚拟机器124可以读取备份的第一已分配部分,跳过读取未分配块314的第一集合,读取备份302的第二已分配部分312,跳过读取备份302的第二未分配部分314,并且然后读取已分配块312的最后第三片段。

在框506处,虚拟机器124在备份过程期间跳过读取未分配块314。虚拟机器124可以跳过读取包括备份302的备份对象234的未分配片段。

图5的过程流程图不旨在指示方法500的操作要以任何特定次序执行,或者要在每一种情况下包括方法500的所有操作。附加地,方法500可以包括任何适当数目的附加操作。

图6是依照本技术的示例实现的使用块设备呈现写入来自备份的文件的示例方法的过程流程图。方法由参考标号600指代,并且参照图2和3的示例系统进行描述。

方法在框602处开始,其中虚拟机器124在存储设备中使用分配图126确定存储装置的未使用块314。例如,存储设备可以是去重器具203的对象仓库232。

在框604处,虚拟机器124在恢复会话期间读取已分配块312。例如,虚拟机器124可以读取对应于要恢复的快照的分配图126并且读取备份存储装置302的对应已分配块312。

在框606处,虚拟机器124在恢复会话期间跳过未分配块314的写入。对应于已分配块312的数据可以经由iscsi连接310来发送。在一些示例中,来自备份对象的数据可以经由光纤信道(fc)链路310来发送。例如,数据可以包括在以sbc格式的响应中。

图6的过程流程图不旨在指示方法600的操作要以任何特定次序执行,或者要在每一种情况下包括方法600的所有操作。例如,可以预先格式化目标盘,在该情况下,不包括框604。附加地,方法600可以包括任何适当数目的附加操作。

图7是示出了依照本技术的示例实现的示例非暂时性、机器可读介质的框图,所述机器可读介质存储代码,所述代码配置为提供块设备呈现。非暂时性、机器可读介质由参考标号700指代。非暂时性、机器可读介质700可以包括ram、硬盘驱动、硬盘驱动阵列、光学驱动、光学驱动阵列、非易失性存储器、通用串行总线(usb)驱动、数字多用盘(dvd)、压缩盘(cd)等。在示例实现中,非暂时性、机器可读介质700在服务器群簇中的一个或多个服务器上执行。非暂时性、机器可读介质700可以由处理器702通过通信路径704来访问。

如图7中所示,本文讨论的各种示例组件可以存储在非暂时性、机器可读介质700上。非暂时性、机器可读介质700上的第一区406可以包括协调器模块706,所述协调器模块706可以执行备份。协调器模块可以包括代码以执行一系列经调度的备份并且将备份存储到对象仓库上的备份对象中。在一些示例中,备份可以是不同时间点处的系统的快照。非暂时性、机器可读介质700上的另一区708可以包括映射模块708,所述映射模块708可以生成分配图。映射模块708可以包括代码以生成用于一个或多个备份的分配图。分配图是备份的已分配块和未分配块的表示。在一些示例中,块的大小可调节。在一些示例中,映射模块708可以包括代码以便将分配图保存到存储设备。例如,存储设备可以是对象仓库。非暂时性、机器可读介质700上的另一区710可以包括备份/恢复驱动器710,所述备份/恢复驱动器710可以使用分配图从一个或多个备份对象向目标盘恢复备份。例如,备份对象可以是去重器具的对象仓库中的备份对象。备份/恢复驱动器710可以包括代码以便读取分配图并且确定可以对应于一个或多个备份对象的备份的一个或多个已分配块。备份/恢复驱动器710还可以包括代码来使用分配图读取备份以便跳过读取备份中的多个未分配块。备份/恢复驱动器710包括代码来使用分配图向目标盘写入来自备份的文件以便跳过写入对应于备份中的多个未分配块的零。例如,目标盘可以利用零预先格式化。在一些示例中,备份/恢复驱动器710可以包括代码以便在向目标盘写入来自备份的文件之前格式化目标盘。

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

本技术不限于本文列出的特定细节。实际上,已经获益于本公开的本领域技术人员将领会到,可以在本技术的范围内做出来自前面的描述和附图的许多其它变形。因而,限定本技术的范围的是包括对其的任何修改的以下权利要求。

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