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

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

Info

Publication number
CN101957728B
CN101957728B CN201010232268XA CN201010232268A CN101957728B CN 101957728 B CN101957728 B CN 101957728B CN 201010232268X A CN201010232268X A CN 201010232268XA CN 201010232268 A CN201010232268 A CN 201010232268A CN 101957728 B CN101957728 B CN 101957728B
Authority
CN
China
Prior art keywords
volume
computing equipment
value
local physical
remote dummy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201010232268XA
Other languages
English (en)
Other versions
CN101957728A (zh
Inventor
M·J·瓦德
M·F·阿塞多
E·瑟万特斯
J·L·佩佩尔曼
P·A·简纳斯二世
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101957728A publication Critical patent/CN101957728A/zh
Application granted granted Critical
Publication of CN101957728B publication Critical patent/CN101957728B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

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

Description

用于向本地物理卷复制远程虚拟卷的装置和方法
技术领域
本发明涉及用于向计算设备的本地阵列站点复制远程虚拟阵列站点的方法和系统。 
背景技术
远程虚拟阵列站点向用户呈现数据和/或文件,其中数据或文件从一个或多个远程物理数据存储设备或者阵列提取。尽管可能存在采用这种虚拟阵列站点的多种实践原因,但是,当代之以使用请求计算设备的本地存储设备/介质来保存数据时,性能通常将得到增强。 
使用现有技术的方法,远程虚拟阵列站点向主机计算机的本地阵列站点的转换倾向于困难、耗时和易错。而且,由于需要一个或多个信息技术专业人员的技能,因此现有技术的人工方法非常昂贵。 
发明内容
提出一种用来向本地物理卷复制远程虚拟卷的自动方法。该方法提供一种复制算法,其包括可由可编程计算机处理器使用的计算机可读程序代码,用于向(N)个本地物理卷复制(N)个远程虚拟卷,使得与这(N)个本地物理卷通信的计算设备能够从每个本地复制的虚拟卷读取数据或者向其写入数据,而无需修改卷指派,并且无需重新配置该计算设备与所述(N)个本地物理卷通信。 
提出一种存储控制器,其中提出了该存储控制器包括编码在部署于其中的计算机可读介质中的计算机可读程序代码,用于向本地物理卷复制远程虚拟卷。该计算机可读程序代码可由可编程计算机处理器来使用,以用于向(N)个本地物理卷复制(N)个远程虚拟卷,使得与这(N)个本地物理卷通信的计算设备能够从每个本地复 制的虚拟卷读取数据或者向其写入数据,而无需修改卷指派,并且无需重新配置该计算设备与所述(N)个本地物理卷通信。 
提出一种复制算法,其中提出了该复制算法包括编码在部署于其中的计算机可读介质中的计算机可读程序代码,用于向本地物理卷复制远程虚拟卷。该复制算法可由可编程计算机处理器来使用,用于向(N)个本地物理卷复制(N)个远程虚拟卷,使得与这(N)个本地物理卷通信的计算设备能够从每个本地复制的虚拟卷读取数据或者向其写入数据,而无需修改卷指派,并且无需重新配置该计算设备以便与所述(N)个本地物理卷通信。 
附图说明
通过结合附图阅读下文详细描述,将会更好地理解本发明,其中在附图中类似的标号用来指示类似的元素,并且其中: 
图1是示出申请人的数据存储库的单元的框图; 
图2是示出与诸如图1的数据存储库的存储控制器进行通信的计算设备的框图,其中该存储控制器向该计算设备呈现多个虚拟卷; 
图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包括第一簇101A和第二簇101B,其中簇101A和101B部署在相同的外壳中。在图1所示的实施方式中,数据存储库100包括多个主机适配器102-105、107-110、112-115以及117-120,其部署在四个主机隔间101、106、111和116中。在其他实施方式中,数据存储系统包括少于16个主机适配器。不论部署在系统的任何实现中的主机适配器的数目,这些主机适配器中的每一个都包括共享资源,其具有对中央处理/高速缓存元件130和140二者的等同访问权。 
每个主机适配器可以包括一个或多个光纤通道端口、一个或多个FICON端口、一个或多个ESCON端口或者一个或多个SCSI端口。每个主机适配器通过互连总线121连接至簇101A和101B二者,使得每个簇都可以处理来自任何主机适配器的I/O,并且使得任一簇的存储控制器部分可以监控针对与数据存储库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包括多个数据存储设备,每个包括磁性数据存储介质,并结合有向该磁性数据存储介质写入数据以及从其读取数据所需的硬件、固件和/或软件。 
在某些实施方式中,本地物理存储阵列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+1)。该方法从步骤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中,针对(i)的每个值,该方法逐一地选择第(i)虚拟卷,其中该第(i)虚拟卷包括(M)个文件,其中(M)大于1。在某些实施方式中,步骤620由步骤510的计算设备来执行。在某些实施方式中,步骤620由部署于步骤510的计算设备中的计算机可读介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤620由部署在与步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所编码的申请人的复制算法来执行。 
在步骤630中,针对每个值(j),该方法逐一地选择被写入在步骤620中选择的第(i)虚拟卷的第(j)文件,其中(j)大于或等于1并且小于或等于(M)。在某些实施方式中,步骤630由步骤510的计算设备来执行。在某些实施方式中,步骤630由部署于步骤510的计算设备中的计算机可读介质中所编码的申请人的复制算法来执行。在某些实施方式中,步骤630由部署在与步骤510的计算设备进行通信的存储控制器中的计算机可读介质中所编码的申请人的复制算法来执行。 
在步骤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中的一个或多个。在任一情况下,指令可以编码在计算机可读介质中,诸如磁性信息存储介质、光学信息存储介质、电子信息存储介质等。作为示例而非限制,申请人所说的“电子存储介质”意指一个或多个设备,作为示例而非限制,诸如PROM、EPROM、EEPROM、闪存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代表的申请人的复制算法。 
尽管已经详细说明了本发明的优选实施方式,但是对于本领域技术人员而言应当易见,在不脱离所附权利要求中记载的本发明范围的情况下,可以对这些实施方式进行修改和适配。 

