虚拟磁带库备份系统以及磁盘电源控制方法

文档序号:7695982阅读:97来源:国知局
专利名称:虚拟磁带库备份系统以及磁盘电源控制方法
技术领域
本发明涉及数据存储技术,特别涉及一种虚拟磁带库(Virtual Tape Library, VTL )备份系统、以及一种VTL设备中的磁盘电源控制方法。
背景技术
VTL设备为一个磁盘存储设备,包含存储控制器(Storage Contoller, SC)和磁盘阵列。其中,磁盘阵列为独立磁盘冗余阵列(Redundant Array of Independent Disks, RAID),磁盘阵列中的物理磁盘作为存储介质;SC中承载的RAID 子系统,RAID子系统作为》兹盘阵列管理才莫块,用于实现对^磁盘阵列中物理 磁盘的数据读写操作、以及对数据的冗余保护;SC中承载的VTL应用程序 则将物理磁盘以虚拟磁带的形式呈现给该VTL设备的客户端。在现有技术中,VTL设备常用于数据备份,相应地,VTL设备的客户 端通常为备份服务器,备份服务器与VTL设备构成VTL备份系统。如图l所示,在现有VTL备份系统中,VTL设备与作为客户端的备份 服务器之间通过互联网协议(Internet Protocol, IP )网络或者光纤通道(Fibre Channel, FC )网络相连,并基于因特网小型计算机接口 ( Internet SCSI, iSCSI) 协议或FC协议交互。备份服务器中包含备份应用模块,所述备份应用模块是一种承载于备份 服务器中的应用程序,当备份应用模块执行备份作业时,备份数据可以通过 IP网络或FC网络从备份服务器写入至VTL设备存储;当备份应用模块执 行恢复作业时,之前存储在VTL设备中的备份数据将通过IP网络或FC网 络从VTL设备中读回至备份服务器。如上可见,在现有VTL备份系统中,只有在备份应用模块执行备份作 业/恢复作业时,VTL设备中才会产生数据的读写操作,也就是说,VTL设 备中的物理磁盘在大部分时间内都处于空闲状态,而如果空闲状态的物理磁 盘 一 直处于上电状态,则会使得VTL设备产生不必要的能耗。因此,为了节约能耗,现有技术通常会利用大规模非活动磁盘阵列 (Massive Arrays of Idle Disks , MAID )技术,实现VTL设备磁盘阵列中的 物理^磁盘按需上电和断电。具体来说,MAID技术需要在VTL设备中设置少量旋转磁盘用作緩存。 SC中的RAID子系统在接收到来自备份服务器的写请求或读请求后,判断 备份服务器所需的数据是否存储在緩存中,如果没有,则RAID子系统就会 控制》兹盘阵列中对应写请求或读请求的物理;兹盘上电、并记录该物理i兹盘的 访问状况,此后,如果已上电的物理;兹盘在一定时间内又处于空闲状态,则 RAID子系统根据记录的各物理磁盘的访问状况并参照预设的策略,控制空 闲状态的物理磁盘断电。也就是说,VTL设备中只有需要进行读写操作的物 理磁盘才会上电,而大部分物理磁盘均处于断电状态,节约了 VTL设备的 負fe耗。然而,现有技术中虽然能够利用MAID技术节约VTL设备的能耗,但 却存在以下问题(1 ) VTL设备中的RAID子系统需要实时记录每个物理》兹盘的访问状 况,占用了 VTL设备中的大量系统资源;(2) VTL设备中的RAID子系统需要准确地判断出被访问的虚拟磁带 所对应的物理磁盘、并控制其上电和断电,对RAID子系统的可靠性要求高、 且实现复杂;(3) VTL设备中的物理磁盘大部分时间处于空闲状态,因而缓存的利 用率不高,而如果使用几块物理磁盘用做緩存,则浪费了大量硬件资源;(4) 物理磁盘本身的特性决定了其上电时间长,因此需要备份应用模 块在备份作业/恢复作业执行过程中等待物理磁盘上电,影响了 VTL备份系统的整体性能;例如,f兹盘阵列中的物理》兹盘如果为串行高级技术附件 (Serial Advanced Technology Attachment, SATA)磁盘,则上电时间需要 10秒。可见,现有利用MAID技术节约VTL设备能耗的方式会影响VTL备份 系统的整体性能、且占用较多的资源。发明内容有鉴于此,本发明提供了一种VTL备份系统、以及一种VTL设备中的 磁盘电源控制方法,能够减少VTL设备的能耗并节省资源。本发明提供的一种VTL备份系统,包括VTL设备和备份服务器,其中,VTL设备包含存储控制器SC、以及由若干物理磁盘构成的磁盘阵列;SC中包含有磁盘阵列管理模块,用于实现备份服务器对磁盘阵列的读 写操作,并控制所有物理磁盘的上电和断电;备份服务器中包含有备份应用模块,用于在执行备份作业被触发时向磁 盘阵列写入数据,在执行恢复作业被触发时从磁盘阵列读取数据;所述SC中还包括磁盘控制模块、且所述备份服务器中还包含有代理应 用模块;所述代理应用模块,用于在所述备份应用模块的备份作业/恢复作业被 触发时,向所述磁盘控制模块发送表示作业开始的通知;在所述备份应用模 块的备份作业/恢复作业结束时,向所述磁盘控制模块发送表示作业结束的 通知;在接收到来自所述磁盘控制模块的成功响应后,通知所述备份应用模 块开始执行备份作业/恢复作业;所述磁盘控制模块,用于根据接收到的表示作业开始的通知,触发所述 磁盘阵列管理模块控制所有物理磁盘上电,并向所述代理应用模块返回成功 响应;根据接收到的表示作业结束的通知,触发所述磁盘阵列管理模块控制 所述磁盘阵列的所有物理磁盘断电。9所述备份服务器中进一步包含计时器,该计时器在所述代理应用模块发送表示作业开始的通知后开始计时;当所述成功响应在计时器到达预设时间阈值之前接收到,则所述代理应 用模块执行所述通知备份应用模块开始执行备份作业/恢复作业的操作;当所述成功响应在计时器到达预设时间阈值之后接收到,则所述代理应 用模块进一步用于通知所述备份应用模块终止执行备份作业/恢复作业。所述磁盘阵列管理模块进一 步检测所有物理磁盘上电是否成功,并向所 述磁盘控制模块返回对应的检测结果;当所述^t盘阵列管理才莫块返回所有物理;兹盘上电成功的4企测结果时,所 述磁盘控制模块执行所述向代理应用模块返回成功响应的操作;当所述;兹盘阵列管理模块返回至少 一 个物理磁盘上电失败的4企测结果 时,所述磁盘控制模块进一步向所述代理应用模块返回失败响应;所述代理 应用模块进一步通知所述备份应用模块终止执行备份作业/恢复作业。所述磁盘控制模块中进一步设置有第一参数,用于表示所述磁盘阵列中 的所有物理磁盘是否全部处于上电状态;所述磁盘控制模块在触发所述磁盘阵列管理模块控制所有物理磁盘上 电之前,进一步判断所述第一参数的当前取值当所述第一参数表示所有物理磁盘未全部处于上电状态时,所述磁盘控 制模块执行触发所述磁盘阵列管理模块控制所有物理磁盘上电的操作;当所述第一参数的当前取值为表示所有物理磁盘均处于上电状态时,进 一步根据所述第 一参数的取值向所述代理应用模块返回成功响应。当所述第一参数表示所有物理磁盘未全部处于上电状态时,所述磁盘控 制模块进一 步根据所有物理磁盘上电成功的检测结果,将所述第 一 参数设置 为表示所有物理磁盘均处于上电状态的取值;当所述第一参数的当前取值为表示所有物理磁盘均处于上电状态时,所 述磁盘控制模块根据表示作业结束的通知,执行所述触发磁盘阵列管理模块 控制所有物理磁盘断电的操作,并进一步将所述第一参数设置为表示所有物理石兹盘未全部处于上电状态的取值。
所述磁盘控制模块中进一步设置有第二参数,用于表示已被触发但仍未
结束的所述备份作业和恢复作业的数量;
所述磁盘控制模块进一步在判断所述第一参数的当前取值之前判断所
述第二参数的取值;
当所述第二参数的当前取值为0时,所述磁盘控制模块执行判断所述第
一参数当前取值的操作;
当所述第二参数的当前取值大于0时,所述磁盘控制模块进一步根据所 述第二参数的取值向所述代理应用模块返回所述成功响应。
所述磁盘控制模块进一步在判断所述第二参数的取值之后将所述第二 参数的取值加1;
所述磁盘控制模块进一步在将触发磁盘阵列管理模块控制所有物理磁 盘断电之前,将所述并第二参数的取值减1,并在取值减1后的第二参数为 0时,再执行所述触发磁盘阵列管理模块控制所有物理磁盘断电的操作、以 及所述将第一参数设置为表示至少一个物理磁盘处于断电状态的取值的操 作。
本发明提供的 一种VTL设备中的磁盘电源控制方法,所述VTL设备包 含由若干物理磁盘构成的磁盘阵列,且所述VTL设备与包含有备份应用模 块的备份服务器相连,
在所述VTL设备中设置一磁盘控制模块,并在与该VTL设备相连的备 份服务器中设置一代理应用模块,
所述磁盘电源控制方法包括
a、 代理应用模块在备份应用模块的备份作业/恢复作业被触发时,向磁 盘控制模块发送表示作业开始的通知;
b、 磁盘控制模块根据所述表示作业开始的通知,触发所述VTL设备控 制所有物理磁盘上电;
c、 磁盘控制模块向所述代理应用模块返回成功响应;d、 代理应用模块根据所述成功响应,通知备份应用模块开始执行备份作业/恢复作业;e、 代理应用模块在备份应用模块的备份作业/恢复作业结束时,向磁盘 控制模块发送表示作业结束的通知;f、 磁盘控制模块根据所述表示作业结束的通知,触发所述VTL设备控 制所述;兹盘阵列的所有物理》兹盘断电。进一 步在所述代理应用模块中设置 一计时器; 所述步骤a进一步包括触发所述计时器计时;所述步骤c之后、所述步骤d之前,该方法进一步包括代理应用才莫块 判断所述成功响应是否在计时器到达预设时间阈值之前接收到,如果是,则 执行所述步骤d;否则,代理应用模块通知备份应用模块终止执行备份作业 /恢复作业并结束流程。所述步骤b之后、步骤c之前,该方法进一步包括检测所有物理磁盘 上电是否成功,如果是,则执行所述步骤c;否则,磁盘控制模块向代理应用模块返回失败响应,代理应用模块根据 所述失败响应通知备份应用模块终止执行备份作业/恢复作业,并结束流程。进一步设置第一参数,所述第一参数的取值表示所述磁盘阵列中的所有 物理磁盘是否处于上电状态;所述步骤a之后、所述步骤b之前,该方法进一步包括磁盘控制模块 判断所述第一参数的当前取值,如果所述第一参数表示所有物理磁盘未全部 处于上电状态则执行所述步骤b,如果所述第一参数的当前取值为表示所有 物理磁盘均处于上电状态,则直接执行所述步骤c。所述步骤c进一步包括将所述第一参数设置为表示所有物理磁盘均处 于上电状态的取值;所述步骤f进一步包括磁盘控制模块将所述第一参数设置为表示至少 一个物理磁盘处于断电状态的取值。进一步设置第二参数,所述第二参数的取值表示已被触发、但仍未结束
的所述备份作业和恢复作业的数量;
步骤a之后、所述磁盘控制模块判断所述第一参数的当前取值之前,该 方法进一步包括磁盘控制模块判断所述第二参数的取值,如果所述第二参 数的取值大于0,则直接执行步骤c;否则,执行所述判断所述第一参数当 前取值。
所述磁盘控制模块判断所述第二参数的取值之后,该方法进一步包括将 所述第二参数的取值加1;
所述步骤e之后、所述步骤f之前,该方法进一步包括磁盘控制模块 将所述第二参数的取值减1,并在取值减1后的第二参数为0时,执行所述 步骤f。
由上述技术方案可见,本发明在VTL设备中增加一个磁盘控制模块、 在备份服务器中增加一个代理应用模块。备份服务器中的代理应用模块在备 份作业/恢复作业被触发时,能够主动通知VTL设备中的磁盘控制模块在备 份作业/恢复作业运行前触发VTL设备对所有物理磁盘上电、在备份/恢复作 业结束后触发VTL设备对所有物理磁盘断电,从而无需VTL设备实时记录 每个物理磁盘的访问状况、无需VTL设备判断被访问的虚拟磁带所对应的 物理磁盘、也无需在VTL设备中将物理磁盘设置为緩存,即可通过对物理 磁盘的上电控制实现VTL设备的能耗节省。
而且,物理磁盘的上电过程在备份作业/恢复作业开始执行之前就已经. 完成,无需备份应用模块在备份作业/恢复作业的执行过程中进行等待,因 而提高了 VTL备份系统的整体性能。


