用于向本地物理卷复制远程虚拟卷的装置和方法

文档序号:6606300阅读:157来源:国知局
专利名称:用于向本地物理卷复制远程虚拟卷的装置和方法
技术领域
本发明涉及用于向计算设备的本地阵列站点复制远程虚拟阵列站点的方法和系 统。
背景技术
远程虚拟阵列站点向用户呈现数据和/或文件,其中数据或文件从一个或多个远 程物理数据存储设备或者阵列提取。尽管可能存在采用这种虚拟阵列站点的多种实践原 因,但是,当代之以使用请求计算设备的本地存储设备/介质来保存数据时,性能通常将得 到增强。使用现有技术的方法,远程虚拟阵列站点向主机计算机的本地阵列站点的转换倾 向于困难、耗时和易错。而且,由于需要一个或多个信息技术专业人员的技能,因此现有技 术的人工方法非常昂贵。

发明内容
提出一种用来向本地物理卷复制远程虚拟卷的自动方法。该方法提供一种复制算 法,其包括可由可编程计算机处理器使用的计算机可读程序代码,用于向(N)个本地物理 卷复制(N)个远程虚拟卷,使得与这(N)个本地物理卷通信的计算设备能够从每个本地复 制的虚拟卷读取数据或者向其写入数据,而无需修改卷指派,并且无需重新配置该计算设 备与所述(N)个本地物理卷通信。提出一种存储控制器,其中提出了该存储控制器包括编码在部署于其中的计算机 可读介质中的计算机可读程序代码,用于向本地物理卷复制远程虚拟卷。该计算机可读程 序代码可由可编程计算机处理器来使用,以用于向(N)个本地物理卷复制(N)个远程虚拟 卷,使得与这(N)个本地物理卷通信的计算设备能够从每个本地复制的虚拟卷读取数据或 者向其写入数据,而无需修改卷指派,并且无需重新配置该计算设备与所述(N)个本地物 理卷通信。提出一种复制算法,其中提出了该复制算法包括编码在部署于其中的计算机可读 介质中的计算机可读程序代码,用于向本地物理卷复制远程虚拟卷。该复制算法可由可编 程计算机处理器来使用,用于向(N)个本地物理卷复制(N)个远程虚拟卷,使得与这(N)个 本地物理卷通信的计算设备能够从每个本地复制的虚拟卷读取数据或者向其写入数据,而 无需修改卷指派,并且无需重新配置该计算设备以便与所述(N)个本地物理卷通信。