Claims (11)

1.一种用于向本地物理文件复制远程虚拟文件的方法,包括:
提供N个远程虚拟卷,其中计算设备能够从所述N个远程虚拟卷的每一个读取数据,以及向所述N个远程虚拟卷的每一个写入数据,其中,N大于或等于1;
不经人工输入而向N个本地物理卷复制所述N个远程虚拟卷,使得所述计算设备能够从所述N个本地物理卷的每一个读取数据,以及向所述N个本地物理卷的每一个写入数据,而无需修改对卷的指派,并且无需重新配置所述计算设备以便与所述N个本地物理卷进行通信,
其中所述复制所述N个远程虚拟卷的步骤进一步包括:
确定N的值;
针对i的每个值,选择第i远程虚拟卷,其中i大于或等于1并且小于或等于N;
针对i的每个值,确定第i卷标识符;
针对i的每个值,确定第i卷大小;
针对i的每个值,确定第i卷配置;
针对i的每个值,确定是否与所述计算设备通信的可用的本地物理卷包括所述第i卷大小;
如果可用的本地物理卷包括所述第i卷大小,则指定所述本地物理卷作为第i物理卷并且不可用;
针对i的每个值,如果可用的本地物理卷不包括包含所述第i卷大小的本地物理卷,则:
设置轮询时间间隔;
在所述轮询时间间隔到期时,针对i的每个值,确定是否可用的本地物理卷包括所述第i卷大小;
如果在所述轮询时间间隔到期时,针对i的每个值,可用的本地物理卷不包括包含所述第i卷大小的本地物理卷,则结束。 
2.如权利要求1所述的方法,其中所述复制所述N个远程虚拟卷的步骤进一步包括:
形成计算设备文件访问数据库;
针对i的每个值,选择第i远程虚拟卷,其中所述选择的第i远程虚拟卷包括M个文件,其中M大于1;
针对j的每个值,从所述M个文件中选择第j文件,其中j大于或等于1并且小于或等于M;
确定所述计算设备是否具有针对所述第j文件的访问权;
如果所述计算设备具有对所述第j文件的访问权,则在所述计算设备文件访问数据库中,将所述计算设备与所述第j文件相关联。
3.如权利要求2所述的方法,其中所述复制所述N个远程虚拟卷的步骤进一步包括:
针对i的每个值,确定是否已经向第i物理卷指派了所述第i卷标识符;
针对i的每个值,如果已经向第i物理卷指派了所述第i卷标识符:
则针对i的每个值,从所述第i远程虚拟卷向所述第i物理卷复制所述第i远程虚拟卷包括的所述M个文件。
4.如权利要求3所述的方法,其中所述复制所述N个远程虚拟卷的步骤进一步包括:
针对i的每个值,确定第i远程虚拟卷配置;
使用所述第i远程虚拟卷配置,来配置所述第i物理卷。
5.如权利要求3所述的方法,其中所述复制所述N个远程虚拟卷的步骤进一步包括:
针对i的每个值,静默和删除所述第i远程虚拟卷;以及
向所述第i物理卷指派所述第i卷标识符。
6.如权利要求5所述的方法,其中所述复制所述N个远程虚拟卷的步骤进一步包括:
在所述计算设备中编码所述计算设备文件访问数据库。 
7.一种用于向本地物理文件复制远程虚拟文件的系统,所述系统包括:
被配置为提供N个远程虚拟卷的装置,其中计算设备能够从所述N个远程虚拟卷的每一个读取数据,以及能够向所述N个远程虚拟卷的每一个写入数据,其中,N大于或等于1;
被配置为不经人工输入而向N个本地物理卷复制N个远程虚拟卷,使得所述计算设备能够从所述N个本地物理卷的每一个读取数据的装置,以及
被配置为向所述N个本地物理卷的每一个写入数据,而无需修改对卷的指派,并且无需重新配置所述计算设备以便与所述N个本地物理卷进行通信的装置,
其中,被配置为向N个本地物理卷复制N个远程虚拟卷的装置进一步包括如下装置:
被配置为确定N的值的装置;
被配置为针对i的每个值,选择第i远程虚拟卷的装置,其中i大于或等于1并且小于或等于N;
被配置为针对i的每个值,确定第i卷标识符的装置;
被配置为针对i的每个值,确定第i卷大小的装置;
被配置为针对i的每个值,确定第i卷配置的装置;
被配置为针对i的每个值,确定是否与所述计算设备通信的可用的本地物理卷包括所述第i卷大小的装置;
被配置为如果可用的本地物理卷包括所述第i卷大小,则指定所述本地物理卷作为第i物理卷并且不可用的装置;
被配置为针对i的每个值,如果可用的本地物理卷不包括包含所述第i卷大小的本地物理卷,则进行如下操作的装置:
设置轮询时间间隔;
在所述轮询时间间隔到期时,针对i的每个值,确定是否可用的本地物理卷包括所述第i卷大小;
如果在所述轮询时间间隔到期时,针对i的每个值,可用的 本地物理卷不包括包含所述第i卷大小的本地物理卷,则结束。
8.如权利要求7所述的系统,其中被配置为向N个本地物理卷复制N个远程虚拟卷的装置进一步包括如下装置:
被配置为形成计算设备文件访问数据库的装置;
被配置为针对i的每个值,选择第i远程虚拟卷的装置,其中所述选择的第i远程虚拟卷包括M个文件,其中M大于1;
被配置为针对j的每个值,从所述M个文件中选择第j文件的装置,其中j大于或等于1并且小于或等于M;
被配置为确定所述计算设备是否具有针对所述第j文件的访问权的装置;
被配置为如果所述计算设备具有对所述第j文件的访问权,则在所述计算设备文件访问数据库中,将所述计算设备与所述第j文件相关联的装置。
9.如权利要求8所述的系统,被配置为向N个本地物理卷复制所述N个远程虚拟卷的装置进一步包括如下装置:
被配置为针对i的每个值,确定是否已经向第i物理卷指派了所述第i卷标识符的装置;
被配置为针对i的每个值,如果已经向第i物理卷指派了所述第i卷标识符,则针对i的每个值,从所述第i远程虚拟卷向所述第i物理卷复制所述第i远程虚拟卷包括的所述M个文件的装置。
10.如权利要求9所述的系统,被配置为向N个本地物理卷复制所述N个远程虚拟卷的装置进一步包括如下装置:
被配置为针对i的每个值,确定第i远程虚拟卷配置的装置;
被配置为使用所述第i远程虚拟卷配置,来配置所述第i物理卷的装置。
11.如权利要求9所述的系统,被配置为向N个本地物理卷复制所述N个远程虚拟卷的装置进一步包括如下装置:
被配置为针对i的每个值,静默和删除所述第i远程虚拟卷的装置; 
被配置为向所述第i物理卷指派所述第i卷标识符的装置;
被配置为在所述计算设备中编码所述计算设备文件访问数据库的装置。 
CN201010232268XA 2009-07-15 2010-07-15 用于向本地物理卷复制远程虚拟卷的装置和方法 Expired - Fee Related CN101957728B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/503,779 US8346721B2 (en) 2009-07-15 2009-07-15 Apparatus and method to replicate remote virtual volumes to local physical volumes
US12/503,779 2009-07-15