图1为现有一种VTL备份系统的系统模型示意图2为本发明实施例中VTL备份系统的系统模型示意图3为本发明实施例中备份服务器与VTL设备针对磁盘电源控制的交互过程示意图;图4a为本发明实施例中备份服务器与数据读写相关部分的模型示意图;图4b为本发明实施例中VTL设备内部的SC的模型示意图; 图5为本发明实施例中备份服务器在作业开始时的工作流程示意图; 图6为本发明实施例中备份服务器在作业结束时的工作流程示意图; 图7为本发明实施例中VTL设备内部的SC的一种工作流程示意图; 图8为本发明实施例中VTL设备内部的SC的另一种工作流程示意图; 图9为本发明实施例中VTL设备的磁盘电源控制方法的示例性流程图; 图IO为本发明实施例中VTL设备的磁盘电源控制方法的具体流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 实施例,对本发明进一步详细i兌明。参见图2,在本发明中,VTL备份系统的结构架构与现有如图l所示的 相比,在VTL设备的SC中增加一个磁盘控制模块(Disk Control Module, DCM)、在备份服务器中增加一个代理应用模块(Agent)。其中,Agent为承载于备份服务器上一个应用程序,能够通过应用层接 口直接与DCM通信、且能够被备份应用模块调用,Agent用于根据备份应 用模块的备份作业/恢复作业的运行情况,向DCM下发表示备份作业/恢复 作业开始或结束的通知;DCM承载于VTL设备中并作为一个守护程序一直运行,DCM用于根 据Agent下发的通知触发VTL设备维护和控制物理》兹盘的上电和断电,并 响应Agent下发的通夕、口。Agent与DCM的具体交互过程请参见图3,由于备份作业与恢复作业 所涉及的Agent与DCM的具体交互过程相同,因此,图3中是以备份作业 为例,如图3所示a、 备份应用才莫块在备份作业被触发时调用Agent;
b、 AgenH皮调用后,向DCM下发表示作业开始的通知;
c、 DCM触发VTL设备控制磁盘阵列中的所有物理磁盘上电起转;
d、 磁盘阵列中的所有物理磁盘上电起转成功后,DCM向Agent返回成 功响应;
e、 Agent识别出成功响应后,通知备份应用模块开始执4亍备^f分作业;
f、 备份服务器与VTL设备之间执行备份数据的交互;
g、 备份应用模块在备份作业结束时再次调用Agent;
h、 Agent被再次调用后,向DCM下发表示作业结束的通知;
i、 DCM触发VTL设备控制;兹盘阵列中的所有物理-兹盘断电停转。 此外,如果磁盘阵列中的所有物理-兹盘上电起转失败,DCM还可以进
一步向Agent返回失败响应,而Agent识别出失败响应后,则会通知备4分应 用模块终止备份作业。需要说明的是,本文所述的所有物理磁盘上电起转失 败,是指所有物理磁盘未能全部成功上电起转。
这样,Agent在备份作业/恢复作业被触发时能够主动发起与DCM的直 接交互,以通知DCM在备份作业/恢复作业运行前触发VTL设备对所有物 理磁盘上电、在备份/恢复作业结束后触发VTL设备对所有物理磁盘断电, 从而无需RAID子系统实时记录每个物理》兹盘的访问状况、无需RAID子系 统判断被访问的虚拟磁带对应的物理磁盘、也无需在VTL设备中将物理磁 盘设置为用于临时存储数据缓存,即可通过对物理磁盘的上电控制实现VTL. 设备的能耗节省。
而且,物理磁盘的上电过程在备份作业/恢复作业开始执行之前就已经 完成,无需备份应用模块在备份作业/恢复作业的执行过程中进行等待,因 而避免了备份作业/恢复作业的执行过程中由于等待而出错,从而提高了 VTL备份系统的整体性能。
以下,结合备份服务器和VTL设备的内部具体结构,对本发明实施例 中的VTL备份系统进行详细说明。图4a为本发明实施例中备份服务器与数据读写相关部分的模型示意 图。如图4a所示,备份服务器中包括备份应用模块、磁带驱动、第一通信 接口 、第 一通信接口驱动、以及Agent。其中,磁带驱动、第 一通信接口 、 第 一通信接口驱动与现有技术中的相同。备份应用模块,用于在备份作业/恢复作业被触发时调用Agent;根据来 自Agent的通知,开始执行备份作业/恢复作业、或终止备份作业/恢复作业; 在备份作业/恢复作业结束时,再次调用Agent。其中,备份应用^t块可以在脚本中调用Agent。Agent,与VTL设备中的DCM通过一应用层接口相连,在被备份应用 模块调用、且备份作业/恢复作业被触发后,通过该应用层接口向DCM发送 表示作业开始的通知,以使得DCM能够触发VTL设备控制其所有物理磁盘 上电;通过该应用层4妻口4妄收来自DCM的成功响应或失败响应,并才艮据成 功响应通知备份应用模块开始执行备份作业/恢复作业、根据失败相应通知 备份应用模块终止备份作业/恢复作业;在被备份应用模块调用、且备份作 业/恢复作业结束后,通过该应用层接口向DCM发送表示作业结束的通知, 以使得DCM能够触发VTL设备控制其所有物理磁盘断电。其中,Agent与DCM之间的物理层传输路径为第 一通信接口 、 IP网络 或FC网络、以及VTL设备中的物理层接口。第一通信接口,可以为千兆以太网(GE)接口、 FC接口等任意一种与 IP网络或FC网络相连的物理接口,基于第一通信接口驱动、并通过IP网 络或FC网络传输Agent与VTL设备中的DCM之间的表示作业开始的通知、 表示业务结束的通知、成功响应、以及失败响应。且,备份应用模块还按照现有方式,通过磁带驱动识别VTL设备提供 的虚拟磁带;在执行备份作业时,通过第一通信接口驱动向第一通信接口发 送磁带格式的写请求、以及该写请求对应的备份数据;在执行恢复作业时, 通过第 一通信接口驱动向第 一通信接口发送磁带格式的读请求,并通过第一 通信接口驱动接收来自第 一通信接口的磁带格式的该读请求对应的备份数据。
第一通信接口还按照现有方式,通过IP网络或FC网络将来自备份应用 模块的磁带格式的读请求、写请求、以及该写请求对应的备份数据传输至
VTL设备;接收来自VTL设备的磁带格式的读请求对应的备份数据,并传 输至备份应用模块。
图4b为本发明实施例中VTL设备内部的SC的模型示意图。如图4b 所示,该SC包括第二通信接口、第二通信-接口驱动、VTL应用程序、作 为磁盘阵列管理模块的RAID子系统、以及DCM。其中,第二通信接口、 第二通信接口驱动、VTL应用程序与现有技术中的相同。
第二通信接口,可以为GE接口、 FC接口等任意一种与IP网络或FC 网络相连的物理接口,基于第二通信接口驱动、并通过IP网络或FC网络传 输DCM与备份服务器中的Agent之间的表示作业开始的通知、表示业务结 束的通知、成功响应、以及失败响应。
DCM,除了通过一应用层4妻口与Agent相连之外、还通过另一应用层 接口与RAID子系统相连,用于接收Agent下发的表示作业开始的通知,并 根据表示作业开始的通知,通过与RAID子系统之间的另一应用层接口触发 RAID子系统控制磁盘阵列中的所有物理磁盘上电;在RAID子系统成功控 制磁盘阵列中的所有物理磁盘上电后,DCM根据来自RAID子系统的所有 物理》兹盘上电成功的^r测结果,通过与Agent之间的应用层接口向Agent返 回成功响应;在RAID子系统控制磁盘阵列中的所有物理;兹盘上电失败后, DCM根据来自RAID子系统的至少一个物理-兹盘上电失败的检测结果,通 过与Agent之间的应用层接口向Agent返回失败响应;接收Agent下发的表 示作业结束的通知,并根据表示作业结束的通知,通过与RAID子系统之间 的另 一应用层接口触发RAID子系统控制磁盘阵列中的所有物理磁盘断电。
其中,DCM与Agent之间的物理层传输路径为第二通信接口、 IP网络 或FC网络、Agent所在备份服务器中的第一通信接口。
RAID子系统,用于在DCM的触发下控制f兹盘阵列中的所有物理;兹盘的上电和断电,并在上电成功和失败后通知DCM。且,第二通信接口还按照现有方式,通过IP网络或FC网络接收来自备 份服务器的磁带格式的读请求、写请求、以及写请求对应的备份数据,并将 磁带格式的读请求、写请求、以及写请求对应的备份数据通过第二通信接口 驱动传输至VTL应用程序;通过第二通信接口驱动接收来自VTL应用程序 的磁带格式的读请求所对应的备份数据,并通过IP网络或FC网络传输至备 份服务器。VTL应用程序则按照现有方式,将磁盘阵列中物理磁盘的可用存储空 间以虚拟磁带的形式呈现给备份服务器;将通过第二通信接口驱动接收自第 二通信接口的磁带格式的读请求、写请求、以及写请求对应的备份数据,转 换为磁盘格式后传输至RAID子系统;将来自RAID子系统的磁盘格式的读 请求所对应的备份数据,通过第二通信接口驱动传输至第二通信接口 。相应地,RAID子系统也按照现有方式,根据来自VTL应用程序的磁盘 格式的读请求,从物理磁盘中读取磁盘格式的该读请求所对应的备份数据, 并传输至VTL应用程序;根据来自VTL应用程序的磁盘格式的写请求,将 该写请求对应的备份数据写入至对应的物理磁盘中存储。此外,为了提高如图4a所示的Agent的可靠性,本实施例还可以在Agent 中进一步设置一计时器。Agent进一步在发送表示作业开始的通知后触发计 时器计时;在计时器到达预设时间阈值之前接收到来自DCM的成功响应, 则执行通知备份应用模块开始执行备份作业/恢复作业的.处理;否则,进一 步通知备份应用模块终止执行备份作业/恢复作业。这样,对于设置有计时器的Agent,备份服务器在业务开始时的工作流 牙呈可以如图5所示步骤501,备份应用模块在备份作业/恢复作业被触发时调用Agent;步骤502, Agent向VTL设备中的DCM下发表示业务开始的通知,并 触发计时器开始计时;步骤503, Agent等待DCM的响应,如果在计时器到达预设时间阈值18之前接收到来自DCM的成功响应,则执行步骤504;如果在计时器到达预 设时间阈值之前接收到来自DCM的失败响应、或在计时器到达预设时间阈 值之后仍未收到DCM的任何响应,则执行步骤506;
步骤504, Agent通知备份应用模块开始执行备份作业/恢复作业并退出 并执行步骤505;
步骤505,备份应用模块执行备份作业/恢复作业,且本流程结束; 步骤506、 Agent通知备份应用才莫块终止备份作业/恢复作业并退出并执 行步骤507;
步骤507,备份应用模块终止备份作业/恢复作业,且本流程结束。 此后,备份服务器在业务结束时的工作流程则可以不涉及Agent中设置 的计时器,该工作流程如图6所示
步骤601,备份应用模块在备份作业/恢复作业结束时调用Agent; 步骤602, Agent向VTLi殳备中的DCM下发表示业务结束的通知; 步骤603, Agent退出;
步骤604,备份应用模块继续执行除备份作业和恢复作业之外的其他作 业,本流程结束。
在本实施例中,由于如图4b所示的DCM是实时运行的一应用程序, 因此,为了便于实现,可以进一步在DCM中设置一全局上电状态参数 (Global Power Status, GPS )。其中,当GPS4时,表示磁盘阵列中的所 有物理磁盘均处于上电状态;GPS二0时,表示磁盘阵列中至少有一个物理磁 盘处于断电状态。
这样,DCM在接收Agent下发的表示作业开始的通知后,进一步判断 GPS的取值,如果GPS=1,则表示磁盘阵列中的所有物理磁盘均处于上电 状态,因而无需触发RAID子系统即可直4妻向Agent返回成功响应;如果 GPS=0,再触发RAID子系统控制;兹盘阵列中的所有物理-兹盘上电,并在 RAID子系统成功控制磁盘阵列中的所有物理磁盘上电后向Agent返回成功 响应、将GPS的取值设置为1;且,在接收Agent下发的表示作业结束的通
19知后,在触发RAID子系统控制;兹盘阵列中的所有物理^磁盘断电的同时,进一步将GPS设置为0。承载有上述设置了 GPS的DCM的SC,其工作流程可以如图7所示 步骤701, DCM与Agent通信,如果接收Agent下发的表示作业开始的通知则执行步骤702,如果接收Agent下发的表示作业结束的通知则执行步骤708;步骤702, DCM判断GPS的取值,如果GPS=1则执行步骤707,否则 执行步骤703;步骤703, DCM触发RAID子系统控制磁盘阵列中的所有物理;兹盘上电;步骤704, RAID子系统检查磁盘阵列中的所有物理-磁盘是否成功上电, 如果上电成功则执行步骤705,否则执行步骤706;步骤705, DCM根据来自RAID子系统的所有物理^兹盘上电成功的抬, 测结果,将GPS的取值设置为l,并执行步骤707;步骤706 , DCM根据来自RAID子系统的至少 一 个物理磁盘上电失败 的检测结果,向Agent返回失败响应,本流程结束;步骤707 , DCM向Agent返回成功响应,本流程结束;步骤708, DCM触发RAID子系统控制;兹盘阵列中的所有物理磁盘断 电,并执行步骤709;步骤709,磁盘阵列中的至少一个物理磁盘成功断电,DCM根据来自 RAID子系统的所有物理磁盘上电成功的检测结果,将GPS设置为O,本流 程结束。上述情况下,磁盘控制模块可以包括第一参数子模块、触发控制子模 块、响应生成子一莫块。触发控制子模块,用于根据表示作业开始的通知,触发RAID子系统控 制磁盘阵列中的所有物理磁盘上电;根据表示作业结束的通知,触发RAID 子系统控制磁盘阵列中的所有物理磁盘断电。响应生成子才莫块,用于根据来自RAID子系统的所有物理磁盘上电成功 的检测结果,向Agent发送成功响应;根据来自RAID子系统的至少一个物 理不兹盘上电失败的#全测结果,向Agent发送失败响应。第一参数子模块,其内部设置有GPS,用于接收来自Agent的表示作业 开始的通知和表示作业结束的通知;根据表示作业开始的通知,判断其内部 设置的GPS当前取值,如果GPS当前取值为0,则将表示作业开始的通知 发送至触发控制子模块,并将GPS设置为1;将接收到的表示作业结束的通 知直接发送至触发控制子模块,并将GPS重新设置为0。也就是说,触发控制子模块不是直接从Agent接收表示作业开始的通知 和表示作业结束的通知,而是通过第一参数子模块接收。此外,第一参数子模块在接收到来自Agent的表示作业开始的通知时, GPS已,皮设置为l,则由于此时的所有物理》兹盘已成功上电,因此,将本应 发送给触发控制子模块的表示作业开始的通知,转发至响应生成子模块。这样,响应生成子模块即可进一步根据表示作业开始的通知,直接向 Agent发送成功响应。而且,考虑到备份应用模块可能存在多个备份作业/恢复作业并发运行、 且多个并发运行的备份作业/恢复作业在时间上全部或部分重叠的情况,本 实施例还可以在DCM中进一步设置一并发作业数量参数(Parallel Job, PJ )。 其中,PJ的取值表示备份应用模块当前的并发备份作业和恢复作业的总数 量。这样,DCM在接收Agent下发的表示作业开始的通知后,进一步判断 PJ的取值,如果PJ大于O,则表示之前已有备份作业/恢复作业被触发、且 磁盘阵列中的所有物理磁盘均处于上电状态、GPS必然等于1,因而无需判 断GPS的取值、也无需执行触发RAID子系统控制物理;兹盘上电的^喿作即 可直接向Agent返回成功响应,并将PJ的取值力。1;如果PJ等于0,则表 示备份应用模块当前被触发的备份作业/恢复作业为第 一个作业,因而按照 如前所述的方式判断GPS的取值;且,在接收Agent下发的表示作业结束的通知后,进一步将PJ的取值减1之后再判断PJ的取值是否为0,如果是,则触发RAID子系统控制磁盘阵列中的所有物理磁盘断电的同时将GPS设 置为0,如果PJ的取值减l之后仍大于O,则表示仍有作业正在执行中,不 执行触发RAID子系统控制磁盘阵列中的所有物理磁盘断电的操作,等待下 一次表示作业结束的通知。承载有上述设置了 GPS和PJ的DCM的SC,其工作流程可以如图8所示步骤801 (与步骤701相同),DCM与Agent通信,如果接收Agent 下发的表示作业开始的通知则执行步骤802,如果接收Agent下发的表示作 业结束的通知则执行步骤810;步骤802, DCM判断PJ的取值,如果PJ大于0则执行步骤803,否则 执行步骤804;步骤803, DCM将PJ的取值加l,并执行步骤809;步骤804 (与步骤702相同),DCM判断GPS的取值,如果GPS=1则 执行步骤809,否则执行步骤805;步骤805 (与步骤703相同),DCM触发RAID子系统控制磁盘阵列 中的所有物理》兹盘上电;步骤806 (与步骤704相同),RAID子系统;险查^t盘阵列中的所有物 理磁盘是否成功上电,如果上电成功则执行步骤807,否则执行步骤808;步骤807, DCM将GPS的取值设置为1、并将PJ的取值加1,并执行 步骤809;步骤808 (与步骤706相同),DCM向Agent返回失败响应,本流程 结束;步骤809 (与步骤707相同),DCM向Agent返回成功响应,本流程结束;步骤810,将PJ的取值减1,并执行步骤811;步骤811,判断在步骤810减l后的PJ取值是否等于O,如果是则执行步骤812;否则,返回步骤801;步骤812 (与步骤708相同),DCM触发RAID子系统控制;兹盘阵列 中的所有物理;兹盘断电,并然后执行步骤813;步骤813 (与步骤709相同),^兹盘阵列中的至少一个物理^兹盘成功断 电,DCM将GPS设置为O,本流程结束。上述情况下,DCM中还可以进一步包括第二参数子模块,其内部设置 有PJ,用于4妻收来自Agent的表示作业开始的通知和表示作业结束的通知; 根据表示作业开始的通知,判断其内部设置的PJ当前取值是否为O,如果是, 则将表示作业开始的通知发送至第一参数子模块,并将PJ的当前取值加1, 否则,PJ大于0即表示GPS等于1、无需第一参数子模块再判断,因而将 本应发送给第一参数子模块的表示作业开始的通知,转发至响应生成子模 块;根据接收到的表示作业结束的通知,并将PJ的当前取值减l,并在取值 减1后的PJ等于0时再将表示作业结束的通知发送至第一参数子模块。也就是说,第 一参数子模块也不是直接从Agent接收表示作业开始的通 知和表示作业结束的通知,而是通过第二参数子模块接收。以上,是对本发明实施例中VTL备份系统的详细说明。下面,在对本 发明实施例中VTL设备的磁盘电源控制方法进行说明。图9为本发明实施例中VTL设备的磁盘电源控制方法的示例性流程图。 如图9所示,基于如图2所示的VTL备份系统,本实施例中VTL设备的磁 盘电源控制方法包括 .步骤901, Agent在备份应用模块的备份作业/恢复作业被触发时,向 DCM发送表示作业开始的通知。步骤902, DCM根据所述表示作业开始的通知,触发VTL设备中的 RAID子系统控制》兹盘阵列中的所有物理;兹盘上电。步骤903, DCM才艮据RAID子系统对不兹盘阵列中的所有物理石兹盘上电 状态的检查结果,判断磁盘阵列中的所有磁盘是否均成功上电,如果是,则 执行步骤904,否则执行步骤906。步骤904, VTL设备磁盘阵列中的所有物理磁盘均上电成功,DCM向 Agent返回成功响应,并执行步骤905。步骤905, Agent根据成功响应,通知备份应用模块开始执行备份作业/ 恢复作业,并执行步骤906。此外,在步骤901之前,还可以在Agent中设置一计时器,这种情况下, 在步骤901,还可以由Agent触发计时器计时;且需要本步骤在计时器到达 预设时间阈值之前执行,而如果Agent在计时器到达预设时间阈值之前仍未 接收到来自DCM的成功响应,则由Agent通知备份应用模块终止执行备份 作业/恢复作业。步骤906, Agent在备份应用模块的备份作业/恢复作业结束时,向DCM 发送表示作业结束的通知,并执行步骤907。步骤907, DCM根据表示作业结束的通知,触发VTL设备中的RAID 子系统控制所有物理;兹盘断电,并结束本流程。步骤908, VTL设备的磁盘阵列中至少有一块物理磁盘上电失败,DCM 向Agent返回失败响应,并才丸行步骤909。步骤909, Agent根据失败响应,通知备份应用模块终止执行备份作业/ 恢复作业,并结束本流程。至此,本流程结束。上述流程是针对一个备份作业/恢复作业的处理流程,对于多个备份作 业/恢复作业的情况,并行执行多个如上所述的流程。此外,上述流程开始之前可以进一步在DCM中设置GPS。其中,当 GPS=1时,表示磁盘阵列中的所有物理/磁盘均处于上电状态;GPS=0时, 表示磁盘阵列中至少有一个物理磁盘处于断电状态。这样,参见图10,在步骤901之后、步骤902之前,可以进一步执行 DCM判断GPS是否为1的步骤901a;步骤901a的判断结果为GPS的取值 为1,则可以跳过步骤902和903而直接执行步骤904;否则,再从步骤902 开始执行后续步骤,并在执行步骤904的同时,进一步执行将GPS的取值设置为l的步骤904a。并且,在步骤907的同时,进一步执行DCM将GPS 的取值设置为0的步骤907a。进一步地,在设置有GPS的情况下,考虑到备份应用模块可能存在多 个备份作业/恢复作业并发运行、且多个并发运行的备份作业/恢复作业在时 间上全部或部分重叠的情况,上述流程开始之前还可以在DCM中再设置参 数PJ。其中,PJ的取值表示备份应用模块当前的并发备份作业和恢复作业 的总数量。这样,仍参见图10,在步骤901之后、步骤901a之前,可以先进一步 执行DCM判断PJ的取值是否大于0的步骤901b;如果步骤901b的判断结 果为PJ的取值大于0,则进一步执行DCM将PJ的取值加1的步骤901c, 然后跳过步骤901a、以及步骤902和903直接执行步骤904;否则,再从步 骤901a开始执行后续步骤。并且,在步骤906之后、步骤907之前,还可 以进一步执行DCM将PJ的取值减1的步骤906a、以及DCM判断取值减1 后的PJ是否等于0的步骤906b,在步骤906b的判断结果为取值减1后的 PJ等于0则再执行步骤907、以及步骤907a,否则结束流程。如图10所示的流程是针对一个备份作业/恢复作业的处理流程,对于多 个备份作业/恢复作业的情况,可针对每一个备份作业/恢复作业并行执行多 个该流程。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围。凡在本发明的精神和原则.之内,所作的任何修改、等同替换以及改进等, 均应包含在本发明的保护范围之内。
权利要求
1、一种虚拟磁带库VTL备份系统,包括VTL设备和备份服务器,其中,VTL设备包含存储控制器SC、以及由若干物理磁盘构成的磁盘阵列;SC中包含有磁盘阵列管理模块,用于实现备份服务器对磁盘阵列的读写操作,并控制所有物理磁盘的上电和断电;备份服务器中包含有备份应用模块,用于在执行备份作业被触发时向磁盘阵列写入数据,在执行恢复作业被触发时从磁盘阵列读取数据;其特征在于,所述SC中还包括磁盘控制模块、且所述备份服务器中还包含有代理应用模块;所述代理应用模块,用于在所述备份应用模块的备份作业/恢复作业被触发时,向所述磁盘控制模块发送表示作业开始的通知;在所述备份应用模块的备份作业/恢复作业结束时,向所述磁盘控制模块发送表示作业结束的通知;在接收到来自所述磁盘控制模块的成功响应后,通知所述备份应用模块开始执行备份作业/恢复作业;所述磁盘控制模块,用于根据接收到的表示作业开始的通知,触发所述磁盘阵列管理模块控制所有物理磁盘上电,并向所述代理应用模块返回成功响应;根据接收到的表示作业结束的通知,触发所述磁盘阵列管理模块控制所述磁盘阵列的所有物理磁盘断电。
2、如权利要求l所述的系统,其特征在于,所述备份服务器中进一步 包含计时器,该计时器在所述代理应用模块发送表示作业开始的通知后开始计时;当所述成功响应在计时器到达预设时间阈值之前接收到,则所述代理应用模块执行所述通知备份应用模块开始执行备份作业/恢复作业的操作;当所述成功响应在计时器到达预设时间阈值之后接收到,则所述代理应 用模块进一步用于通知所述备份应用模块终止执行备份作业/恢复作业。
3、 如权利要求1或2所述的系统,其特征在于,所述磁盘阵列管理模块进一 步检测所有物理磁盘上电是否成功,并向所 述磁盘控制模块返回对应的检测结果;当所述石兹盘阵列管理模块返回所有物理;磁盘上电成功的4企测结果时,所 述磁盘控制模块执行所述向代理应用模块返回成功响应的操作;当所述磁盘阵列管理模块返回至少一个物理磁盘上电失败的检测结果 时,所述磁盘控制模块进一步向所述代理应用模块返回失败响应;所述代理 应用模块进一 步通知所述备份应用模块终止执行备份作业/恢复作业。
4、 如权利要求3所述的系统,其特征在于,所述磁盘控制模块中进一 步设置有第一参数,用于表示所述磁盘阵列中的所有物理磁盘是否全部处于 上电状态;所述磁盘控制模块在触发所述磁盘阵列管理模块控制所有物理磁盘上 电之前,进一步判断所述第一参数的当前取值当所述第一参数表示所有物理磁盘未全部处于上电状态时,所述磁盘控 制模块执行触发所述磁盘阵列管理模块控制所有物理磁盘上电的操作;当所述第一参数的当前取值为表示所有物理磁盘均处于上电状态时,进 一步根据所述第一参数的取值向所述代理应用模块返回成功响应。
5、 如权利要求4所述的系统,其特征在于,当所述第 一 参数表示所有物理磁盘未全部处于上电状态时,所述磁盘控 制模块进一 步根据所有物理磁盘上电成功的检测结果,将所述第 一 参数设置 为表示所有物理磁盘均处于上电状态的取值;当所述第 一参数的当前取值为表示所有物理磁盘均处于上电状态时,所 述磁盘控制模块根据表示作业结束的通知,执行所述触发磁盘阵列管理模块 控制所有物理磁盘断电的操作,并进一步将所述第一参数设置为表示所有物 理磁盘未全部处于上电状态的取值。
6、 如权利要求4所述的系统,其特征在于,所述磁盘控制模块中进一 步设置有第二参数,用于表示已被触发但仍未结束的所述备份作业和恢复作业的数量;所述磁盘控制模块进一步在判断所述第一参数的当前取值之前判断所 述第二参数的取值;当所述第二参数的当前取值为0时,所述磁盘控制模块执行判断所述第 一参数当前取值的操作;当所述第二参数的当前取值大于0时,所述磁盘控制模块进一步根据所 述第二参数的取值向所述代理应用模块返回所述成功响应。
7、 如权利要求6所述的系统,其特征在于,所述磁盘控制模块进一步在判断所述第二参数的取值之后将所述第二 参数的取值加1;所述磁盘控制模块进一步在将触发磁盘阵列管理模块控制所有物理磁 盘断电之前,将所述并第二参数的取值减1,并在取值减1后的第二参数为 0时,再执行所述触发磁盘阵列管理模块控制所有物理磁盘断电的操作、以 及所述将第一参数设置为表示至少一个物理磁盘处于断电状态的取值的操 作。
8、 一种虚拟磁带库VTL设备中的磁盘电源控制方法,所述VTL设备 包含由若干物理磁盘构成的》兹盘阵列,且所述VTL设备与包含有备份应用 模块的备份服务器相连,其特征在于,在所述VTL设备中设置一磁盘控制模块,并在与该VTL 设备相连的备份服务器中设置 一代理应用模块, 所述^f兹盘电源控制方法包括a、 代理应用模块在备份应用模块的备份作业/恢复作业被触发时,向磁 盘控制模块发送表示作业开始的通知;b、 磁盘控制模块根据所述表示作业开始的通知,触发所述VTL设备控 制所有物理磁盘上电;c、 磁盘控制模块向所述代理应用模块返回成功响应;d、 代理应用模块根据所述成功响应,通知备份应用模块开始执行备份作业/恢复作业;e、 代理应用模块在备份应用模块的备份作业/恢复作业结束时,向磁盘 控制模块发送表示作业结束的通知;f、 磁盘控制模块根据所述表示作业结束的通知,触发所述VTL设备控 制所述;兹盘阵列的所有物理;兹盘断电。
9、 如权利要求8所述的方法,其特征在于,进一步在所述代理应用模 块中设置一计时器;所述步骤a进一步包括触发所述计时器计时;所述步骤c之后、所述步骤d之前,该方法进一步包括代理应用模块 判断所述成功响应是否在计时器到达预设时间阈值之前接收到,如果是,则 执行所述步骤d;否则,代理应用模块通知备份应用模块终止执行备份作业 /恢复作业并结束流程。
10、 如权利要求8或9所述的方法,其特征在于, 所述步骤b之后、步骤c之前,该方法进一步包括检测所有物理;兹盘上电是否成功,如果是,则执行所述步骤c;否则,磁盘控制模块向代理应用模块返回失败响应,代理应用模块根据 所述失败响应通知备份应用模块终止执行备份作业/恢复作业,并结束流程。
11、 如权利要求10所述的方法,其特征在于,进一步设置第一参数, 所述第一参数的取值表示所述磁盘阵列中的所有物理磁盘是否处于上电状态;所述步骤a之后、所述步骤b之前,该方法进一步包括磁盘控制模块 判断所述第 一参数的当前取值,如果所述第 一参数表示所有物理磁盘未全部 处于上电状态则执行所述步骤b,如果所述第一参数的当前取值为表示所有 物理磁盘均处于上电状态,则直接执行所述步骤c。
12、 如权利要求11所述的方法,其特征在于,所述步骤c进一步包括将所述第一参数设置为表示所有物理磁盘均处于上电状态的取值;所述步骤f进一步包括磁盘控制模块将所述第一参数设置为表示至少 一个物理》兹盘处于断电状态的取值。
13、 如权利要求12所述的方法,其特征在于,进一步设置第二参数, 所述第二参数的取值表示已被触发、但仍未结束的所述备份作业和恢复作业 的数量;步骤a之后、所述磁盘控制模块判断所述第一参数的当前取值之前,该 方法进一步包括磁盘控制模块判断所述第二参数的取值,如果所述第二参 数的取值大于0,则直接执行步骤c;否则,执行所述判断所述第一参数当 前取值。
14、 如权利要求13所述的方法,其特征在于,所述磁盘控制模块判断所述第二参数的取值之后,该方法进一步包括将 所述第二参数的取值加1;所述步骤e之后、所述步骤f之前,该方法进一步包括磁盘控制模块 将所述第二参数的取值减1,并在取值减1后的第二参数为0时,执行所述 步骤f。
全文摘要
本发明公开了一种虚拟磁带库(VTL)备份系统、以及一种VTL设备中的磁盘电源控制方法。本发明在VTL设备中增加一个磁盘控制模块、在备份服务器中增加一个代理应用模块。备份服务器中的代理应用模块在备份作业/恢复作业被触发时,能够主动通知VTL设备中的磁盘控制模块在备份作业/恢复作业运行前触发VTL设备对所有物理磁盘上电、在备份/恢复作业结束后触发VTL设备对所有物理磁盘断电,从而无需VTL设备实时记录每个物理磁盘的访问状况、无需VTL设备判断被访问的虚拟磁带所对应的物理磁盘、也无需在VTL设备中将物理磁盘设置为缓存,即可通过对物理磁盘的上电控制实现VTL设备的能耗节省。
文档编号H04L29/08GK101325610SQ200810117449
公开日2008年12月17日 申请日期2008年7月30日 优先权日2008年7月30日
发明者上官应兰 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1