专利名称:信息备份系统和方法
技术领域:
本发明一般涉及备份系统,特别涉及用于提供信息备份的系统和方法。
2.背景技术备份存储设备用于备份服务器和其他网络机器或设备上的信息。备份存储设备经常用来备份包括例如文件、数据库、系统信息和文件等的各种信息。
在多个主机设备共享一个备份存储设备的情况下,当访问存储设备以对它进行读取或写入时可能出现问题。包括备份存储设备的局域网(LAN)的一个例子如图1A所示。LAN包括通过网络9互连的一个或多个工作站5a-5n,一个或多个服务器6a-6n和至少一个备份存储设备7。工作站5a-5n和服务器6a-6n可以分别采用不同的操作系统。备份存储设备7可以是例如磁带设备如磁带库。如果主机设备如工作站5a-5n或服务器6a-6n共享相同存储设备7,则各个操作系统可能试图将数据存储在存储设备7上的相同位置。在这种情况下,一个主机设备所需的数据可能被另一主机设备随后写入的数据覆写。另外,一些操作系统可能在存储设备7的特定地址存储特殊信息。一些其他操作系统可能要求任何相连存储设备具有存储在该相同存储区域的一个或多个部分中的标识信息。这将导致提供该共享存储的冲突和困难。可以使用控制器来控制对存储设备7的访问。然而,如果控制器崩溃(crash),则存储系统数据可能发生永久性丢失。
可以提供多个存储设备来备份主机设备上的数据。然而,以允许对多个主机进行备份和恢复的高效且有效方式管理多个存储设备会是极其耗费时间和资源的,并且会利用LAN或广域网(WAN)的大量带宽。
存储区域网(SAN)可以用来释放LAN或WAN上的带宽。SAN是共享存储设备的高速存储网络。SAN使得所有存储设备可用于LAN或WAN上的所有主机,从而节省LAN或WAN上的宝贵带宽。
图1b示出SAN环境。SAN包括通过高速网络3连接到一个或多个存储设备如备份库4a-4n的多个分布式服务器2a-2n。备份设备4a-4n可以包括例如磁带库,其中,这些磁带库各自包括多个存储介质、拾取机(picker)以及一个或多个用于对存储介质进行读写的读/写设备。分布式服务器2a-2n和备份设备4a-4n可以通过高速/高容量网络3互连,其中,高速/高容量网络3可以包括各种高速交换机和/或网桥。在这种环境下,有若干方法可以共享服务器2a-2n和备份设备4a-4n。例如,服务器2a-2n之一可以用作授权所有其他服务器访问备份设备4a-4n的主仲裁器。这经常称作主/从系统。在主/从系统中,智能在于主服务器,并且只有主服务器才具有关于什么时候和是否允许服务器访问备份设备的判决权限。主服务器创建并维护网络上各设备的状态信息。
主/从系统的一个问题是如果主服务器崩溃,则可能花费大量时间和精力来配置另一服务器作为主服务器。所有其他服务器将等待直到系统管理员指定并配置完毕另一主服务器。该新主服务器然后将重新盘查(inventory)网络,并且构建网络上各设备的状态信息。这会是费时且代价高的过程。
另一种方法是在服务器之间对备份设备的访问进行分区,从而各服务器只能访问其分区内的库中驱动器和插槽。然而,该系统不能最高效地使用备份设备。
在很多备份操作中,备份应用将数据从主存储设备读取到服务器存储器,进行必要的格式化,并且将它发送到适当的备份存储设备。这些过程将密集利用CPU、IO通道和系统存储器。当备份操作正在进行时服务器可能不能执行任何其他应用处理是完全有可能的。这就是系统管理员喜欢在服务器的应用负载最小的时候执行备份的原因之一。如果可以在无需密集利用服务器系统的情况下执行备份操作,从而即使在信息备份期间也可以释放服务器,这将是有益的。
发明内容
一种用于备份和恢复信息的系统,包括至少一个计算机系统,包含所要备份和恢复的信息;以及存储设备,用于接收所要备份信息的至少一部分,并且存储和备份该信息。一种控制器,包括调度系统,用于允许用户将表示要备份或恢复这些至少一个计算机系统的信息的一个或多个部分的主作业输入到作业队列中;以及作业控制系统,将主作业分成多个较小作业,并且将这些较小作业输入到作业队列中。
当用户将主作业输入到作业队列中时,用户可以指定运行主作业的时间。作业引擎可以周期性地扫描作业队列以查找所要运行的作业,并且当到达运行主作业的时间时,系统将主作业分成多个较小作业。这些较小作业可以各自对应于备份或恢复单个源实体。主作业是备份或恢复整个计算机系统,而单个源实体可以是整个计算机系统的文件系统和数据库之一。存储设备可以包括磁带设备,并且可以包括磁带库。这些至少一个计算机系统可以包括服务器系统。
另外还公开一种备份和恢复计算机系统上的信息的方法,包括将指示在规定时间对计算机系统上的至少一部分信息执行备份和恢复中的至少一种操作的主作业输入到作业队列中;扫描作业队列以查找所要执行的主作业,并且当到达执行主作业的时间时,将主作业分成多个较小作业,并且将这些较小作业输入到作业队列中;扫描作业队列以查找较小作业,并且当检测到这些较小作业之一时,判定存储设备是否可用;以及针对每个可用存储设备启动这些较小作业之一。
该方法还可以包括当完成较小作业时,提供所用存储设备再次可用的指示,并且使用该可用存储设备启动另一个较小作业。扫描作业队列以查找较小作业的步骤、启动多个较小作业之一的步骤以及提供指示的步骤可以重复执行直到完成各个较小作业。主作业可以包括用于在执行主作业之前或之后执行至少一个操作的指令。在执行主作业之后执行的操作可以在执行对应于主作业的最后一个较小作业之后执行。在执行主作业之前执行的操作可以在执行对应于主作业的第一个较小作业之前执行。
另外还公开一种计算机记录介质,其中包含用于备份和恢复信息的计算机可执行代码,它包括一代码,用于允许用户将表示要备份或恢复信息的一个或多个部分的主作业输入到作业队列中;以及一代码,用于将主作业分成多个较小作业,并且将这些较小作业输入到作业队列中。
用于允许用户将主作业输入到作业队列中的代码,可以允许用户指定运行主作业的时间。该介质还可以包括一代码,用于周期性地扫描作业队列以查找所要运行的作业,并且当到达运行主作业的时间时,将主作业分成多个较小作业。这些较小作业可以各自对应于备份或恢复单个源实体。主作业可以是备份或恢复整个计算机系统,而单个源实体可以是整个计算机系统的文件系统和数据库之一。
一种计算机记录介质,其中包含用于备份和恢复计算机系统上的信息的计算机可执行代码,它包括一代码,用于将指示在规定时间对计算机系统上的至少一部分信息执行备份和恢复中的至少一种操作的主作业输入到作业队列中;一代码,用于扫描作业队列以查找所要执行的主作业,并且当到达执行主作业的时间时,将主作业分成多个较小作业,并且将这些较小作业输入到作业队列中;一代码,用于扫描作业队列以查找较小作业,并且当检测到这些较小作业之一时,判定存储设备是否可用;以及一代码,用于针对每个可用存储设备启动这些较小作业之该计算机记录介质还可以包括一代码,用于当完成较小作业时,提供所用存储设备再次可用的指示,并且使用该可用存储设备启动另一个较小作业。扫描作业队列以查找较小作业、启动多个较小作业之一以及提供指示可以重复执行直到完成各个较小作业。主作业可以包括用于在执行主作业之前或之后执行至少一个操作的指令。在执行主作业之后执行的操作可以在执行对应于主作业的最后一个较小作业之后执行。在执行主作业之前执行的操作可以在执行对应于主作业的第一个较小作业之前执行。
通过参照下面结合附图的详细描述,将会更容易地获得且更好地理解本发明的各方面及其很多附属优点,其中图1A是LAN环境的方框图;图1B是SAN环境的方框图;图2是可以应用本系统和方法的网络环境的示例方框图;图3是可以应用本系统和方法的SAN环境的示例方框图;图4和5是用于允许用户配置系统的屏幕显示;图6是示出配置系统的方框图;图7-12是允许用户在作业队列中设置作业的屏幕显示;图13是允许用户备份远端服务器的屏幕显示;图14是示出由本系统和方法的服务器使用的各种引擎的方框图;图15是用于描述根据一个实施例的多流备份的流程图;图16是用于描述无服务器备份的方框图;图17-19是用于描述无服务器备份各方面的流程图;图20是示出文件及其数据块的图;图21和22是允许用户配置磁带库的GUI;以及图23-25是用于描述无服务器备份操作的流程图。
具体实施例方式
在描述附图所示的本发明优选实施例中,为简洁起见而采用特定术语。然而,本发明不限于所选特定术语,并且应该理解,各特定单元包括以类似方式工作的所有技术等价物。
本系统和方法能够在局域网(LAN)环境以及各种其他类型的环境包括例如存储区域网(SAN)环境中实现。
图2示出其中将对所公开实施例作进一步描述的硬件和软件环境。该系统包括通过一个或多个网络互连的一个或多个工作站10a-10n、一个或多个服务器11a-11n和一个或多个备份设备13a-13n。工作站10a-10n和服务器11a-11n可以使用相同或不同的操作系统。工作站10a-10n可以包括一个或多个桌面计算机、膝上型计算机、大型机等。在图2所示的实施例中,网络是LAN环境,并且工作站10a-10n、服务器11a-11n和备份系统13a-13n通过LAN 15互连。
作为对上述LAN环境的补充或替代,可以提供SAN环境。在SAN环境中,工作站10a-10n可以如上面参照图2所述通过LAN连接到多个服务器12a-12n中的一个或多个。然而,在SAN环境中,服务器12a-12n通过网络16连接到一个或多个备份存储设备14a-14n,如图3所示。下面将要更详细地进行描述,服务器12a-12n可以分配给包括多个分布式服务器、一个主服务器和多个备份存储设备的服务器组。网络16是可以包括形成光纤通道网络的一部分的交换器和网桥系统的高速网络。SAN形成用于数据通信的高速高带宽系统。高速网络16可以是例如光纤通道网络、共享SCSI系统或SSA类型网络。
虽然在此仅描述一个服务器组,但是可以在SAN上提供多个服务器组。主服务器控制SAN服务器组内所有服务器的信息流动。这就防止两个服务器试图同时分配一个设备或介质情况下的冲突。
光纤通道适配器和光纤通道库可以连接到网络16,并且称作节点。节点可以连接到交换机/集线器,从而形成一个环。光纤通道环有时也称作光纤通道仲裁回路,它包括通过光纤通道集线器连接的节点,从而每个节点可以与每个其他节点通话。当加电或首次连接到环时,节点登录到环中。这将在环上产生一个环上所有其他节点都将接收的事件,从而都知道新节点。环上各节点由制造商分配一个全球唯一地址或id,从而允许当各节点登录到环上时标识它。连接到集线器的备份设备如磁带库使用作为网络存储件的应用,从而它们可以在不干扰其他应用也访问设备的情况下访问设备。
在此所述的SAN环境中,本发明的软件系统安装在服务器12a-12n中。然后,对系统进行配置以指定主服务器和分布式服务器,并且将各服务器分配给一个组。例如,根据一个实施例,将如图4所示的显示屏幕提供给用户。该显示屏幕包括位于左手边的面板20,提供主服务器和分布式服务器配置的树视图。显示屏幕右手边的面板22显示安装有本发明软件并且尚未分配给任何服务器组的所有可用服务器。用户首先通过移动光标(未示出)并从显示屏幕右手边列表中选择一个服务器然后单击“创建主服务器”(Make Primary)按钮24来选择主服务器。主服务器也可以通过移动移动光标并从显示左面板中选择该服务器然后单击“删除主服务器”(Delete Primary)按钮26来取消。在选择了主服务器之后,再选择多个分布式服务器,并且将其分配给该主服务器以形成服务器组。从屏幕的右手窗口中选择一个分布式服务器,并且单击“分配分布式服务器”(Assign Distributed)按钮28。要从组中移除分布式服务器,选择左面板中的服务器名,并且单击“移除分布式服务器”(Remove Distributed)按钮30。重复该过程直到根据用户的需要配置完毕服务器组。
然后,将存储设备分配给服务器组。该过程是对主服务器执行的。例如,要将共享库分配给服务器组,则从主服务器机器选择“设备组配置”(Device Group Configuration)对话框。这就提供如图5所示的窗口,其中在左手面板32中列出各服务器组,并且在右手面板34中列出可用存储介质设备。虽然本发明将主要是参照磁带库作为存储介质设备来描述的,但是也可以使用其他类型的存储介质设备作为对磁带库的替代或补充。目前没有分配给服务器组的磁带库显示在“可用设备”(Available Devices)右手面板34中。要将磁带库分配给一个服务器组,单击选择“可用设备”面板34中列出的一个磁带库。然后,用户可以在左手面板32中选择想要向其添加磁带库的服务器组。然后,单击“分配”(Assign)按钮36。然后,该磁带库将从右手面板34移除而置于左手面板32的设备组之下。可以通过重复上述步骤将另外的库加到该组。当完成时,单击“确定”(OK)按钮38。
图6示出如此配置的服务器组的一个例子。现在,网络包括主服务器13、分布式服务器15a-15n以及存储介质设备16a-16n。
各服务器维护需要执行的作业的作业队列。图7示出作业队列的一个例子。通过单击“作业队列”选项卡40,在窗口部分42中显示作业队列,如图所示。作业队列标识作业所涉及的服务器、作业号、作业ID、各作业的状态以及各作业的执行时间,如图所示。
当运行或调度运行一个作业时,用户将它提交给作业队列。本系统不断扫描作业队列以查找准备执行的作业。作业可以通过从作业队列中选择作业并右击各种控制选项来控制。例如,可以向用户提供一个选项来将作业状态变至暂停状态(HOLD)或就绪状态(READY)(如果当前处于暂停状态)。“暂停”表示作业不被调度执行。“就绪”表示可以执行作业。用户还可以通过使用先前保存的脚本将作业快速提交给作业队列。脚本是保存到一个文件的作业。脚本包含作业的原始源、目的地、选项和调度信息。作业可以修改以将选项或另外源加到现有作业而无需创建新作业。作业可以重新调度以快速改变作业的执行日期、时间或状态。这还允许用户重新提交仍然处于作业队列中的已完成作业。例如,如果作业在首次运行时没有成功,用户可能想要这样做。用户还可以从作业队列中取消一个活动作业,并且在下一定期间隔重新调度它。作业可以从作业队列中完全取消并删除。删除一个作业将中断该作业并且将它从作业队列中完全移除,并且它将不被重新调度。如果用户又希望恢复该作业,用户可以重新创建该作业(如果它先前没有被保存到一个脚本文件中)。
用户可以通过将所要执行的作业加到作业队列来设置它们。备份管理器允许将作业加到作业队列。例如,用户可以设置各作业的源、目的地和调度信息。通过指定源,用户可以指定希望备份的项目。通过指定目的地,用户可以指定希望把源信息备份到何处。通过指定调度信息,用户可以指定希望什么时候执行备份。备份管理器包括备份向导程序,它向用户提供各种用于选择选项并指定作业队列信息的窗口。源、目的地和调度信息可以通过使用备份向导程序来指定。
例如,在启动备份向导程序之后,请求用户通过输入服务器名、用户名和密码来指定希望备份的源或服务器。在系统验证该信息之后,向用户提供如图8所示的窗口100。如图所示,浏览器显示用户可以从中选择所要备份的域、机器、卷(驱动器)、共享区(share)、目录和文件的机器树101。例如,要备份整个服务器机器,用户选择“我的计算机(My Computer)”,然后单击“下一步”(Next)按钮104。然后,系统显示如图9所示的窗口106,请求用户通过选择备份介质来选择备份目的地。在选择备份介质之后,用户单击“下一步”按钮104。然后,向用户提供如图10所示的备份选项屏幕108。该屏幕允许用户通过选择所要备份的文件范围来定制备份作业。例如,用户可以选择“完全备份”(Full Backup)110或“增量备份”(Incremental Backup)112。如果选择增量备份,则将只备份新文件(上一次备份以来发生改变的文件)。该屏幕还允许用户设置是否以“验证”(Verification)114和/或“压缩”(Compression)116方式备份。在单击“下一步”按钮104之后,可以向用户提供如图11所示的窗口118。该窗口显示所输入的信息并且要求用户核实该信息。如果信息不正确,用户可以通过单击“后退”(Back)按钮103来后退并且修改任一条目。如果用户对信息满意,则用户单击按钮104,并且向其提供如图12所示的窗口120。窗口120允许用户选择备份作业是“立即运行”(Run Now)122还是“调度”(Schedule)124而在指定日期和时间运行。如果选择“调度”按钮124,则向用户提供一系列选项来选择启动日期/时间、重复方法、重复间隔(例如,月、日、小时、分钟)以及备份作业所要排除的日子(若有的话)。
因此,本系统提供一种容易且直观的方式来调度备份作业。本系统还允许从本地服务器备份另一服务器组内或不与任何服务器组相关联的远端服务器/机器。远端机器在其上应具有一个适当的代理,从而本地服务器可以识别它并且可以检索和备份所要备份的数据。远端机器上的代理浏览目标目录和包数据以通过一连串大数据分组将它们传输到本地服务器。然后,本地服务器准备数据以将其存储在指定存储设备上。
各代理还可以包括一个访问控制列表(ACL),标识哪些本地服务器能够通过该代理备份或恢复数据。访问控制列表可以标识拒绝或允许通过代理备份/恢复数据的特定用户和/或IP地址。
本系统提供一种安全系统,它依赖于用户在代理所部署的节点上具有登录凭证。只有用户对代理节点进行过登录访问,才建立从本地服务器到具有代理的机器(代理节点)的连接。本系统还提供附加的安全层,因为为了成功地在代理节点上操作,用户需要对该节点进行物理访问(除了登录访问之外)。
ACL为特定代理节点规定可以与之相连并访问其功能的系统服务器(企业网络上)。该功能可以在驻留代理的节点上设置,并且要求物理本地节点访问从而进行操纵。ACL允许该节点的用户设置一个可以访问它的服务器的包涵列表或排除列表。缺省情况下,ACL可以设为准许所有服务器访问代理。
为了改变特定代理的ACL,用户本地登录到该节点,并且通过代理管理工具程序来操纵ACL。用户可以调用代理管理工具程序,并且通过访问控制列表对话框增加或移除访问请求。
现在将参照图13说明增加一个远端服务器以进行备份的一个例子。将备份管理器屏幕130提供给本地服务器的用户。在本例中,所要备份的远端服务器是运行Windows NT的服务器。用户如图所示从窗口132中选择“Windows NT/Windows 2000系统(Windows NT/Windows2000 System)”,并且单击它。然后,如图所示,向用户提供“增加机器(Add Machine)”或“使用自动发现来增加(Add Using Auto-Discovery)”。单击“自动发现”将查找在其上具有适当代理的机器。例如,在本例中,如果选择“自动发现”,则系统将在网络上查找在其上具有Windows NT/Windows 2000系统代理的机器。如图所示选择“增加机器”,向用户提供一系列对话框,从而允许用户输入远端服务器/机器的主机名,并且询问用户名和密码以授权用户浏览远端服务器/机器并且对它执行备份,并且允许用户设置备份目的地。
本系统的各服务器可以包括用于执行备份、恢复等的各种功能的引擎。例如,如图14所示,各服务器可以包括作业引擎136、磁带引擎138和数据库引擎140。这些引擎执行本系统的工作负载,处理并监控备份和恢复操作,并且更新活动日志和数据库的性能信息。
作业引擎在指定日期和时间处理作业队列中的作业。作业引擎扫描作业队列以查找准备运行的作业,然后将它发送到适当的处理程序。运行作业引擎的各服务器根据各用户的需要来配置。因此,作业引擎控制作业队列中作业的执行时间。它定期扫描作业队列,当到达其执行日期和时间时启动作业。作业引擎的各种特性可以是用户控制的。例如,通过选择一个选择配置菜单,可以配置各种选项。例如,如上所述,作业引擎不断扫描作业队列以查找需要执行的作业。缺省情况下,每10秒扫描作业队列一次。要改变该时间间隔,用户可以指定1-999秒的时间间隔数。已完成作业的留存时间也可以受到控制。也就是,具有最终状态“完成”的作业将在该区域中指定的时间内保留在作业队列中。缺省情况下,已完成作业如果不是循环作业则在从队列中删除之前保留24小时。要改变该时间,可以输入0到999之间的数。
本系统还可以包括可以由用户查看的活动日志。活动日志包含有关所有系统活动的信息。缺省情况下,在活动日志中显示当运行本发明时所发生的提示、警告和错误。要改变可以在活动日志中维护的消息的类型,用户可以指定下列值“无”,从而不显示任何消息;“错误”,从而将只显示当运行本系统的时候所发生的错误;“警告和错误”,从而将显示当运行本系统的时候所发生的警告和错误;“提示、警告和错误”(这是缺省值),从而将显示当运行本系统的时候所发生的所有提示、警告和错误;“调试”,从而显示可以用于故障诊断目的的调试信息。
磁带引擎负责与存储设备通信并且对它进行控制。磁带引擎选择作业所需的设备。也就是,磁带引擎识别连接到系统的所有存储设备,并且当启动作业时激活它们。改变磁带引擎的配置不被推荐。正常情况下,除了故障诊断目的之外,使用缺省配置。然而,本系统提供各种磁带引擎选项。如果“级别”选项保持缺省值(“无”),则用户无需指定任何其他东西。然而,如果需要,可以设置下面值“无”(缺省),不记录任何信息。如果保持缺省值,则磁带引擎日志将不出现在作业状态管理器中。如果设为“详细资料”,则将记录由存储设备发送的每条消息,其中,系统监控磁带引擎并且记录所接收的所有信息。如果选择“引擎日志”选项,则磁带引擎日志将出现在作业状态管理器中。如果指定“输出”并且如上所述设置“详细资料”,则用户可以指定想要把消息发送到何处。用户可以指定下列选项之一“屏幕和文件”,在这种情况下,消息记录在磁带引擎日志中以及发送到DOS框(磁带引擎消息窗口)。如果指定“仅屏幕”,则消息仅发送到磁带引擎消息窗口。如果指定“仅文件”,则消息仅记录在磁带引擎日志中。用户可以在作业状态管理器中查看磁带引擎日志。
在系统内所执行的所有操作由数据库引擎记录。数据库引擎负责维护系统已备份或复制的文件、目录、驱动器和机器的历史。数据库引擎还负责有关已被系统处理的作业的信息,如作业类型、日志、作业的启动和停止时间。数据库引擎还维护系统所使用的介质的历史,如其类型、其名称、首次格式化的日期、到期日期以及其上的会话(session)。数据库引擎存储所处理的所有作业的统计信息。所保存的作业信息的其中一些包括已备份、复制或恢复哪些文件和目录、本系统已处理的作业、用于作业的存储设备和介质。
各种数据库引擎选项可以通过用户界面进行用户控制。例如,“最小所需空闲磁盘空间(M字节)”选项允许用户指定想要为系统数据库保留的最小磁盘空间量(以兆字节为单位)。缺省情况下,指定5MB的磁盘空间。要改变所需磁盘空间量,用户可以指定1到10之间的数。可以设置“启用数据库剪枝(Enable Database Pruning)”选项,从而当数据库剪枝处于打开状态时,可以删除有关在一个会话中备份或复制的文件和目录的信息。缺省情况下,选择该选项,从而释放数据库文件空间。然而,用户可以发现为以后恢复起见将该选项设成关闭状态从而维护详细信息是有用的。然而,需要注意的是,不对数据库进行剪枝会意味着数据库可能很快被填满。“对旧于_天的数据库记录进行剪枝”选项只有当“启用数据库剪枝”选项处于打开状态时才有效。用户可以指定记录在被删除之前在数据库中保留多长时间。缺省情况下,记录在数据库中保留30天之后将被删除(如果启用)。要改变该时间长度,用户可以指定1到365之间的数。只有“启用数据库剪枝”选项处于打开状态,“在运行数据库剪枝”才有效。该选项允许用户指定什么时候运行剪枝操作。缺省情况下,剪枝(如果启用)将发生于12:00 AM。还可以提供“只有当剪枝时才删除介质相关数据库记录”选项。当用户重新格式化或擦除介质时,本系统将删除有关磁带的数据库记录。然而,执行该额外步骤可能是费时过程。因此,用户可以选择“只有当剪枝时才删除介质相关数据库记录”选项,以将删除这些记录推迟到执行剪枝的时候。“立即提交数据库剪枝”选项允许用户以指定参数立即将数据库剪枝作业提交到作业队列。“启用远端数据库”选项允许服务器使用远端数据库作为其数据库而不管远端数据库类型。该数据库可以用来将恢复作业提交到本地机器。在此也执行远端数据库的配置。用户输入想要启用的远端数据库的服务器名、登录名、密码和服务器操作系统类型。
本系统还可以包括用于管理系统的若干其他类型的管理器。恢复管理器恢复已经由本系统备份的数据。用户可以设置调度和管理恢复操作的策略。恢复管理器可以执行数据的完全或部分恢复。
数据库管理器显示来自数据库的信息如由本系统处理的作业、所使用的介质和正在由系统使用的设备。
作业状态管理器从作业状态管理器窗口监控所有暂停、完成和活动作业。作业状态管理器还响应用户请求重新调度暂停或完成作业、提交新作业、删除作业并且停止活动作业。为每个完成的作业提供日志信息。
设备管理器显示有关存储设备和介质的信息。设备管理器允许用户改变驱动器的压缩模式,并且执行如压缩、格式化、擦除、弹出和保留的介质功能。
报告管理器根据数据库中的数据生成报告。各种报告包括有关调度策略、介质错误、会话、备份设备和介质策略的信息。
介质池管理器管理、创建并维护介质的逻辑分组以便于标识备份,允许高效调度介质的维护和回收。用户可以设计介质轮换(rotation)方案以适应特定归档需要。报告详细描述用于轮换方案中的介质池的介质信息,包括介质状态和会话信息。
告警管理器使用各种通信方法将关于在本系统工作期间所发生的事件的消息发送到组织内相关人员。
每次运行备份作业时,系统在其数据库中记录有关已被备份的机器、目录和文件以及所使用的介质的信息。这就允许每当用户需要恢复文件时定位它们。每当用户备份系统主目录时,缺省情况下,备份数据库信息。用户可以选择在每一个备份作业中备份数据库文件而不管是否选择系统主目录进行备份。
本系统还提供可以用来管理文件的若干工具程序。例如,如果数据库中的数据由于某种原因而被破坏时,可以执行数据库恢复。恢复数据库工具程序让用户将信息从数据库备份恢复到数据库,从而覆写现有数据库文件。每当数据库文件例如在火灾、洪水或机器崩溃的灾难期间丢失的时候,用户可以使用该工具程序。存在若干高级数据库恢复选项,包括指定要恢复数据库的日期的选项。在这种情况下,在该日期或之前创建的数据库会话将用于备份。另一选项允许用户指定作业的介质选项。另一选项允许用户在恢复作业之前和/或之后运行命令或批文件。还提供一个选项来允许用户确定在作业队列日志中记录的详细级别。
可以提供合并工具程序,从而允许将信息插入到数据库内的空槽中。该功能允许用户从与数据库所驻留的服务器不同的服务器恢复数据。例如,如果在不同机器上使用本系统创建数据库备份,则用户可以使用合并工具程序来将介质信息输入系统主目录的数据库。因此,合并工具程序允许用户采用包含一个或多个备份会话的介质,并且将来自该介质的信息附加到现有数据库。如果详细信息已从数据库剪枝,这是有用的。高级合并选项包括指定作业介质选项的选项、在作业之前和/或之后运行命令或批文件的选项、确定用户想要在作业队列日志中记录的详细级别的选项以及发送有关操作中事件的消息的选项。
扫描功能提供有关任何介质备份会话的信息。将所选要进行备份的各源保存在介质上作为单独会话。用户可以扫描单个会话或整个介质。扫描作业结果可以在作业队列中查看。如果用户试图恢复服务器并且需要查找最近数据库备份从而可以恢复它,则该功能尤其有用。如果需要所备份的文件列表,用户也可以使用扫描功能。高级扫描选项包括指定作业介质选项的选项、指定作业的一些通用选项如以CRC校验扫描文件或者启用数据库记录的选项、在作业之前和/或之后运行命令或批文件的选项、确定用户想要在作业队列日志中记录的详细级别的选项以及发送有关操作中事件的消息的选项。
比较功能比较介质会话的内容与机器上的文件。比较作业结果也可以在作业队列中查看。用户可以在备份之后使用该特性以验证将所有文件复制到介质中的备份没有错误。高级比较选项包括指定作业介质选项的选项、指定是否启用数据库记录的选项、在作业之前和/或之后运行命令或批文件的选项、确定用户想要在作业队列日志中记录的详细级别的选项以及发送有关操作中事件的消息的选项。
计数功能对机器上的文件和目录进行计数。计数功能结果可以在作业队列中查看。该选项可以在复制作业之后使用以验证将所有文件从一个磁盘复制到另一个磁盘的复制功能没有错误。高级计数选项包括指定是否启用数据库记录的选项、在作业之前和/或之后运行命令或批文件的选项、确定用户想要在作业队列日志中记录的详细级别的选项、在对文件计数之前扫描文件以查找病毒的选项以及发送有关操作中事件的消息的选项。
清除功能允许用户从机器中删除文件和目录。结果可以在作业队列中查看。清除功能允许用户从机器中删除文件和目录。高级清除选项包括指定作业的一些通用选项如移除目录或启用数据库记录的选项、在作业之前和/或之后运行命令或批文件的选项、确定在作业队列日志中记录的详细级别的选项以及发送有关操作中事件的消息的选项。
复制功能允许用户将文件从一处复制到另一处。例如,用户可以在本地机器上运行复制作业以将文件和目录存储在将要备份到介质中的另一机器上。复制选项确定在复制操作期间或之后所发生的相关动作。例如,提供一个选项来指定什么时候重试打开文件和文件共享选项。还提供一个选项来指定是否启用数据库记录。另一个选项在目的介质上创建源机器的镜像。提供一个选项来从源机器复制文件和目录的同时删除所有不出现在源机器上的文件和目录。还提供一个选项来在复制到目的机器之后从源机器中删除文件。存在一个选项来复制用于对NTFS卷进行文件访问的文件级安全信息。还提供一个选项来在运行作业之前和/或之后运行命令或批文件。一个选项允许用户确定想要在作业队列日志中记录的详细程度。另一选项是在复制文件之前先扫描文件以查找病毒。另一选项是发送有关操作中事件的消息。
本系统允许通过采用多流方式并行运行存储操作来备份数据。也就是,本系统可以设计成,自动地或者响用户所选选项,根据磁带设备的可用性创建备份作业的多个备份流。通过将数据分配给多个并行流,该方法大大减少备份操作所需的时间。灾难性丢失之后的恢复也将更快,因为所有可用设备协作从而立刻恢复所有或大部分备份数据。
因此,通过将单个备份作业分成使用两个或更多磁带设备的多个作业,多流方式允许用户利用系统上的所有可用磁带设备。这样,多流方式与顺序方法相比提高总体备份吞吐量。如果系统中的多个驱动器和多个卷可用,则用户可以选择采用多流方式。
多流方式工作于本地和远端设备。使用多流方式选项备份远端源是以节点(计算机)级支持的。用户可以使用所有存储介质设备或者只能指定单个存储介质设备组(如果系统中存在混合类型的存储介质设备)。如果在系统上安装了库选项(如下所述),多流方式(当选择时)将使用所有可用库设备。如果没有安装库选项,则用户可以将存储介质设备置于单独组。
如果存储介质设备是换带机(changer),则所创建的流(从作业)的总数将依赖于可用存储介质设备的数目,否则,它将依赖于存储介质设备组数。
多流方式对于常规文件是以卷级执行的(两个卷可以同时运行在两个单独设备上),并且对于本地数据库服务器是以数据库级执行的。多流方式对于优选共享文件夹、远端数据库服务器和Windows NT/2000客户端代理是以节点级执行的。
系统可以同时运行数目与系统上的设备/组数相同的作业。在选择多流方式选项的情况下,当用户创建一个主作业时,它将触发数目与可用存储介质的卷或设备数相同的从作业。当作业在一个卷上完成时,执行另一个作业直到不再有作业要运行。
当采用多流方式时,用户可能希望选择介质池以防止磁带遭到覆写。对于常规驱动器,单独磁带设备应配置在单独组内。对于带换带机的磁带系统,它们可以配置在同一组内。取消主作业意味着取消所有从作业。用户可以取消主作业或者任一个从作业以完全取消整个多流方式作业。正如所述,当将作业置于作业队列中时,可以在执行作业之前或之后执行某些操作。例如,可以将消息发送给不同人员等。这些称作前/后操作。前/后操作和备注是以主作业级支持的。也就是,前/后操作将不是针对每个从作业执行的,而是在运行产生从作业的总作业之前或之后执行的。各从作业在作业队列中将具有采用如下模式的缺省作业描述多流[作业[MID]]子作业[SID],其中,MID是主作业id而SID是顺序ID。如果系统只有一个存储介质设备,则将忽略多流选项。为了采用多流方式作业实现最优性能,可以采用具有多处理器且每处理器具有至少256MB存储器的高端服务器机器。
图15是用于描述根据本发明一个实施例的多流备份方法的流程图。在步骤S2,用户创建主备份作业。在步骤S4,作业引擎扫描作业队列,从而根据作业调度运行日期和时间来查找准备运行的作业。在步骤S6,根据调度启动时间来判定是否有一个作业要运行。如果尚未到达运行主作业的时间(否,步骤S6),则作业引擎继续扫描作业队列,直到到达运行主作业的时间(是,步骤S6)。在步骤S8,系统将主作业分成多个较小从作业,其中每个从作业对应于单个源实体(文件系统、数据库等)的备份/恢复。然后,系统将较小从作业发送到作业队列(步骤S10)。在步骤S12,作业引擎继续扫描作业队列以查找作业。这将继续直到检测到新从作业(是,步骤S14)。当检测到新从作业时,作业引擎与磁带引擎通信以判定是否有磁带设备可用于开始向其备份(否则循环,步骤S16)。这将继续直到判定有一个磁带设备可用。一旦判定磁带设备可用(是,步骤S16),则为具有可用存储设备的各作业启动较小从作业(步骤S18)。当各从作业完成时,将信息返回给磁带引擎以指示从作业所使用的磁带设备再次可用(步骤S20)。然后,作业引擎扫描作业队列以查找下一个从作业,并且过程重复直到执行完所有从作业。判定是否完成所有作业。如果尚未完成(否,步骤S20),则过程再次扫描作业队列,从而查找所要执行的从作业(步骤S12)。如果各从作业均完成(是,步骤S20),则过程结束(步骤S22)并且认为主作业完成。此时,可以执行任何作业后操作。
本系统还能够执行无服务器备份,它为系统管理器解决很多传统备份相关问题。无服务器备份允许用户在对系统CPU的影响几乎为零的情况下执行备份,并且允许在备份正在进行的同时继续运行服务器上的应用程序。无服务器备份消除了备份窗口的需要,从而提供最高可能备份/恢复性能,并且允许应用程序在正执行备份的时候继续访问数据。
无服务器备份是使用行业标准扩展复制命令来实现的,并且采用支持扩展复制命令的设备来支持SAN环境。
通过使用扩展复制命令,无服务器备份有效地从数据备份传输路径中完全消除了服务器,并且实现磁盘到磁带或磁带到磁盘的直接数据传输。发起数据传输是发生于服务器级的唯一活动,而实际数据传输发生于SAN上的数据移动器级。本发明的无服务器备份使用“数据移动器”在磁盘和磁带之间传输数据。数据移动器是支持扩展复制命令的设备,从而无需特地将数据带到服务器,从而实现最短数据路径。这就大大增强了备份性能,并且产生最高可能备份/恢复速度。这就允许应用程序在备份正在进行的时候继续访问服务器。该功能消除了备份窗口的需要,并且允许系统管理器随时执行备份。
图16示出用于无服务器备份的系统的一个例子。如图所示,系统包括均通过高速网络160在SAN上互连的服务器150a-150n、磁盘阵列152和备份存储介质154,其中,高速网络160可以包括路由器、网桥等。磁盘阵列152能够存储来自各种工作站(未示出)的数据。
SAN支持可以将数据从磁盘阵列152直接发送到备份存储介质154而无须经过服务器的“扩展复制”。如图16的箭头A所示,数据备份的数据路径开始于磁盘阵列152,穿过网络160,并且到达备份存储介质154。由于数据路径不包括使用服务器,因此备份被认为是无服务器的。
服务器所涉及的唯一方式是接收有关备份的数据。例如,服务器可以与系统的各部分通信以获得有关备份的元数据等。服务器也可以用来启动和控制备份过程,但是正被备份的数据从磁盘阵列152直接移到备份存储介质154而不经过任何服务器的CPU。
无服务器备份的一方面是基于解析各卷的文件映射表。图23是用于描述根据本发明一个实施例的无服务器备份的各方面的流程图。系统首先打开NT文件系统(NTFS)根目录和结构(步骤S70),对其解析以获得各文件的分配表(步骤S72),并且找出各文件的属性(步骤S74)。通过检查各文件的属性,系统判定文件是驻留(resident)的还是非驻留的(步骤S76)。如果文件是驻留的(是,步骤S76),则备份全部属性(步骤S80)。如果非驻留(否,步骤S76),则系统备份文件属性(或属性)以及属于文件的数据块(步骤S78),因此对驻留在卷上的所有文件映射整个卷,以进行完全的数据保护。在支持文件分配表(FAT)文件系统的系统上,系统可以通过转换FAT模式来转换数据块。所得到的模式是能够提供文件级恢复的使用扩展复制技术的无服务器备份。
如图24所示,对于NTFS,本系统打开一个卷(步骤S82),读取引导扇区(步骤S82)并且获得bios参数块(BPB)(步骤S86)。然后,系统确定扇区大小、簇大小、文件记录段大小、每索引分配缓冲区的簇数(步骤S88)。
系统首先根据索引根条目遍历根目录(根据根目录的文件引用,系统读取根目录的文件记录段)(步骤S90),并且判定它是否为一个文件(步骤S92)。如果它是文件(是,步骤S92),则系统将检查文件属性(安全性、数据属性等),并且备份属性的对应值。判定文件是驻留的还是非驻留的(步骤S96)。如果该值是驻留值(是,步骤S96),系统将备份包含属性的文件记录段。如果它是非驻留的(否,步骤S98),系统将算出LCN/VCN(运行列表)并且记住该信息(步骤S100)。
如果不是文件(否,步骤S92),则执行其他步骤(步骤S102)。例如,如果根条目是索引节点,则系统将浏览索引分配属性。如果它是目录,则系统将遍历该目录。系统然后将根据位图增加尚不在列表中的所有其他簇。
如图25所示,对于FAT/FAT32,系统打开卷(步骤S104),读取引导扇区(步骤S106)并且获得BPB(步骤S108)。系统读取根目录(步骤S110),并且根据根中各条目,系统可以对它进行不同解析。例如,如果它是子目录(步骤S112),则系统将确定目录的簇链(步骤S114),读取子目录(步骤S116),并且遍历它(步骤S118)。如果它是文件(步骤S112),则系统将使用FAT表确定文件的簇链(步骤S120)。
对于快照,在备份之前,系统刷新卷缓存。然后,系统冻结卷(例如,创建快照)。在备份分析阶段期间,快照驱动程序将原始数据返回到无服务器/映像,以进行实际数据备份。对于无服务器系统,由于数据移动发生于原始磁盘,因此数据移动器可能不能恢复原始数据。因此,在无服务器备份的结束,系统可以要求快照驱动程序提供修改簇的所有原始数据,并且系统将在恢复期间应用该信息。
图17示出用于执行无服务器备份的系统流程的另一个例子。要完成无服务器备份,本系统获得磁盘阵列152或阵列一部分的静态视图(步骤S40),将磁盘集上的数据块映射到所属文件(步骤S42),并且将数据从磁盘阵列152直接移到备份存储介质154(步骤S44)。
为了获得磁盘阵列中数据的静态视图,本系统可以使用备份镜像系统。图18示出使用备份镜像系统获得磁盘阵列中数据的静态视图的流程例子。首先,建立镜像(步骤S46)。下一步,停止对磁盘阵列写入的任何应用程序(步骤S48),然后分割镜像(步骤S50)。
获得静态复制的另一种方法是使用快照。在这种情况下,如图19所示,系统首先停止对磁盘写入的任何应用程序(步骤S52),然后创建快照(步骤S54)。
现在,系统具有所要备份的磁盘阵列的静态视图。当数据正在从磁盘阵列152传输到备份存储介质154时,数据可以作为数据块来传输而不是作为文件来传输。因此,为了最终恢复一个文件,系统创建一个标识哪些块属于哪些文件的表或映射。例如,如图20所示,文件A由数据块A、B和C组成。文件B由数据块D、E和F组成。当创建快照或分割镜像时,这些映射将保持不变,直到创建另一个分割镜像或快照。本系统创建记录与文件A和文件B的数据块关联的表或映射。例如,当用户以后试图恢复文件A时,本系统查询与文件A相关联的块,并且恢复它们。从磁盘阵列152发送到备份存储介质154的数据块使用扩展复制命令来直接传输。
当从无服务器备份系统恢复数据时,用户可以选择以用于恢复整个驱动器的映像级或以用于恢复单独文件或目录的文件级恢复数据。
映像级恢复将整个映像从备份存储介质154复制回到磁盘阵列152。文件级恢复正如服务器恢复一样工作,将所选文件从备份存储介质154复制到磁盘阵列152。
要执行映像级无服务器恢复,本系统创建将要向其恢复数据的快照或分割镜像。下一步,本系统使用扩展复制命令将备份数据从备份存储介质154直接恢复到磁盘152。
在上述实施例中,在创建驱动器的快照或映像的时候停止对驱动器写入的任何应用程序。然而,代替停止对驱动器写入的应用程序,本系统还能够等待一个优选时机来创建快照或映像。例如,系统可以同步驱动器152,并且等待驱动器152上无写入活动的一段时间。缺省情况下,在冻结驱动器(例如,创建快照)之前系统寻找没有写入活动的时间段为3秒。然而,用户可以根据需要修改该时间段。如果不能找到无写入活动的指定时间段(3秒),则同步在指定超时时间段(例如,80秒)之后超时,并且冻结请求将失败。无写入活动的指定时间段是认为可以安全冻结驱动器之前在驱动器上应出现的无活动的秒数。用户也可以根据需要修改超时时间段。在认为可以安全冻结驱动器之后,可以创建驱动器的快照或映像。这样,应用程序不被迫在它们正在执行的过程中间停止。
本系统还可以包括用于管理一个或多个磁带库的GUI。磁带库是带有自动介质传送系统如自动机械拾取机的包含一个或多个磁带驱动器的设备,它允许在没有人工干涉的情况下备份大量数据。磁带库可以包括各种具有条形码ID(如果磁带库支持它)的组件。本系统可以通过读取附于介质的条形码来使用条形码ID快速定位各个介质。磁带库也可以包括一个或多个磁带匣(或磁带柜),其中存储一组或多组存储介质(如磁带介质)。可以提供自动机械拾取机来在磁带匣插槽与驱动器之间运送存储介质单元。磁带库可以在计算机或服务器与存储介质之间传输(备份或恢复)数据的设备中包括一个或多个驱动器。磁带库可以包含一个或多个驱动器以及一个到数百个磁带匣。较小库有时称作自动装带机或换带机。在此所用的术语“磁带库”是指任意大小的磁带库。
磁带库可以认为类似于单个存储驱动器。然而,一个主要差别在于磁带库典型使用至少两个SCSI ID磁带库本身使用一个并且磁带库的各驱动器分别使用一个。一些磁带库可以单个SCSI ID。当磁带库仅使用一个SCSI ID时,磁带库和磁带库驱动器可以分别分配一个逻辑单元号(LUN)来区分驱动器和磁带库。单个SCSI ID实际上分成两个ID。使用磁带库与使用多个单独存储单元相比具有若干优点。例如,使用磁带库,在备份和恢复操作期间不需要人工干涉。另外,磁带库可以包含多个存储驱动器以及大量介质,从而提供大容量能力。
本系统能够支持带多个驱动器的磁带库以及带单个驱动器的磁带库。本系统还可以支持多个库。本系统允许用户从一处跟踪和控制库的初始化过程。对于多驱动器库,磁带引擎使用所有驱动器来执行初始化过程。本系统还支持多个并发的设备管理功能,包括从任何指定插槽清洗存储驱动器。还支持各种库设备管理功能包括格式化插槽范围、擦除插槽范围(快速且冗长)、导入/导出、盘查插槽、安装磁带匣、卸载磁带匣、清洗库驱动器。本系统能够使用库上所有可用驱动器。如果多个驱动器可用,则可以并发执行设备管理功能。
本系统可以通过读取可以附于介质的条形码来快速定位各个介质。在安装完成并且首次启动磁带引擎之后,对整个库进行盘查和记录。如果磁带库支持下述特性的话,本系统提供允许调度磁带库清洗的设备配置。磁带库可以进行分组。除了磁带库组基于插槽之外,磁带库组采用与设备组(例如,服务器组)相同的概念。可以选择库内的任何插槽来形成库组。如果库用完所包括的磁带时,用户可以插入一个新磁带,并且本系统将能够识别该磁带是预定义组的一部分。本系统可以盘查新介质,这就允许用户将新介质插入到库中然后继续备份或恢复操作而不中断。如果多驱动器库中的一个驱动器出现故障,则故障驱动器可以标记为离线。这就允许磁带引擎使用库中的其余无故障驱动器继续工作。本系统可以根据用户首选项通过名称或插槽号来搜索介质。本发明提供大型磁带库支持,从而允许在一个列表中向用户显示带有1000个以上插槽的换带机。插槽可以以四种方式来显示大图标、小图标、详细资料和列表。
磁带库可以从设备配置菜单进行配置。首先,从设备配置菜单中选择磁带库。然后,出现磁带库设置屏幕。如果磁带引擎正在运行,则出现一个窗口来让用户停止该引擎。磁带引擎应停止从而对磁带库设备进行配置。如果磁带库支持设备序列号,则驱动器应该已经被配置,并且将出现在库设备列表中。如果驱动器尚未自动分配给磁带库,可以人工分配它们。这可以通过首先选择驱动器和库然后单击“分配”按钮来完成。将一个驱动器分配给磁带库允许本系统知道该驱动器存在于该库内。如果人工分配驱动器,则应以正确次序分配多驱动器库内的驱动器。例如,通常情况下,磁带库是以第一个库驱动器具有最低SCSI ID号并且最后一个库驱动器具有最高SCSI ID号的方式由制造商配置。然而,不总是这种情况。然后,出现下一个设置窗口。用户选择库,并且单击“属性”按钮,从而出现属性对话框。属性对话框允许用户指定哪个插槽装有清洗磁带(如果存在)以及是否安装了条形码阅读器。
在配置库之后,本系统运行盘查操作。在此阶段,用户可以标记驱动器为在线或离线。这样,故障驱动器(多驱动器库中)可以标记为离线,从而本系统可以使用其余无故障驱动器继续工作。当驱动器被修复或更换之后,通过再次执行上述库设置过程,可以容易地将它设回到在线状态。
本系统还包括用于解决大范围存储要求的虚拟库特性。虚拟库特性允许将物理库配置成较小的虚拟(逻辑)库,同时还共享相同自动机械装置、导入/导出插槽和清洗介质。虚拟库特性提供将大型库配置成较小虚拟库的灵活性,从而允许用户创建RAID级设备和/或独立磁带库的不同组合。
虚拟库配置工具程序用来设置所有虚拟库。该工具程序允许用户规定虚拟库及其参数包括虚拟库所需的插槽和驱动器数。在最少的情况下,虚拟库应该具有至少一个插槽以及一个与其相关联的驱动器。
用户可以使用下列步骤来创建虚拟库。首先,用户选择“设备配置”菜单。在单击“下一步”按钮之后,显示“设备配置”对话框。用户可以选择“虚拟库”,并且单击“下一步”按钮。然后显示一个屏幕,从而允许用户从“可用库”窗口中选择要配置成虚拟库的库。在选择之后,在“详细资料”区域内显示与父物理库相关联的特性。显示与适配卡、SCSI总线、SCSI ID和LUN相关联的信息。另外,一个区域显示可用于该虚拟库的全部插槽。从所显示的库树中,用户可以选择要与新创建的虚拟库相关联的驱动器。虽然驱动器不能在虚拟库之间共享,但是驱动器可以以任何次序分配给虚拟库。另外,各虚拟库应该具有分配给它的至少一个驱动器和一个插槽。然后,用户选择要分配给该虚拟库的插槽数。然后,在“虚拟库”窗口内显示新创建的虚拟库。如果在该步骤之后特定库仍然具有未分配的驱动器,则将在“可用库”窗口内显示可用资源。正在处理的整个物理库可以配置成多个虚拟库。可以使用用于所选物理库的所有驱动器和插槽。
本系统允许将库内插槽分成多个组。对插槽进行分组允许同时运行若干种作业。另外,如果一组内存在若干插槽,则可以让库包括该组内的多个介质。缺省情况下,首次启动本系统时,连至机器的各库中的所有插槽自动分配到库组。例如,如果有两个库连至机器,则将存在两个库组。第一库中的所有插槽将分配给组0,并且第二库中的所有插槽将分配给组1。这些库组名称可以保持不变,或者用户可以对它们进行重新分组和重新命名。由于库中的各插槽视作一个虚拟存储驱动器,因此各插槽可以分配到其自己组。
本系统允许用户使用GUI对库进行配置。用户可以通过启动设备管理器来对库进行配置(或者修改其配置)。在系统检索库设备信息之后,用户可以选择“设备”视图,并且定位选择希望配置的库设备。将向用户提供如图21所示的屏幕。要对一个设备进行配置,当出现“设备组配置”窗口时,用户单击“设备”(Device)选项卡161。在设备窗口(图22)上,存在两个子窗口。设备组位于左边窗口160上,并且可用设备位于右边窗口162上。用户可以从“组”(Groups)列表中选择一个驱动器,并且将它置于“可用设备”(Available Devices)列表中。例如,要将驱动器从“组”列表移到“可用设备”列表,用户单击希望移动的设备并且单击“移除”(Remove)按钮164。这将使得该驱动器可用于用户想要将该驱动器配置到其中的任何库。然后,用户单击“库”(Library)选项卡166,从而所移动的磁带驱动器位于如同前一选项卡的“可用设备”列表中并且换带机位于“组”列表中。
要创建一个新组,用户单击“组”列表中的换带机,并且单击“新建”(New)按钮168。出现一个新组对话框。然后,用户为该组键入一个具有八个或更少字符的名称,选择起始和结束插槽范围,并且单击确定。组也可以使用“分配”(Assign)按钮170以类似方式分配。
本系统和方法能够在SAN环境中工作,其中,在SAN中连接的各服务器维护SAN中共享存储设备的信息,决定想要如何利用设备的介质和磁带驱动器,并且让其他服务器知道其决定并且还共享由其发起的设备中的任何状态变化。
如上面参照图6所述,回路中的一个服务器被指定为主服务器,并且其余服务器被指定为分布式服务器。主服务器13负责初始化和盘查连接在SAN上的设备。主服务器13还运行称作“sanghost”的全局锁定过程,以在不同服务器之间同步对存储设备的访问。分布式服务器15a-15n从主服务器13获得设备信息详细资料,并且初始化其内部结构。一旦所有服务器运行起来,则它们都是独立的并且具有足够的智能来作出其自己的决定。服务器间通信通过在SAN中的所有服务器上工作的对等系统层。
如果一个服务器(例如,分布式服务器15b)想要备份数据并且决定使用备份存储设备16a中的一个驱动器和介质,则它首先从运行在主服务器13上的“快照”进程请求一个全局锁定。如果没有其他服务器占据该锁定,则该请求服务器获得该锁定,并且可以安全地继续其操作。否则,它必须等待直到它可以获得全局锁定。一旦服务器15b能够获得全局锁定,则它检查其内部表以判定该驱动器和介质是否已经被任何其他服务器或其自身锁定。如果它们尚未被锁定,则服务器15b标记该驱动器和介质被锁定,并且通过其对等系统将该信息传播到SAN上的其他服务器。然后,它释放全局锁定,从而其他服务器可以利用其他驱动器和介质。当服务器将介质从插槽移到驱动器以及相反时,它关于该动作来更新其他服务器,从而它们可以更新其内部表。如果介质被格式化(或重新格式化),则将该信息传播到所有其他服务器。在服务器15b完成其操作之后,它将重新请求全局锁定,然后通知所有其他服务器对该驱动器和介质解锁。服务器15b还将从其自己的内部表对它们解锁,然后释放全局锁定。
如果主服务器13崩溃,由于所有其他服务器知道设备状态,因此任何其他服务器可以迅速地提升为主服务器。
本发明可以使用根据本说明书内容编程的一个或多个传统通用数字计算机和/或服务器来方便地实现。适当的软件编码可以根据本发明的内容由熟练编程人员容易地准备。本发明还可以通过准备应用特定集成电路或者通过互连适当的传统元器件电路网络来实现。
根据上述内容可以对本发明进行各种其他修改和变动。因此,应该理解,在所附权利要求的范围内,可以以不同于在此所述的特定细节来实施本发明。
权利要求
1.一种用于备份和恢复信息的系统,包括至少一个计算机系统,包含所要备份和恢复的信息;存储设备,用于接收所要备份信息的至少一部分,并且存储和备份该信息;以及控制器,包括调度系统,用于允许用户将表示要备份或恢复所述至少一个计算机系统的信息的一个或多个部分的主作业输入到作业队列中;以及作业控制系统,将主作业分成多个较小作业,并且将所述多个较小作业输入到作业队列中。
2.如权利要求1所述的系统,其中,当用户将主作业输入到作业队列中时,用户指定运行主作业的时间,并且作业引擎周期性地扫描作业队列以查找所要运行的作业,并且当到达运行主作业的时间时,系统将主作业分成多个较小作业。
3.如权利要求1所述的系统,其中,所述多个较小作业各自对应于备份或恢复单个源实体。
4.如权利要求3所述的系统,其中,主作业是备份或恢复整个计算机系统,而单个源实体是整个计算机系统的文件系统和数据库之一。
5.如权利要求1所述的系统,其中,存储设备包括磁带设备。
6.如权利要求5所述的系统,其中,磁带设备包括磁带库。
7.如权利要求1所述的系统,其中,所述至少一个计算机系统包括服务器系统。
8.一种备份和恢复计算机系统上的信息的方法,包括将指示在规定时间对计算机系统上的至少一部分信息执行备份和恢复中的至少一种操作的主作业输入到作业队列中;扫描作业队列以查找所要执行的主作业,并且当到达执行主作业的时间时,将主作业分成多个较小作业,并且将所述多个较小作业输入到作业队列中;扫描作业队列以查找较小作业,并且当检测到所述多个较小作业之一时,判定存储设备是否可用;以及针对每个可用存储设备启动所述多个较小作业之一。
9.如权利要求8所述的方法,还包括当完成较小作业时,提供所用存储设备再次可用的指示,并且使用该可用存储设备启动另一个较小作业。
10.如权利要求9所述的方法,其中,扫描作业队列以查找较小作业的步骤、启动多个较小作业之一的步骤以及提供指示的步骤重复执行直到完成各个较小作业。
11.如权利要求8所述的方法,其中,主作业包括用于在执行主作业之前或之后执行至少一个操作的指令。
12.如权利要求11所述的方法,其中,在执行主作业之后执行的操作在执行对应于主作业的最后一个较小作业之后执行。
13.如权利要求11所述的方法,其中,在执行主作业之前执行的操作在执行对应于主作业的第一个较小作业之前执行。
14.一种计算机记录介质,其中包含用于备份和恢复信息的计算机可执行代码,它包括一代码,用于允许用户将表示要备份或恢复信息的一个或多个部分的主作业输入到作业队列中;以及一代码,用于将主作业分成多个较小作业,并且将所述多个较小作业输入到作业队列中。
15.如权利要求14所述的计算机记录介质,其中,用于允许用户将主作业输入到作业队列中的代码允许用户指定运行主作业的时间。
16.如权利要求15所述的计算机记录介质,还包括一代码,用于周期性地扫描作业队列以查找所要运行的作业,并且当到达运行主作业的时间时,将主作业分成多个较小作业。
17.如权利要求14所述的计算机记录介质,其中,所述多个较小作业各自对应于备份或恢复单个源实体。
18.如权利要求17所述的计算机记录介质,其中,主作业是备份或恢复整个计算机系统,而单个源实体是整个计算机系统的文件系统和数据库之一。
19.一种计算机记录介质,其中包含用于备份和恢复计算机系统上的信息的计算机可执行代码,它包括一代码,用于将指示在规定时间对计算机系统上的至少一部分信息执行备份和恢复中的至少一种操作的主作业输入到作业队列中;一代码,用于扫描作业队列以查找所要执行的主作业,并且当到达执行主作业的时间时,将主作业分成多个较小作业,并且将所述多个较小作业输入到作业队列中;一代码,用于扫描作业队列以查找较小作业,并且当检测到所述多个较小作业之一时,判定存储设备是否可用;以及一代码,用于针对每个可用存储设备启动所述多个较小作业之一。
20.如权利要求19所述的计算机记录介质,还包括一代码,用于当完成较小作业时,提供所用存储设备再次可用的指示,并且使用该可用存储设备启动另一个较小作业。
21.如权利要求20所述的计算机记录介质,其中,扫描作业队列以查找较小作业、启动多个较小作业之一以及提供指示重复执行直到完成各个较小作业。
22.如权利要求19所述的计算机记录介质,其中,主作业包括用于在执行主作业之前或之后执行至少一个操作的指令。
23.如权利要求19所述的计算机记录介质,其中,在执行主作业之后执行的操作在执行对应于主作业的最后一个较小作业之后执行。
24.如权利要求19所述的计算机记录介质,其中,在执行主作业之前执行的操作在执行对应于主作业的第一个较小作业之前执行。
全文摘要
一种用于备份和恢复信息的系统,包括至少一个计算机系统,包含所要备份和恢复的信息;以及存储设备,用于接收所要备份信息的至少一部分,并且存储和备份该信息。一种控制器,包括调度系统,用于允许用户将表示要备份或恢复这些至少一个计算机系统的信息的一个或多个部分的主作业输入到作业队列中;以及作业控制系统,将主作业分成多个较小作业,并且将这些较小作业输入到作业队列中。
文档编号G06F12/16GK1524221SQ02813633
公开日2004年8月25日 申请日期2002年7月3日 优先权日2001年7月6日
发明者贾殷·曼莫汉, 贾殷 曼莫汉 申请人:计算机联合思想公司