通过结合附图阅读下文详细描述,将会更好地理解本发明,其中在附图中类似的 标号用来指示类似的元素,并且其中图1是示出申请人的数据存储库的单元的框图;图2是示出与诸如图1的数据存储库的存储控制器进行通信的计算设备的框图,
5其中该存储控制器向该计算设备呈现多个虚拟卷;图3是示出与本地物理存储阵列通信的图2中计算设备的框图;图4是示出被映射到图3的本地物理阵列上的图2中虚拟卷的框图;图5A是概括申请人方法中的特定步骤的流程图;图5B是概括申请人方法中的附加步骤的流程图;以及图6是概括申请人方法中的附加步骤的流程图。
具体实施例方式本发明在参考附图的下文描述中的优选实施方式中进行描述,在附图中类似的标 号表示相同或者类似的元素。贯穿本说明书,提及的“ 一个实施方式”、“实施方式,,或者类 似语言意指结合该实施方式描述的特定特征、结构或者特点被包括在本发明的至少一个 实施方式中。由此,贯穿本说明,短语“在一个实施方式中”、“在实施方式中”以及类似语言 的出现可以但并非必然表示相同的实施方式。所描述的本发明的特征、结构或者特点可以按照任何适当的方式结合在一个或多 个实施方式中。在下面的描述中,记载了多个特定的细节以便给出对本发明实施方式的透 彻理解。然而,相关领域的技术人员将会认识到,可以在没有一个或多个特定细节的情况下 实践本发明,或者可以利用其他方法、组件、材料等来实践本发明。在其他情况下,没有示出 或者详细描述公知的结构、材料或者操作,以避免混淆本发明的各个方面。所包括的示意性流程图通常作为逻辑流程图来记载(例如,图5A、图5B和图6)。 这样,所描绘的顺序和标示的步骤表示所提出方法的一个实施方式。可以设想到与所示出 的方法的一个或多个步骤或其部分的功能、逻辑或者效果等效的其他步骤和方法。而且,提 供所采用的格式和符号是为了解释方法的逻辑步骤,并且不应被理解为限制方法的范围。 尽管在流程图中可能使用了各种箭头类型和线类型,但是其不应被理解为限制对应方法的 范围(图5A、图5B和图6)。实际上,可以使用某些箭头或者其他连接符来仅指示方法的逻 辑流。例如,箭头可以指示在所描绘方法的所枚举步骤之间的未指定持续时间的等待或者 监控时段。而且,特定方法进行的顺序可以严格遵循示出的相应步骤的顺序,也可以不严格 遵循。本说明书中描述的某些功能单元已经被标示为模块(例如,虚拟化模块139),以 便更为具体地强调其实现独立性。例如,虚拟化模块139可以实现为硬件电路,包括定制 VLSI电路或者门阵列、诸如逻辑芯片、晶体管或者其他离散组件之类的现有半导体。虚拟化 模块139还可以通过可编程硬件器件来实现,例如现场可编程门阵列、可编程阵列逻辑、可 编程逻辑器件等。虚拟化模块139还可以通过供各类处理器执行的软件来实现。可执行代码的已标 识模块例如可以包括计算机指令的一个或多个物理或逻辑块,其例如可以被组织为对象、 过程或者函数。无论怎样,虚拟化模块139的可执行文件无需在物理上放在一起,而是可以 包括存储在不同位置的不同指令,当这些指令在逻辑上结合在一起时,其包括该模块并且 实现该模块的规定目的。实际上,虚拟化模块139可以是单个指令或者多个指令,并且甚至可以在多个不 同代码段上、在不同的程序之间以及跨多个存储器设备来分布。类似地,可操作数据在此可以在模块中标识和说明,可以按照任何适当的形式来具体化,并且被组织在任何适当类 型的数据结构中。可操作数据可以作为单个数据集被收集,或者可以在不同的位置上(包 括在不同的存储设备上)分布,并且可以至少部分地仅作为系统或网络上的电子信号而存在。在图2示出的实施方式中,计算设备210包括处理器212和计算机可读介质214, 其中将计算机可读程序代码138 (图1、图2、图3、图4)在计算机可读介质214中编码。在 某些实施方式中,计算设备210包括主机计算机、个人计算机、工作站及其组合,其包括诸 如Windows、AIX、Unix、MVS、LINUX等等之类的操作系统(Windows是微软公司的注册商标; AIX是注册商标,并且MVS是IBM公司的商标;UNIX是通过开放团体唯一许可的在美国和其 他国家中的注册商标;并且LINUX是Linux Torvald的注册商标)。在某些实施方式中,计算设备210生成数据,并且经由通信架构250向存储控制器 200提供该数据。在某些实施方式中,通信架构包括一个或多个交换机255。在某些实施方 式中,这一个或多个交换机255包括一个或多个传统路由器交换机。在图2所示的实施方式 中,一个或多个交换机255使用任意类型的I/O接口(例如光纤通道(“FC”)、无线带宽、 千兆以太网、以太网、TCP/IP、iSCSI、SCSI I/O接口)或者由交换机255使用的一个或多个 信号线将计算设备210与存储控制器200互连,以传送通过、去往或来自存储控制器200以 及随后多个物理数据存储设备的信息。申请人:的存储控制器200包括虚拟化模块139,其中虚拟化模块139使用在多个物 理数据存储设备中编码的数据来创建虚拟卷220、230和240。由计算设备210提供并且在 多个物理数据存储设备中编码的数据作为虚拟卷220、230和240向计算设备210呈现。虚 拟卷220包括卷标识符224、多个文件222、卷大小226 (作为示例而非限制,包括兆字节和 十亿字节)以及卷配置228。在某些实施方式中,配置228包括RAID协议。类似地,虚拟 卷230和240分别包括卷标识符234和244、分别包括多个文件232和242、分别包括卷大 小236和246以及分别包括卷配置238和248。这里提及的“文件”应被理解为意指存储空间的块。在某些实施方式中,存储空间 的这种块的大小由编码于存储空间的该块中的数据的所有者来确定。在某些实施方式中, 存储空间中这种块的大小由与包括该存储空间块的数据存储设备通信的存储控制器的所 有者和/或操作者来确定。类似地,在此提及的“多个文件”意指存储空间的多个任意定义 的块。现在参考图1,在某些实施方式中,存储控制器200包括数据存储库,作为示例而 非限制,例如数据存储库100。在某些实施方式中,数据存储库100包括第一簇IOlA和第二 簇101B,其中簇IOlA和IOlB部署在相同的外壳中。在图1所示的实施方式中,数据存储库 100包括多个主机适配器102-105、107-110、112-115以及117-120,其部署在四个主机隔间 101、106、111和116中。在其他实施方式中,数据存储系统包括少于16个主机适配器。不 论部署在系统的任何实现中的主机适配器的数目,这些主机适配器中的每一个都包括共享 资源,其具有对中央处理/高速缓存元件130和140 二者的等同访问权。每个主机适配器可以包括一个或多个光纤通道端口、一个或多个FICON端口、一 个或多个ESCON端口或者一个或多个SCSI端口。每个主机适配器通过互连总线121连接 至簇IOlA和IOlB 二者,使得每个簇都可以处理来自任何主机适配器的1/0,并且使得任一簇的存储控制器部分可以监控针对与数据存储库100互连的、物理的和/或逻辑的每个通 信路径的通信路径错误率。存储控制器部分130包括处理器132、计算机可读介质133、高速缓存134以及非 易失性存储(“NVS”)136。在某些实施方式中,计算机可读介质133包括随机访问存储器。 在某些实现中,计算机可读介质133包括非易失性存储器。存储控制器部分140包括处理器142、计算机可读介质133、高速缓存144以及 NVS146。在某些实施方式中,计算机可读介质143包括随机访问存储器。在某些实施方式 中,计算机可读介质包括非易失性存储器。I/O部分160包括多个设备适配器,诸如设备适配器165、166、167和168。I/O部 分170进一步包括多个设备适配器,诸如设备适配器175、176、177和178。在系统的某些实施方式中,一个或多个主机适配器、存储控制器部分130以及一 个或多个设备适配器被一起封装在部署于数据存储系统中的单个卡上。类似地,在某些实 施方式中,一个或多个主机适配器、存储控制器部分140以及一个或多个设备适配器被部 署在部署于数据存储系统中的另一卡上。在这些实施方式中,系统100包括与多个数据存 储设备互连的两个卡。在图1所示的实施方式中,16个物理数据存储设备被组织成两个阵列。在其他实 施方式中,数据存储系统包括多于两个物理存储设备阵列。在某些实施方式中,对于计算设 备而言,每个物理存储阵列作为一个或多个虚拟卷220、230和/或240而出现。在某些实施方式中,阵列180和/或190使用RAID(独立磁盘冗余阵列)协议。 在某些实施方式中,阵列180和/或190包括所谓的JBOD阵列,也即“Just a Bunch Of Disks (集束磁盘)”,其中阵列不是按照RAID来配置的。本领域的技术人员将会理解,RAID 组包括配置在磁盘驱动阵列中的独立磁盘驱动,以获得超过单个大驱动的性能、容量和/ 或可靠性。图5A和图5B概括了申请人的方法的初始步骤,该方法用于通过算法而非人工地 向相应的多个本地物理卷复制多个远程虚拟卷。现在参考图5A,在步骤510中,该方法提 供(N)个虚拟卷,其中(N)大于或等于1,作为示例而非限制,例如提供虚拟卷220 (图2、 图3)、230 (图2、图3)和240 (图2、图3),其中诸如计算设备210 (图2、图3、图4)之类的 计算设备可以从这些虚拟卷读取数据以及向这些虚拟卷写入数据,并且其中虚拟卷对于计 算设备而言是远程的。发明人所说的“对于计算设备而言是远程的”意指计算设备仅可通 过使用通信架构或者网络(诸如通信架构250和/或因特网)来访问虚拟卷。在某些实施 方式中,步骤510的计算设备可以使用通信架构或者因特网来访问步骤510的虚拟卷,从而 与诸如存储控制器200之类的存储控制器进行通信,其中存储控制器包括诸如虚拟化模块 139之类的虚拟化模块,其中该虚拟化模块向主机计算机呈现虚拟卷。在步骤515中,该方法确定(N)的值。在某些实施方式中,步骤515由步骤510的 计算设备来执行。在某些实施方式中,步骤515由部署于步骤510的计算设备中的计算机 可读介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤515由部署在与 步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所编码的申请人的复 制算法来执行。在步骤520中,该方法逐一地选择每个远程虚拟卷。在某些实施方式中,步骤520由步骤510的计算设备来执行。在某些实施方式中,步骤520由部署于步骤510的计算设 备中的计算机可读介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤520 由部署在与步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所编码的 申请人:的复制算法来执行。在步骤525中,针对(i)的每个值,该方法确定第(i)卷标识符,诸如卷标识符224 或者234或者244,其中(i)大于或等于1,并且小于或等于(N)。在某些实施方式中,步骤 525由步骤510的计算设备来执行。在某些实施方式中,步骤525由部署于步骤510的计算 设备中的计算机可读介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤 525由部署在与步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所编码 的申请人的复制算法来执行。在步骤530,针对(i)的每个值,该方法确定第(i)卷大小,诸如卷大小226或236 或246。在某些实施方式中,步骤530由步骤510的计算设备来执行。在某些实施方式中, 步骤530由部署于步骤510的计算设备中的计算机可读介质中所编码的申请人的复制算法 来执行。在某些实施方式中,步骤530由部署在与步骤510的计算设备进行通信的存储控 制器中的计算机可读介质中所编码的申请人的复制算法来执行。在步骤535中,针对(i)的每个值,该方法确定第(i)卷配置,诸如卷配置228或 238或248。在某些实施方式中,步骤535由步骤510的计算设备来执行。在某些实施方式 中,步骤535由部署于步骤510的计算设备中的计算机可读介质中所编码的申请人的复制 算法来执行。在某些实施方式中,步骤535由部署在与步骤510的计算设备进行通信的存 储控制器中的计算机可读介质中所编码的申请人的复制算法来执行。在图2所示的实施方式中,计算设备210没有与任何本地物理卷通信。相反,在存 储控制器200包括数据存储库100的实施方式中,计算设备只能对远程物理存储设备(作 为示例而非限制,例如物理存储阵列180和/或物理存储阵列190)进行数据的读取和/或 写入。在某些实施方式中,计算设备210可以被重新定位到不同的地理位置,作为示例 而非限制,例如奥运会、政治性会议、政治候选人辩论、葬礼、典礼等。在这种实施方式中,计 算设备可能无法访问任何本地存储设备。然而,使用图1和图2中所示的实施方式,计算设 备210可以将计算设备210生成的数据保存至远程物理存储阵列180和/或190,其中该数 据作为一个或多个虚拟卷220、230和/或240来向计算设备呈现。非限制性地,申请人所 说的“数据”意指文本文件、图片文件、媒体文件、声音文件等。在计算设备210临时部署期满的情况下,计算设备210可以被移动到不同的位置, 其中计算设备210可以访问新位置处的本地存储设备。例如,在图3所示的实施方式中,计 算设备与本地物理存储阵列320通信。在某些实施方式中,本地物理存储阵列320与计算 设备210是一体的。在某些实施方式中,本地物理存储阵列320与计算设备210部署在相 同的建筑内。在某些实施方式中,本地物理存储阵列320定位在与计算设备210不足大约 1公里处。在某些实施方式中,本地物理存储阵列320包括多个数据存储设备,每个包括磁 性数据存储介质,并结合有向该磁性数据存储介质写入数据以及从其读取数据所需的硬 件、固件和/或软件。
9
在某些实施方式中,本地物理存储阵列320包括多个数据存储设备,每个包括光 学数据存储介质,并结合有向该光学数据存储介质写入数据以及从其读取数据所需的硬 件、固件和/或软件。在某些实施方式中,本地物理存储阵列320包括多个数据存储设备,每个包括电 子数据存储介质,并结合有向该电子数据存储介质写入数据以及从其读取数据所需的硬 件、固件和/或软件。在某些实施方式中,本地物理存储阵列320包括多个数据存储设备,每个包括全 息数据存储介质,并结合有向该全息数据存储介质写入数据以及从其读取数据所需的硬 件、固件和/或软件。参考图5B,在步骤540中,该方法设置轮询时间间隔。在某些实施方式中,步骤540 由步骤510的计算设备来执行。在某些实施方式中,步骤540由部署于步骤510的计算设 备中的计算机可读介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤540 由部署在与步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所编码的 申请人:的复制算法来执行。在步骤545中,该方法设置轮询时间间隔周期的数目(P)。在某些实施方式中,步 骤545由步骤510的计算设备来执行。在某些实施方式中,步骤545由部署于步骤510的 计算设备中的计算机可读介质中所编码的申请人的复制算法来执行。在某些实施方式中, 步骤545由部署在与步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所 编码的申请人的复制算法来执行。在步骤550中,该方法将(j)设置为1。在某些实施方式中,步骤550由步骤510 的计算设备来执行。在某些实施方式中,步骤550由部署于步骤510的计算设备中的计算 机可读介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤550由部署在 与步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所编码的申请人的 复制算法来执行。在步骤555,针对(i)的每个值,该方法确定可以针对每个虚拟卷标识可用的本地 物理卷,也即,是否可用的本地物理卷包括第(i)卷大小。在某些实施方式中,步骤555由 步骤510的计算设备来执行。在某些实施方式中,步骤555由部署于步骤510的计算设备 中的计算机可读介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤555 由部署在与步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所编码的 申请人:的复制算法来执行。如果该方法在步骤555中确定针对(i)的每个值,无法针对每个虚拟卷标识可用 的本地物理卷,则该方法从步骤555转到步骤560,其中该方法确定(j)是否等于(P)。在 某些实施方式中,步骤560由步骤510的计算设备来执行。在某些实施方式中,步骤560由 部署于步骤510的计算设备中的计算机可读介质中所编码的申请人的复制算法来执行。在 某些实施方式中,步骤560由部署在与步骤510的计算设备进行通信的存储控制器中的计 算机可读介质中所编码的申请人的复制算法来执行。如果该方法在步骤560中确定(j)等于(P),则该方法从步骤560转到步骤565, 并且结束。如果该方法在步骤560中确定(j)不等于(P),则该方法从步骤560转到步骤 570,其中该方法开始第(j)轮询时间间隔。在某些实施方式中,步骤570由步骤510的计算设备来执行。在某些实施方式中,步骤570由部署于步骤510的计算设备中的计算机可读 介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤570由部署在与步骤 510的计算设备进行通信的存储控制器中的计算机可读介质中所编码的申请人的复制算法 来执行。在步骤575中,该方法确定第(j)轮询时间间隔是否到期。在某些实施方式中,步 骤575由步骤510的计算设备来执行。在某些实施方式中,步骤575由部署于步骤510的 计算设备中的计算机可读介质中所编码的申请人的复制算法来执行。在某些实施方式中, 步骤575由部署在与步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所 编码的申请人的复制算法来执行。如果该方法在步骤575中确定第(j)轮询时间间隔没有到期,则该方法暂停,直到 第(i)轮询时间间隔已经到期。如果该方法在步骤575确定第(j)轮询时间间隔已经到期, 则该方法从步骤575转到步骤580,其中该方法将(j)设为等于(j+Ι)。该方法从步骤580 转到步骤555,并且如在此所述的那样继续。在某些实施方式中,步骤580由步骤510的计 算设备来执行。在某些实施方式中,步骤580由部署于步骤510的计算设备中的计算机可读 介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤580由部署在与步骤 510的计算设备进行通信的存储控制器中的计算机可读介质中所编码的申请人的复制算法 来执行。如果该方法在步骤555中确定针对(i)的每个值而言可用的本地物理卷包括第 (i)卷大小,则该方法从步骤555转到步骤590,其中该方法针对(i)的每个值来指定包括 第(i)卷大小的本地物理卷作为第(i)物理卷。此外在步骤590,该方法指定该第(i)物理 卷为不可用。申请人:的方法从步骤590转到步骤610 (图6)。现在参考图6,在步骤610,该方法 形成计算设备文件访问数据库,诸如数据库310 (图3)。在某些实施方式中,步骤610由步 骤510的计算设备来执行。在某些实施方式中,步骤610由部署于步骤510的计算设备中 的计算机可读介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤610由 部署在与步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所编码的申 请人的复制算法来执行。在步骤620中,针对⑴的每个值,该方法逐一地选择第⑴虚拟卷,其中该第⑴ 虚拟卷包括(M)个文件,其中(M)大于1。在某些实施方式中,步骤620由步骤510的计算 设备来执行。在某些实施方式中,步骤620由部署于步骤510的计算设备中的计算机可读 介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤620由部署在与步骤 510的计算设备进行通信的存储控制器中的计算机可读介质中所编码的申请人的复制算法 来执行。在步骤630中,针对每个值(j),该方法逐一地选择被写入在步骤620中选择的第 (i)虚拟卷的第(j)文件,其中(j)大于或等于1并且小于或等于(M)。在某些实施方式中, 步骤630由步骤510的计算设备来执行。在某些实施方式中,步骤630由部署于步骤510的 计算设备中的计算机可读介质中所编码的申请人的复制算法来执行。在某些实施方式中, 步骤630由部署在与步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所 编码的申请人的复制算法来执行。
11
在步骤640,如果步骤510的计算设备具有对步骤630的第(j)文件的访问权,则 该方法在步骤610的计算设备文件访问数据库中将该第(j)文件与该计算设备相关联。在 某些实施方式中,步骤640由步骤510的计算设备来执行。在某些实施方式中,步骤640由 部署于步骤510的计算设备中的计算机可读介质中所编码的申请人的复制算法来执行。在 某些实施方式中,步骤640由部署在与步骤510的计算设备进行通信的存储控制器中的计 算机可读介质中所编码的申请人的复制算法来执行。在步骤650中,在检查写入每个虚拟卷的每个文件之后,该方法对步骤510的计算 设备中的计算设备文件访问数据库进行编码。在某些实施方式中,步骤650由步骤510的 计算设备来执行。在某些实施方式中,步骤650由部署于步骤510的计算设备中的计算机 可读介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤650由部署在与 步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所编码的申请人的复 制算法来执行。在步骤660中,针对(i)的每个值,该方法向步骤580的第(i)物理卷复制步骤 510的第(i)虚拟卷。在某些实施方式中,步骤660由步骤510的计算设备来执行。在某些 实施方式中,步骤660由部署于步骤510的计算设备中的计算机可读介质中所编码的申请 人的复制算法来执行。在某些实施方式中,步骤660由部署在与步骤510的计算设备进行 通信的存储控制器中的计算机可读介质中所编码的申请人的复制算法来执行。在步骤670中,针对(i)的每个值,该方法使用步骤560的第(i)卷配置来配置第 (i)物理卷。在某些实施方式中,步骤670由步骤510的计算设备来执行。在某些实施方式 中,步骤670由部署于步骤510的计算设备中的计算机可读介质中所编码的申请人的复制 算法来执行。在某些实施方式中,步骤670由部署在与步骤510的计算设备进行通信的存 储控制器中的计算机可读介质中所编码的申请人的复制算法来执行。在步骤680中,针对(i)的每个值,该方法静默和删除第(i)虚拟卷。在某些实施 方式中,步骤680由步骤510的计算设备来执行。在某些实施方式中,步骤680由部署于步 骤510的计算设备中的计算机可读介质中所编码的申请人的复制算法来执行。在某些实施 方式中,步骤680由部署在与步骤510的计算设备进行通信的存储控制器中的计算机可读 介质中所编码的申请人的复制算法来执行。在步骤690中,针对(i)的每个值,该方法向步骤580的第(i)物理卷指派步骤 540的第(i)卷标识符。当在步骤690中向(N)个物理卷指派了所有(N)个卷标识符之后, 已经向(N)个本地物理卷复制了步骤510的所有(N)个远程虚拟卷,并且步骤510的计算 设备无需进行重新配置以访问多个文件222、232和/或242的任何其一,这些文件现在分 别在物理卷322、324和326上可获得。相反,计算设备210可以使用与先前用来访问被写 入远程虚拟卷的文件相同的卷标识符和文件名。在某些实施方式中,图5和图6中记载的各步骤可以结合、删除或者重新排序。在某些实施方式中,申请人的存储控制器包括计算机可读程序代码,诸如计算机 可读程序代码138 (图2、图3、图4),其驻留在诸如计算机可读介质133 (图1)和/或143 (图 1)和/或214 (图2、图3、图4)之类的计算机可读介质中,其中该计算机可读程序代码由诸 如处理器132 (图1、图2、图3、图4)和/或142 (图1)和/或212 (图2、图3、图4)之类的 处理器来执行,用于执行图5A和图5B中记载的步骤520、530、540、550、560、570、580和/或590中的一个或多个,和/或图6中记载的步骤610、620、630、640、650、660、670、680和 /或690中的一个或多个。在其他实施方式中,申请人的发明包括计算机可读程序代码,也即申请人的复制 算法,其驻留在任何其他计算机程序产品中,其中这些指令由计算设备210和/或存储管理 器200外部或者内部的计算机来执行,用于执行图5A和图5B中记载的步骤520、530、540、 550、560、570、580和/或590中的一个或多个,和/或图6中记载的步骤610、620、630、640、 650、660、670、680和/或690中的一个或多个。在任一情况下,指令可以编码在计算机可读 介质中,诸如磁性信息存储介质、光学信息存储介质、电子信息存储介质等。作为示例而非 限制,申请人所说的“电子存储介质”意指一个或多个设备,作为示例而非限制,诸如PR0M、 EPR0M、EEPR0M、闪存PROM、压缩闪存、智能介质等。在某些实施方式中,申请人的复制算法包括对可交互图形对象进行编码的代码 基。当该代码基被执行时,在互连的可视显示设备上显示可交互图形对象。作为示例而非 限制,当使用计算机鼠标或者指示设备来激活该可交互图形对象时,复制算法被执行,并且 执行图5A和图5B中记载的步骤520、530、540、550、560、570、580和/或590中的一个或多 个,和/或图6中记载的步骤610、620、630、640、650、660、670、680和/或690中的一个或 多个,而无需任何进一步的或者附加的操作者输入,也即,无需任何进一步的或附加的人工 输入。在某些实施方式中,申请人的复制算法可以显示查询,以询问是否授权复制算法 执行步骤580,或者是否人工执行步骤580。如果用户选择步骤580的人工执行,则复制算 法显示查询以请求用户所选择的(N)个本地物理卷的标识。在某些实施方式中,使用计算设备210来执行由计算机可读程序代码138代表的 申请人:的复制算法。在某些实施方式中,使用存储控制器200来执行由计算机可读程序代 码138代表的申请人的复制算法。在某些实施方式中,使用数据存储库100来执行由计算 机可读程序代码138代表的申请人的复制算法。尽管已经详细说明了本发明的优选实施方式,但是对于本领域技术人员而言应当 易见,在不脱离所附权利要求中记载的本发明范围的情况下,可以对这些实施方式进行修 改和适配。
权利要求
一种用于向本地物理文件复制远程虚拟文件的方法,包括提供(N)个远程虚拟卷,其中计算设备能够从所述(N)个远程虚拟卷的每一个读取数据,以及向所述(N)个远程虚拟卷的每一个写入数据;不经人工输入而向(N)个本地物理卷复制所述(N)个远程虚拟卷,使得所述计算设备能够从所述(N)个本地物理卷的每一个读取数据,以及向所述(N)个本地物理卷的每一个写入数据,而无需修改卷指派,并且无需重新配置所述计算设备与所述(N)个本地物理卷进行通信。
2.如权利要求1所述的方法,其中所述复制步骤进一步包括 确定(N)的值;针对(i)的每个值,选择第(i)远程虚拟卷,其中(i)大于或等于1并且小于或等于(N);针对(i)的每个值,确定第(i)卷标识符; 针对(i)的每个值,确定第(i)卷大小; 针对(i)的每个值,确定第(i)卷配置。
3.如权利要求2所述的方法,其中所述复制步骤进一步包括针对(i)的每个值,确定是否与所述计算设备通信的可用的本地物理卷包括所述第 ⑴卷大小;如果可用的本地物理卷包括所述第(i)卷大小,则指定所述本地物理卷作为 第⑴物理卷;以及 不可用。
4.如权利要求3所述的方法,其中所述确定步骤进一步包括针对(i)的每个值,如果可用的本地物理卷不包括包含所述第(i)卷大小的本地物理 卷,则设置轮询时间间隔;在所述轮询时间间隔到期时,针对(i)的每个值,确定是否可用的本地物理卷包括所 述第⑴卷大小;如果在所述轮询时间间隔到期时,针对(i)的每个值,可用的本地物理卷不包括包含 所述第(i)卷大小的本地物理卷,则结束。
5.如权利要求3所述的方法,其中所述复制步骤进一步包括 形成计算设备文件访问数据库;针对(i)的每个值,选择第(i)远程虚拟卷,其中所述选择的第(i)远程虚拟卷包括 (M)个文件,其中(M)大于1 ;针对(j)的每个值,从所述(M)个文件中选择第(j)文件,其中(j)大于或等于1并且 小于或等于M ;确定所述计算设备是否具有针对所述第(j)文件的访问权;如果所述计算设备具有对所述第(j)文件的访问权,则在所述计算设备文件访问数据 库中,将所述计算设备与所述第(j)文件相关联。
6.如权利要求5所述的方法,其中所述复制步骤进一步包括针对(i)的每个值,确定是否已经向第(i)物理卷指派了所述第(i)卷标识符;针对(i)的每个值,如果已经向第(i)物理卷指派了所述第(i)卷标识符 则针对(i)的每个值,从所述第(i)远程虚拟卷向所述第(i)物理卷拷贝所述第(i) 多个文件。
7.如权利要求6所述的方法,其中所述复制步骤进一步包括 针对(i)的每个值,确定第(i)远程虚拟卷配置;使用所述第(i)远程虚拟卷配置,来配置所述第(i)物理卷。
8.如权利要求6所述的方法,其中所述复制步骤进一步包括 针对(i)的每个值,静默和删除所述第(i)远程虚拟卷;以及 向所述第(i)物理卷指派所述第(i)卷标识符。
9.如权利要求8所述的方法,其中所述复制步骤进一步包括 在所述计算设备中编码所述计算设备文件访问数据库。
10.一种存储控制器,包括计算机可读介质,其包括编码于其中的计算机可读程序代 码,用于向本地卷复制远程虚拟卷,其中计算设备能够从每个远程虚拟卷读取数据以及向 每个远程虚拟卷写入数据,所述计算机可读程序代码包括一系列计算机可读程序步骤,用 于实现不经人工输入而向(N)个本地物理卷复制(N)个远程虚拟卷,使得所述计算设备能 够从所述(N)个本地物理卷的每一个读取数据,以及向所述(N)个本地物理卷的每一个写 入数据,而无需修改卷指派,并且无需重新配置所述计算设备与所述(N)个本地物理卷进 行通信。
11.如权利要求10所述的存储控制器,用于向(N)个本地物理卷复制(N)个远程虚拟 卷的所述计算机可读程序代码进一步包括一系列计算机可读程序步骤,用于实现确定(N)的值;针对(i)的每个值,选择第(i)远程虚拟卷,其中(i)大于或等于1并且小于或等于(N);针对(i)的每个值,确定第(i)卷标识符; 针对(i)的每个值,确定第(i)卷大小; 针对(i)的每个值,确定第(i)卷配置。
12.如权利要求11所述的存储控制器,用于向(N)个本地物理卷复制所述(N)个远程 虚拟卷的所述计算机可读程序代码进一步包括一系列计算机可读程序步骤,用于实现针对(i)的每个值,确定是否与所述计算设备通信的可用的本地物理卷包括所述第 ⑴卷大小;如果可用的本地物理卷包括所述第(i)卷大小,则指定所述本地物理卷作为 第⑴物理卷;以及 不可用。
13.如权利要求12所述的存储控制器,其中用于确定是否与所述计算设备通信的可用 的本地物理卷包括所述第(i)卷大小的所述计算机可读程序代码进一步包括一系列计算 机可读程序步骤,用于实现针对(i)的每个值,如果可用的本地物理卷不包括包含所述第(i)卷大小的本地物理 卷,则设置轮询时间间隔;在所述轮询时间间隔到期时,针对(i)的每个值,确定是否可用的本地物理卷包括所 述第⑴卷大小;如果在所述轮询时间间隔到期时,针对(i)的每个值,可用的本地物理卷不包括包含 所述第(i)卷大小的本地物理卷,则不向所述本地卷复制所述远程虚拟卷。
14.如权利要求12所述的存储控制器,其中所述第(i)远程虚拟卷包括(M)个文件,用 于向(N)个本地物理卷复制(N)个远程虚拟卷的所述计算机可读程序代码进一步包括一系 列计算机可读程序步骤,用于实现形成计算设备文件访问数据库;从所述(M)个文件中选择第(j)文件,其中(j)大于或等于1并且小于或等于M ; 确定所述计算设备是否具有针对所述第(j)文件的访问权;如果所述计算设备具有对所述第(j)文件的访问权,则在所述计算设备文件访问数据 库中,将所述计算设备与所述第(j)文件相关联。
15.如权利要求14所述的存储控制器,用于向(N)个本地物理卷复制所述(N)个远程 虚拟卷的所述计算机可读程序代码进一步包括一系列计算机可读程序步骤,用于实现针对(i)的每个值,确定是否已经向第(i)物理卷指派了所述第(i)卷标识符; 针对(i)的每个值,如果已经向第(i)物理卷指派了所述第(i)卷标识符 则针对(i)的每个值,从所述第(i)远程虚拟卷向所述第(i)物理卷拷贝所述第(i) 多个文件。
16.如权利要求15所述的存储控制器,用于向(N)个本地物理卷复制所述(N)个远程 虚拟卷的所述计算机可读程序代码进一步包括一系列计算机可读程序步骤,用于实现针对(i)的每个值,确定第(i)远程虚拟卷配置; 使用所述第(i)远程虚拟卷配置,来配置所述第(i)物理卷。
17.如权利要求16所述的存储控制器,用于向(N)个本地物理卷复制所述(N)个远程 虚拟卷的所述计算机可读程序代码进一步包括一系列计算机可读程序步骤,用于实现针对(i)的每个值,静默和删除所述第(i)远程虚拟卷; 向所述第(i)物理卷指派所述第(i)卷标识符; 在所述计算设备中编码所述计算设备文件访问数据库。
18.一种计算机系统,包括用于实现如权利要求1-9任一项所述方法的任何步骤的装置。
19.一种计算机程序产品,编码在计算机可读介质中,并且可由可编程计算机处理器使 用,以用于向本地卷复制远程虚拟卷,其中计算设备可以从每个所述远程虚拟卷读取数据 以及向每个所述远程虚拟卷写入数据,所述计算机程序产品包括使所述可编程处理器实现如权利要求1-9任一项所述方法的计算机可读程序代码。
全文摘要
提出一种用于向本地物理文件复制远程虚拟文件的自动方法,其中该方法提供一种复制算法,其包括可由可编程计算机处理器使用的计算机可读程序代码,用于向(N)个本地物理卷复制(N)个远程虚拟卷,使得与这(N)个本地物理卷一体的计算设备能够从每个本地复制的虚拟卷读取数据或者向其写入数据,而无需修改卷指派,并且无需重新配置该计算设备与所述(N)个本地物理卷通信。
文档编号G06F12/02GK101957728SQ201010232268
公开日2011年1月26日 申请日期2010年7月15日 优先权日2009年7月15日
发明者E·瑟万特斯, J·L·佩佩尔曼, M·F·阿塞多, M·J·瓦德, P·A·简纳斯二世 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1