Publications (2)

Publication Number Publication Date
CN101957728A CN101957728A (zh) 2011-01-26
CN101957728B true CN101957728B (zh) 2013-01-02

Family

ID=43465975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010232268XA Expired - Fee Related CN101957728B (zh) 2009-07-15 2010-07-15 用于向本地物理卷复制远程虚拟卷的装置和方法

Country Status (3)

Country Link
US (1) US8346721B2 (zh)
KR (1) KR20110007055A (zh)
CN (1) CN101957728B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012158956A2 (en) * 2011-05-17 2012-11-22 Archion, Inc. Virtualized workspaces for standardization of access to data
US9529829B1 (en) * 2011-11-18 2016-12-27 Veritas Technologies Llc System and method to facilitate the use of processed data from a storage system to perform tasks
EP2866874B1 (en) * 2012-06-28 2019-01-02 Volcano Corporation Side-loading connectors for use with intravascular devices and associated systems and methods
CN103970671B (zh) * 2013-02-01 2017-04-12 国际商业机器公司 用于在存储器中分配管理数据集的系统和方法
US9665477B2 (en) 2013-02-01 2017-05-30 International Business Machines Corporation Allocating additional requested storage space for a data set in a first managed space in a second managed space
CN110506393B (zh) * 2017-05-26 2023-06-20 弗莱克斯-罗技克斯技术公司 具有逻辑瓦片的虚拟阵列的fpga及其配置和操作的方法
US10795867B2 (en) * 2017-11-06 2020-10-06 International Business Machines Corporation Determining available remote storages in a network to use to replicate a file based on a geographical requirement with respect to the file

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0628906A2 (en) * 1993-06-14 1994-12-14 International Business Machines Corporation Data storage apparatus
CN1801117A (zh) * 2004-11-18 2006-07-12 国际商业机器公司 用于选择性清除存储子系统中的持久元数据的方法和系统
CN101295228A (zh) * 2007-01-18 2008-10-29 国际商业机器公司 虚拟磁带服务器及导出源卷池中的至少一个逻辑卷的方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3340776A (en) 1965-05-12 1967-09-12 S & V Dev Company Packaging machine
US4340076A (en) 1979-02-27 1982-07-20 General Technology Applications, Inc. Dissolving polymers in compatible liquids and uses thereof
US4340776A (en) 1980-10-29 1982-07-20 Siemens Corporation Modular telecommunication system
JP3992427B2 (ja) * 2000-08-01 2007-10-17 株式会社日立製作所 ファイルシステム
US7212534B2 (en) 2001-07-23 2007-05-01 Broadcom Corporation Flow based congestion control
US7007152B2 (en) * 2001-12-28 2006-02-28 Storage Technology Corporation Volume translation apparatus and method
US7565408B2 (en) 2003-03-20 2009-07-21 Dell Products L.P. Information handling system including a local real device and a remote virtual device sharing a common channel
US20060182103A1 (en) 2005-02-16 2006-08-17 Phantom Technologies, Llc. System and method for routing network messages
JP4630734B2 (ja) * 2005-05-31 2011-02-09 株式会社東芝 論理ボリューム管理装置、論理ボリューム管理方法およびプログラム
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
JP5244332B2 (ja) * 2006-10-30 2013-07-24 株式会社日立製作所 情報システム、データ転送方法及びデータ保護方法
JP5379956B2 (ja) * 2007-03-19 2013-12-25 株式会社日立製作所 ストレージ装置及び記憶領域配置方法
US20090198699A1 (en) 2008-01-31 2009-08-06 International Business Machines Corporation Remote space efficient repository
US7882060B2 (en) 2008-01-31 2011-02-01 International Business Machines Corporation Remote space efficient repository
US8271612B2 (en) 2008-04-04 2012-09-18 International Business Machines Corporation On-demand virtual storage capacity

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0628906A2 (en) * 1993-06-14 1994-12-14 International Business Machines Corporation Data storage apparatus
CN1801117A (zh) * 2004-11-18 2006-07-12 国际商业机器公司 用于选择性清除存储子系统中的持久元数据的方法和系统
CN101295228A (zh) * 2007-01-18 2008-10-29 国际商业机器公司 虚拟磁带服务器及导出源卷池中的至少一个逻辑卷的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JP特开2006-338201A 2006.12.14
JP特开2008-134986A 2008.06.12

