分阶段、轻量备份系统 背景
备份和还原系统通常部署在包含数据的许多计算机系统以及其它设备上。此类备份和还原系统可将来自诸如硬盘或其它数据存储系统等一个源的数据复制到诸如外置数据储存库、可移动带或光学存储系统、或其它设备等另一源。
在还原操作中,可创建一组新数据存储介质或可重写原始介质以创建能够作为原始介质操作的数据源。硬件故障可导致数据存储硬件的替换,这可能使得数据从备份数据位置被重新创建。在另一情况下,对所存储的数据的破坏、误配置、或其它损害可能是要使用来自之前的备份的已知好版本的数据来重写数据的原因。
在可用存储介质较大的情况下,备份和还原操作可能是非常费时的。在备份操作期间,数据集的工作副本可用于创建备份而其它操作继续。此类系统可能消耗一些处理器带宽,但可将系统保持在可操作状态。然而,在还原操作期间,大量数据可消耗大量时间来传送,在此期间系统可能是不可操作的,直到还原操作完成。
概述
还原系统可执行分成两个阶段的还原操作。第一操作可将系统状态和基本操作数据还原成足够可开始执行一组基本操作的系统。第二操作可在一段时间内还原次要数据而该系统至少部分可操作。可使用与次要数据分开的操作来标识并备份系统状态和基本操作数据,或可从系统的备份卷中提取系统状态和基本操作数据。可通过安装数据或应用程序的基本集并应用指定系统状态信息来执行系统状态还原。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图简述
在附图中:
图1是示出可用于分阶段还原的系统的实施例的图示。
图2是示出备份操作的实施例的流程图示图。
图3是示出具有预先确定的功能的分阶段还原操作的实施例的流程图示图。
图4是示出没有预先确定的功能的分阶段还原操作的实施例的流程图示图。
详细描述
备份和还原系统可在还原其它数据之前使用系统状态来快速地配置并启动特定功能。即使在整个系统还原可能花很多分钟甚至数小时时,该系统可允许诸如服务器相关网络功能或其它被标识的功能等特定功能被快速地还原并运行。
系统状态可以是可将其注入到系统的基本配置中以使得系统开始执行特定功能的状态变量的小子集。在这些功能在执行的同时,剩余的备份数据可被还原。其它实施例可使用用于保存并使用系统状态定义的各种技术。
该系统可用于从诸如盘驱动器或其它存储设备的故障等硬件故障中恢复。在某些情况下,该系统可用于将一系统从较旧的硬件平台迁移到新硬件平台。在其它情况下,该系统可用于回复到之前保存或备份的配置。
本说明书通篇中,在所有附图的描述中,相同的附图标记表示相同的元素。
在将元素称为被“连接”或“耦合”时,这些元素可以直接连接或耦合在一起,或者也可以存在一个或多个中间元素。相反,在将元素称为被“直接连接”或“直接耦合”时,不存在中间元素。
本发明可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本发明的部分或全部能以硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本发明可以采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计算机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品的形式。在本文的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。
计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由指令执行系统访问的任何其它介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其它介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其它合适的方式处理,并随后存储在计算机存储器中。
通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并包括任意信息传送介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改地信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。上述中任一组合也应包括在计算机可读介质的范围之内。
当本发明在计算机可执行指令的一般上下文中具体化时,该实施例可以包括由一个或多个系统、计算机、或其它设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
图1是示出可分成两个阶段来备份并还原的系统的实施例100的图示。在第一阶段中,可安装并配置各种系统功能来操作,随后在这些系统功能操作的同时剩余数据可被还原。
图1的示图示出系统的功能组件。在某些情况下,组件可以是硬件组件、软件组件、或硬件和软件的组合。某些组件可以是应用级软件,而其它组件可以是操作系统级组件。在某些情况下,一个组件到另一个组件的连接可以是紧连接,其中两个或更多个组件在单个硬件平台上操作。在其它情况下,连接可以通过跨长距离的网络连接来进行。各实施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的功能。
系统102可以是诸如服务器计算机等计算机,其可执行特定服务或功能。在从备份还原系统102时,可在其它数据被还原之前开始操作某些功能。系统102可以是具有数据存储系统104的任何类型的设备,数据存储系统104可具有要在数据存储系统104上的其它数据之前被还原的某些系统功能106。此类设备的示例可以是个人计算机、服务器计算机、个人数字助理、网络装置、游戏控制台、娱乐系统、无线通信设备、工业控制器、网络路由器、或任何其它包含数据存储系统的设备。
在许多情况下使用数据备份和还原系统,其中系统102或在其数据存储系统104中的数据具有高价值的功能。在服务器系统的情况下,服务器可在网络上为许多客户机设备执行各种网络管理或数据管理功能。在某些情况下,服务器可主存由客户机跨网络使用的各种应用程序,如可由若干用户共享的会计系统或电子邮件系统。在此类高价值系统或数据被中断时,依赖该系统或数据的设备和用户可能不能执行他们被分配的任务。
系统102可使用数据存储系统104来存储由系统102执行的各种代码。此类代码可包括操作系统级代码和应用程序级代码。在许多情况下,操作系统级代码可执行各种低级功能,包括网络连接、低级设备接口、以及可由系统102和附连到网络112的其它设备使用的各种服务。应用程序级代码可在操作系统环境内操作并提供从会计系统和电子邮件系统到游戏、web主存、或任何类型的功能的许多不同功能。
可部署各种备份方法和体系结构以将数据存储系统104的全部或部分的副本制作到备份数据存储系统106上。备份系统可按任何有用的格式存储数据以便可重新创建数据存储系统104。在某些情况下,备份系统可通过备份并重新创建数据存储系统104的镜像来尝试在逐比特级上重新创建数据存储系统104。在其它情况下,备份系统可制作在数据存储系统104中找到的各个文件的副本,且可在还原操作期间将各个文件还原到数据存储系统104。
某些备份系统可向用户或管理员给予还原文件系统的部分的能力。例如,用户可能能够选择要还原的各个文件。此类系统在其中用户无意或不注意地删除或改变文件并希望回复到之前备份的版本的情况下是有用的。
可定期备份系统102。在许多环境下,备份系统可被配置成在复现的基础上(诸如在系统使用率较低的每个夜晚或周末)执行备份操作。在某些情况下,备份系统可通过网络112将备份数据传送到可位于局域网上的不同设备上或经由因特网为外置设备访问的备份数据存储106。
在还原数据存储系统104时,执行完整还原操作的时间可能相当长。在许多情况下,即使使用高速网络连接,标准个人计算机可能花一个或多个小时来还原。具有大量数据的服务器计算机可能花若干小时来还原,尤其在从远程备份数据存储系统执行该还原操作时。
还原操作通常响应于硬件的灾难性故障,如盘驱动器的崩溃或破坏、主板的故障、由于电压尖脉冲造成的损坏、或某些其它故障。在此类情况下,有故障的硬件可导致个别组件或整个系统被替换。
还可在病毒、蠕虫、或其它恶意软件渗入文件系统之后、在应用程序或操作系统的更新或安装异常中止之后、用户错误或恶意地删除敏感数据之后、或在其中作出回复到数据存储系统104上的数据的之前版本的判定的某些其它情况下执行还原操作。
在某些情况下,可使用还原操作来将操作系统、应用程序、以及功能从一个硬件平台迁移到另一硬件平台。一示例可以是通过使用可包括新数据存储系统104的新服务器硬件替换整个服务器硬件来更新服务器计算机之时。
可分成两个阶段来执行还原操作。在第一阶段,可使用系统状态数据110来安装并配置一组被标识的系统功能106。系统功能106可在第一阶段开始操作,而在第二阶段,可将剩余数据还原到数据存储系统104。在许多情况下,系统功能106的安装和配置的第一阶段可在几分钟内执行,而复制大量其它数据的第二阶段可在几小时内执行。
通过在执行大量还原操作之前标识、安装、以及操作若干系统功能106,即使系统还原可能未完成,这些系统功能106也可由其它设备和用户使用。
例如,系统102可以是服务器计算机并执行若干网络相关的功能,如域名服务器(DNS)或动态主机配置协议(DHCP)服务。此类功能可以是允许其它设备或用户连接到网络的操作系统或应用程序功能的一部分。在此类示例中,如果服务器102停止若干小时以执行还原操作而不启用DNS或DHCP服务,则会阻止许多用户执行其它任务。
此类功能的其它示例包括若干网络功能、电子邮件功能、域名服务功能、动态主存配置协议功能、远程访问功能、虚拟专用网功能、web主存功能、以及防火墙功能。
为了安装并使系统功能106可在还原操作的第二阶段期间操作,可在还原操作的第一阶段期间使用一组系统状态数据110来配置系统功能106。在还原操作的第一阶段期间,可在数据存储系统104上安装操作系统或应用程序文件和数据的标准系统镜像114或某些其它通用集。可注入或使用系统状态数据110来配置各种系统功能106以便这些功能以与执行备份操作时相同的方式来操作。
例如,系统功能106可包括使用指定主机名来连接到网络以及操作DNS功能。在还原操作的第一阶段期间,可将服务器操作系统的标准系统镜像114写到数据存储系统104上且可使用系统状态数据110来以相同主机名配置系统网络连接并使用与备份系统102时相同的参数来操作DNS服务。可从安装盘或除备份数据存储系统106以外的其它源获得标准系统镜像114。在某些情况下,标准系统镜像114可以是可用于创建用于还原进程的启动镜像的实际盘镜像,而在其它情况下,标准系统镜像114可以是可使用一组安装盘提供的通用文件的集合。
可在备份操作期间单独地存储系统状态数据110。在某些情况下,可通过分析备份数据108来确定系统状态数据110。
在备份的第一阶段期间,可将系统状态110复制到盘或其它介质以便可在执行还原的第二阶段之前配置系统102。在某些情况下,系统状态数据110与备份数据108相比可以是非常小的。
图2是示出用于备份操作的方法的实施例200的流程图图示。实施例200示出标识要在备份操作的第一阶段期间配置并操作的特定系统状态功能的备份操作。每一功能可以是操作系统级功能或可以是单独应用程序或其它功能。对每一功能,标识可在还原操作期间使用以在还原其它数据之前配置并启动该功能的数据。
实施例200创建可执行许多次的备份操作。在框202开始备份操作并在框204标识要备份的卷。这些卷可以是任何逻辑数据存储设备。在某些情况下,卷可由诸如冗余独立磁盘阵列(RAID)配置等多个物理数据存储设备组成。在某些情况下,诸如硬盘等单个设备可包含两个或更多卷。在某些实例中,可将卷包含在诸如闪存或能够存储数据的其它设备等易失性或非易失性存储器系统内。
在框206,标识用于系统状态还原的功能。在框206中标识的功能可以是任何类型的功能,包括操作系统功能和应用程序功能。在某些情况下,用于系统状态还原的功能可以是操作系统的部分,而在其它情况下,可将这些功能包含在安装并操作在操作系统环境内的应用程序中。
对框208中的每一功能,如果在框210中该功能是操作系统的一部分,则在框212中标识该功能的状态变量。框212所标识的变量可以是配置文件、注册表条目、或其它可在还原操作期间用于配置功能以供操作的变量或定义。
如果在框210中该功能不是操作系统的一部分,但在框214存在该功能或包含该功能的应用程序的干净配置,则在框216标识状态变量。框214的干净配置可包括一组安装文件、盘镜像的部分、或可以或可以不包括框216的状态变量的功能定义的其它集合。干净配置可包括在可在还原操作期间使用的介质上可用的一组安装盘。
如果在框214中不存在干净配置,可在框218标识涉及该功能的所有文件且可在框220标识状态变量。当在框214中应用程序不存在干净配置时,可在框218标识涉及该功能的文件以供单独备份。可在还原操作期间使用此类文件来重新创建该功能以便该功能可在第二还原阶段期间操作。
在框208,对每一功能,标识可用于重新创建并重启该功能的数据。在还原操作期间,可安装操作系统并将其初始配置成执行指定功能以及由各种应用程序定义的某些功能。在某些情况下,可从与备份数据存储介质分开的安装盘或其它介质安装操作系统和应用程序。在安装操作系统和应用程序之后,可使用状态变量来配置并启动各种功能。
在其中安装盘或应用程序或功能的其它通用版本不存在的情况下,备份系统可标识组成该功能的各种文件以便该功能可在第一还原阶段期间被还原并操作。
在某些实施例中,备份系统可创建单独卷或备份存储区域,将状态变量以及涉及要在还原的第一阶段中安装并启动的功能的任何文件存储在其中。在此类情况下,能够将单独的备份存储区域复制到便携盘或其它介质以供在还原过程期间使用。
在框222,可标识备份存储位置。在某些实施例中,备份存储位置可以是附连到要备份的系统的备份存储设备。一示例可以是带备份系统、可写光学存储系统、或备份硬盘系统。在某些此类示例中,备份存储位置可具有可移动介质以便将该介质存储在诸如保险库或保险箱等安全位置中。
在另一实施例中,备份存储位置可以是通过网络(包括局域网或因特网)访问的备份存储设备。在某些此类实施例中,备份存储设备可用于存储来自许多不同系统的备份数据。
某些实施例可为存储在备份存储系统中的数据使用数据压缩和/或数据加密。
一旦定义了备份操作,可在框224调度该备份操作并在框226运行该备份操作。在许多实施例中,可调度备份操作以在诸如夜晚或周末等低使用率时间段期间执行。
某些备份系统可被配置成在某些实例中执行完全备份并在其它时间执行增量式备份。可使用增量式备份来存储自执行上一次备份以来改变了的数据。在某些许多情况下,完全备份可产生较大的备份数据集,但增量式备份仅可产生一小部分此类数据,并与执行完全备份相比,可被更快速地执行且占用更少的空间。
可采用任何备份技术来执行实际的备份操作。
图3是示出用于使用分阶段还原操作来还原的方法的实施例300的流程图图示。实施例300是通过其在可执行大量还原操作之前安装、配置并启动一组预先定义的功能的一个方法。
实施例300是用于其中功能被提前定义且可具有在上一备份操作期间被单独存储的状态变量或文件的那些情况的。在本说明书中之后描述的实施例400示出其中在备份操作被执行之后定义这些功能的实施例。
在框302开始还原操作。
在框304使正在还原的设备离线,并在框306进入预安装环境。某些系统可具有预安装环境,其可允许操作系统功能和应用程序到系统的快速安装和配置。在某些情况下,可通过使用还原盘或操作系统安装盘来引导系统以启动框306的预安装环境。
在完全还原操作期间,系统可具有被安装并配置的操作系统的新的或干净的版本。在某些实施例中硬盘或其它数据存储区域内的分区可包含可操作的操作系统的镜像。可将此类镜像写到正在还原的系统上以便该系统可至少变得部分可操作。
在框308,对具有状态变量存储的每一功能,将安装并配置该功能。如果在框310,要从功能或应用程序的备份文件安装功能,则在框312使用所存储的文件来安装并配置该功能。如果该功能未被包括在用于在还原操作的初始部分期间操作设备的操作系统或其它镜像的基本版本中,则可安装该功能的完整副本。
在框310,如果该功能未被包含在备份文件中但被定义在安装盘、默认系统镜像、或某个其它安装介质中,则在框314安装通用镜像。
在框316中,将状态变量注入到安装中。注入状态变量的方法可包括重写配置文件、制作注册表条目、或其它配置动作。
在安装并配置这些功能之后,在框318,可退出预安装环境,而在框320,启动操作系统。在框322可启动每一功能,而在框324可还原剩余备份数据。
每一实施例可使用用于可在还原的第二阶段期间操作的加载和配置功能的不同技术和顺序。某些实施例可以或可以不使用如框306以及318中的预安装环境以执行各种功能的安装和配置。此类实施例可使用第一操作系统来加载并配置数据存储系统,该数据存储系统可以是具有第二操作系统的可引导数据存储系统。其它实施例可安装并加载可被配置成执行各种功能的单个操作系统。
在框324,剩余数据的还原可包括还原应用程序、功能、以及可在设备上存储或操作的原始数据。在框324期间还原并配置的应用程序或功能可以是那些被选择为在可在框322启动的一组较高优先级应用程序或功能之后操作的功能。
在框322启动的这些功能可以是那些可快速并有效地安装并配置的功能。此类功能可在其中可还原包括附加功能和应用程序的其它备份数据的时间段期间操作。
图4是示出用于不使用预先确定的状态变量的分阶段还原的方法的实施例400的流程图图示。实施例400是由此可为还原操作的第一阶段标识特定功能,且从对备份数据集的分析中得到这些功能的状态变量的方法。一旦发现了状态变量,即在还原其它剩余数据之前加载、配置、以及启动这些功能。
在框402,标识要还原的卷。在许多备份和还原系统中,备份操作可创建备份数据的若干卷。
在框404,标识用于第一状态还原的功能。在某些实施例中,可从可能选择的列表中选择这些功能。
在框406,对每一功能,可在框408在备份卷中搜索状态变量信息。各种功能的状态变量可位于包括配置文件、注册表设置、或其它位置的许多不同的位置中。
在框410,可进入预安装环境。在框412,可安装操作系统的通用镜像,且在框414可注入状态变量以配置各种功能。在框416,在退出预安装环境时,在框418可启动操作系统且在框420可启动功能。在框422,可还原剩余数据。
可使用除为其计划还原操作的设备之外的设备上的应用程序来执行框402到408的操作。例如,调度第一服务器设备以进行还原操作,而第二服务器可主存其上存储用于第一服务器的备份数据的数据存储设备。第二服务器上运行的应用程序可用于标识用于第一阶段还原的功能并搜索备份卷以提取状态变量。此类应用程序还可创建可加载到第一服务器上的初始安装盘或镜像。可随后使用该安装盘或镜像来引导第一服务器、开始功能操作、并还原剩余数据。
每一实施例可使用不同顺序和各种过程来用于在执行还原的第二阶段之前安装、配置、以及执行各种功能。
以上对本发明的描述是出于说明和描述的目的而提出的。它不旨在穷举本主题或将本主题限于所公开的精确形式,且鉴于以上教导其它修改和变型都是可能的。选择并描述实施例来最好地解释本发明的原理及其实践应用,从而使本领域的其他技术人员能够在各种实施例和各种适于所构想的特定用途的修改中最好地利用本技术。所附权利要求书旨在包括除受现有技术所限的范围之外的其它另选的实施例。