Also Published As

Publication number Publication date
CN101957728A (zh) 2011-01-26
US8346721B2 (en) 2013-01-01
KR20110007055A (ko) 2011-01-21
US20110016082A1 (en) 2011-01-20

Similar Documents

Publication Publication Date Title
CN101957728B (zh) 用于向本地物理卷复制远程虚拟卷的装置和方法
US7631157B2 (en) Offsite management using disk based tape library and vault system
US9733862B1 (en) Systems and methods for reverse point-in-time copy management in a storage system
US7062628B2 (en) Method and apparatus for storage pooling and provisioning for journal based storage and recovery
US9424137B1 (en) Block-level backup of selected files
CN101322105B (zh) 用于重新配置存储阵列的装置和方法
US7933938B2 (en) File storage system, file storing method and file searching method therein
CN103946821B (zh) 数据存储器架构扩展系统及方法
US20060248297A1 (en) Storage control system and storage control method
CN100561447C (zh) 将存储卷呈现为虚拟卷的装置、系统和方法
KR20070015185A (ko) 데이터 저장 디바이스 및 이로부터의 정보 획득 방법과시스템
US7657533B2 (en) Data management systems, data management system storage devices, articles of manufacture, and data management methods
CN102047234A (zh) 即时快照的排序以及分优先级
US8140886B2 (en) Apparatus, system, and method for virtual storage access method volume data set recovery
CN107133132B (zh) 数据发送方法、数据接收方法和存储设备
CN109918352B (zh) 存储器系统和存储数据的方法
CN109690494A (zh) 系统存储装置中的分层容错
CN103197924A (zh) 用于实时选择压缩操作的方法和系统
CN102576323A (zh) 促进复制期间的数据压缩
CN100535867C (zh) 在两个或多个非对称存储站之间的文件级复制的装置和方法
CN109766220A (zh) 应用系统的备份恢复方法、装置及计算机可读存储介质
CN107704205A (zh) Raid管理方法、装置及计算机可读存储介质
EP1305705B1 (fr) Systeme de stockage virtuel
CN113973138B (zh) 用于使用数据访问网关优化对数据集群的数据节点的访问的方法和系统
CN113973112B (zh) 用于使用数据访问网关和基于元数据映射的投标优化对数据集群的数据节点的访问的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130102

Termination date: 20200715

CF01 Termination of patent right due to non-payment of annual fee