CN101084481A - 在群集存储环境中执行并行数据迁移的方法 - Google Patents
在群集存储环境中执行并行数据迁移的方法 Download PDFInfo
- Publication number
- CN101084481A CN101084481A CNA2005800438994A CN200580043899A CN101084481A CN 101084481 A CN101084481 A CN 101084481A CN A2005800438994 A CNA2005800438994 A CN A2005800438994A CN 200580043899 A CN200580043899 A CN 200580043899A CN 101084481 A CN101084481 A CN 101084481A
- Authority
- CN
- China
- Prior art keywords
- block
- splicing
- data
- logical
- node
- 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.)
- Pending
Links
- 230000005012 migration Effects 0.000 title claims description 42
- 238000013508 migration Methods 0.000 title claims description 42
- 238000000034 method Methods 0.000 title claims description 9
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000007689 inspection Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 abstract description 2
- 241000932075 Priacanthus hamrur Species 0.000 description 35
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
群集存储阵列由连到一个或多个存储系统的几个结点组成。结点提供客户机访问的LUN装置,LUN装置映射到对应于一个或多个存储系统上的存储区的源逻辑单元、目标逻辑单元对应于一个或多个存储系统上的不同存储区。源逻辑单元由几个结点并行迁移到目标逻辑单元。
Description
技术领域
本发明总体上涉及数据迁移领域,特别是提供并行数据迁移方法。
背景技术
在当今的计算环境中,客户计算机通常可以使用一个或多个存储系统,这些存储系统可经通道或网络进行本机或远程访问。可用于客户的存储通常表现为卷或逻辑单元。
经常必须将数据从一卷移动或“迁移”到另一卷。数据迁移对客户机是透明的;也就是说,尽管驱动器数据正被从一物理存储位置移到另一位置,但客户机可继续访问同一逻辑驱动器。当数据必须移到新连接的存储器时或当出现结点故障时或为优化存储器空间使用和/或性能,迁移是必须的。数据迁移是耗时的过程,因为卷趋于非常大。此外,如果控制迁移的结点失效,数据可能永久丢失。因此,迁移对受影响的系统可具有有害的性能影响。
因此,需要比目前现有的方案更高性能的数据迁移解决方案,且还需要防结点故障的数据迁移解决方案。
发明内容
根据本发明的原理,多个结点连到一个或多个存储系统或与其集成。结点提供用于客户机访问的LUN装置,LUN装置映射到对应于一个或多个存储系统上的存储区的源逻辑单元。目标逻辑单元对应于一个或多个存储系统上的不同存储区。源逻辑单元由多个结点中的两个或多个结点并行迁移到目标逻辑单元。
更具体地,迁移按如下实现。确定将从源逻辑单元移到目标逻辑单元的数据块。提供位屏蔽,每一数据块具有一位。每一位在初始被复位。位屏蔽被分为多个位的拼接。之后,由多个结点中的两个或多个结点中的每一个执行下述步骤,直到源逻辑单元已被全部迁移到目标逻辑单元为止。结点试图锁定拼接。如果结点成功锁定拼接,则结点将对应于该拼接中的每一位的数据块复制到目标逻辑单元。之后,结点设置位屏蔽中对应于所复制数据块的位。其后,当对应于所述拼接中的位的所有数据块均已被复制时,结点解锁拼接。如果拼接不能被锁定,则另一结点已锁定该拼接且正迁移拼接的相应数据块。
根据本发明的另一方面,多个结点包括群集系统。源逻辑单元和目标逻辑单元均为使用群集系统访问相应的存储区的逻辑实体。复制数据块的步骤在群集系统上运行。
根据本发明的另一方面,迁移操作可被随时取消。如果用户向任何结点提交取消指令,则逻辑单元及映射到其的LUN装置被保留,目标逻辑单元和位屏蔽被删除。
根据本发明的另一方面,位屏蔽在群集系统内的结点之间共享。当所有数据被复制到目的地因而位屏蔽中的所有位被置位时,迁移结束。位屏蔽的一个或多个镜象的拷贝保留在群集系统中。这些镜象的拷贝顺次更新以确保在任一时间只有一个拷贝被修改。该镜象提高了位屏蔽的容错。
根据本发明的另一方面,在迁移期间对LUN装置的I/O访问可由客户机执行。如果I/O访问是读访问,数据从源逻辑单元返回给客户机。如果I/O访问是包括将被写入的数据的写访问,则结点首先确定数据将被写到哪一数据块。之后,其锁定包含该数据块的拼接。如果拼接中的所有位均被置位,则数据被写到源逻辑单元和目标逻辑单元。如果拼接中并非所有位均被置位,则从源逻辑单元读拼接中的数据块并与将被写入的数据结合,结合后的数据被写到源和目标逻辑单元。拼接中数据块的位被置位。之后解锁拼接。
本发明的并行迁移方案相较先前可用的方案提供更高性能、更多容错的迁移解决方案。
附图说明
为有助于更全面理解本发明,现在参考附图。这些图不应被视为限制本发明,而仅是示例性的。
图1为本发明实施于其中的系统的示意图。
图2为包括本发明的迁移应用的I/O栈的表示。
图3为根据本发明,通过多个结点将数据块从源逻辑单元并行迁移到目的地逻辑单元的表示。
图4为被分为拼接的位屏蔽元数据的表示。
图5为后台迁移操作的流程图。
图6为前台操作的流程图。
图7为位屏蔽的多个拷贝的表示。
具体实施方式
根据本发明的原理,几个结点连到一个或多个存储系统。连到结点的客户机可访问对应于存储系统上的存储区的LUN装置。当特定LUN装置需要被迁移时,其相应的逻辑单元当由几个结点中的至少部分结点并行迁移到目标逻辑单元时成为源逻辑单元。由于迁移跨几个结点并行发生,大大提高了迁移速度,从而整体上提高了系统的性能。此外,尽管结点失效迁移操作也可进行,从而提供迁移的容错度量。
参考图1,示出了本发明组合于其中的系统10。两个或多个结点12在网络14上连接,所述网络可以是IP网络、光纤通道SAN、一些其它互连网络或其组合。网络14将结点连到存储系统16。客户机18经网络20连到每一结点12。例如,网络20可以是IP网络、光纤通道SAN、一些其它互连网络或其组合。每一结点12执行群集系统软件22。群集系统软件22尤其需要以在访问数据的结点之间保持数据一致。也就是说,当多个客户机18访问和写同一数据时,共享的群集系统软件22确保数据是一致的,及一致地暴露给所有客户机。群集系统还采用元数据,其尤其用于确保数据一致。群集系统还确保元数据一致以防结点失效。许多群集系统使用许多类型的共享文件系统软件之一。网络文件系统(NFS)使多个客户机能经拥有共享文件的服务器访问共享文件。群集文件系统(CFS)使能通过任何结点同时共享访问并在结点失效时提供资源的故障切换。根据优选实施例,共享文件系统22为CFS。CFS的例子为来自Red Hat的GFS(全局文件系统)、来自IBRIX的Fusion、及来自IBM的GPFS(通用并行文件系统)。图1的结点12和存储系统16被示作单独实施,例如实施为服务器和存储器阵列。然而,结点12和存储系统16可组合在系统内。应注意,在于此描述的特定应用使用群集文件系统的同时,于此描述的应用通常适用于群集系统。
本发明部分源自下述认识:提供影响群集系统的优点的块存储装置的存储阵列非常有利。连到该系统的客户机同时共享对逻辑块存储装置即逻辑单元(LUN)的访问。群集系统确保这些共享的LUN上的数据一致。群集系统中的结点18通过“LUN装置”实体将LUN呈现给客户机。单一LUN装置对应于存储系统中存在的单一逻辑单元。因而,本发明提供用于实施分层在群集系统上的群集存储器阵列的软件。该软件称为“SCAD”。因而,图1中所示为用于实施群集存储器阵列的SCAD软件24。实施SCAD软件24的结点在此称为SCAD结点。
SCAD软件24在图2中更详细地示出。SCAD软件24是建立为在CFS22之上运行的I/O软件栈26。SCAD栈26影响CFS22的有利特征,包括高可用性和共享数据的一致性,以将共享LUN暴露给客户机。
所述栈的前端驱动器28为用于接口连接到客户机18的介质驱动器。SCAD API30将SCAD“装置”暴露给前端28。SCAD装置为可字节寻址的逻辑单元(“LUN装置”),其使用由作为其后备存储的在下面的CFS创建的文件。LUN装置最好由前端驱动器28作为SCSI LUN呈现给客户机18,尽管其它存储介质也可被实施。在下面SCAD API为SCAD分层应用32,其实施将对LUN装置执行的各种类型的操作。一种SCAD分层应用32为SCAD迁移应用34,其将进一步描述。SCAD层为CFS。SCAD内的层是位于CFS和SCAD应用之间的元数据管理器(MDB)36。MDB影响由CFS提供的锁定机构从而使能进行一致的群集范围的数据共享及保持SCAD元数据的一致性。该SCAD元数据38支持SCAD迁移应用。如将进一步描述的,MDB镜象其管理的元数据38以使其高度可用。该镜象对MDB上面的SCAD层是透明的。
现在进一步详细描述SCAD迁移应用34。参考图3,LUN装置39被示作映射到源逻辑单元40。SCAD迁移应用34使“源”逻辑单元40的透明在线数据能迁移到迁移或“目标”逻辑单元42。目标逻辑单元42被迁移层下面的SCAD层当作常规的LUN装置且对上面的层保持隐蔽。所有客户机18在迁移期间可继续使用迁移装置。一旦迁移结束,客户机18访问相同的LUN装置39,除了其数据已被放在目标逻辑单元42以外。根据本发明,多个结点12负责服务于任何逻辑单元的后台迁移。如果因一些原因一结点已失效或忙于更优先的任务,所有结点12或结点12的子集均可参与。多个结点的参与使能最大化并行执行迁移操作,从而最大化系统性能并提高操作的容错级别。
SCAD迁移的目标逻辑单元与源逻辑单元大小相同。目标逻辑单元具有在其创建时赋予其的迁移“数据块”大小,例如32K字节。源逻辑单元由结点12数据块44接数据块44地并行移到目标逻辑单元。
如图4中所示,元数据38被示为包括与目标逻辑单元相关联的位屏蔽46。位屏蔽46中的每一位48对应于将从源逻辑单元40写到目标逻辑单元42的数据块。位屏蔽46被分为“拼接”50,其中每一拼接50为位屏蔽46中固定数量的位48。在迁移操作之前,所有位48被复位,示为“0”。每一SCAD结点12试图顺序锁定每一拼接50并将对应于每一成功锁定的拼接50的数据块44从源逻辑单元40移到目标逻辑单元42。在完成拼接50中每一数据块44的数据迁移之后,其相应的位48被置位。
有两种类型的迁移操作:客户机I/O驱动的迁移操作,在此称为前台迁移操作,及后台迁移操作。后台迁移操作在LUN装置40的正在进行的透明迁移会话期间出现。为将数据从LUN装置39的源逻辑单元40移到目标逻辑单元42的目的,在每一SCAD结点上产生单独的线程。参考图5,其示出了每一结点采取的步骤。首先,从位屏蔽46的开始,每一结点试图锁定位屏蔽拼接50(步骤52、54)。锁定机构最好根据经IEEE标准1003.1中描述的fcntl系统调用提供的POSIX记录锁定实施。如果锁定尝试成功(步骤56),拼接50的每一数据块44被从源逻辑单元40读出然后写到目标逻辑单元42(步骤58)。之后,位屏蔽46中对应于所述数据块44的位48被置位(步骤62)。当所有数据块44均已被复制(步骤62)后,拼接锁定被释放(步骤64)。如果锁定尝试失败(步骤56),这些数据块44被跳过,因为另一SCAD结点12肯定已完成锁定并正迁移数据。如果尚未到达最后的拼接50(步骤66),则SCAD结点12返回以试图锁定下一拼接50(步骤68、步骤54)。一旦每一拼接50均已被锁定且其相应的数据块44均已迁移(步骤66),则锁定整个MDB位屏蔽46(步骤70)并检查每一位48的状态(步骤72)。对应于任何因前台迁移操作(将被描述)剩余的置“0”位的数据块44从源逻辑单元40复制到目标逻辑单元42(步骤74),且位48被置位(步骤76)。
在图4中,示出了在每一结点上执行图3的后台迁移操作的结果的例子。对应于第一拼接50(“拼接1”)中的位48的数据块44已全部由第一结点12迁移,因此位48被置位及该拼接现在被解锁。对应于第二拼接50(“拼接2”)中的位48的数据块44已由第二结点迁移,从而这些位48被置位且该拼接也被解锁。对应于第三拼接50(“拼接3”)中的位48的数据块44尚未被迁移,因此部分位48未被置位,因而该拼接50仍然由结点锁定。对应于最后两拼接50(“拼接n-1”、“拼接n”)中的位48的数据块44的迁移尚未开始,因而它们的位48未被置位及这些拼接50仍然保持解锁。
根据本发明的另一方面,在迁移期间后台迁移操作可随时由用户取消。如图5中所示,在迁移期间,用户可向几个结点18之一发出取消命令。如果接收到取消命令(步骤53),结点12将使用群集系统在其同等结点之间协调取消请求。一旦这已被建立(步骤77),源逻辑单元40及其相应的LUN装置39被保留(步骤78),目标逻辑单元42及相应的位屏蔽46被删除(步骤79)。现在迁移操作被取消(步骤80)。前台迁移操作是那些在后台迁移操作期间由客户机I/O访问LUN装置引起的操作。
前台迁移操作按图6中所示进行处理。如果客户机I/O访问是读请求(步骤81),SCAD迁移应用34从源逻辑单元40读数据并返回数据(步骤82)以完成操作(步骤83)。如果客户机I/O访问是写请求,则映射到目标逻辑单元42中写逻辑块地址的数据块44被计算(步骤84)。位屏蔽46中其相应的拼接50被锁定(步骤86)。位屏蔽46元数据被检查以确定目标逻辑单元42中有多少写访问的源数据。如果所有拼接位均被置位(步骤88),则所有数据均已从源逻辑单元40迁移到目标逻辑单元42。因此,位屏蔽46维持不变。写访问从SCAD迁移传到较低的层从而传到源及目标逻辑单元40和42(步骤90),对于数据块的位被置位(步骤91),及拼接锁定被释放(步骤92)。如果部分或没有拼接位被置位(步骤88),则部分或没有数据已被移到目标逻辑单元。在这种情况下,从源LUN装置40读相应的数据块44(步骤96),并与写数据结合(步骤98),然后写到源及目标逻辑单元40和42(步骤90)。置位相应的数据块位(步骤91)并释放拼接锁定(步骤102),结束操作(步骤93)。
根据本发明的另一方面,在管理SCAD元数据38时采取步骤以在结点失效时确保数据完整性。如果在结点失效时MDB36正修改SCAD元数据38,其可维持该元数据38为未知状态。这是不允许的,因为为了确保数据完整性,必须总是保持元数据一致性。这样,为增加元数据38可用性,MDB36在磁盘上保持位屏蔽46的多个拷贝46a-46n,如图7中所示。以同步顺序执行对这些位屏蔽拷贝的更新。这确保任一元数据总是有至少一拷贝,或旧的或更新后的,在当前未被修改。可使用任何数量的位屏蔽46拷贝,仅使用两个拷贝可能比较方便。此外,对每一元数据计算和保存检查和104。如果结点失效,继续存在的结点可扫描磁盘上的所有元数据拷贝并确定哪些拷贝具有每一元数据的最新有效信息。继续存在的结点将按与MDB同步顺序更新相同的顺序检查拷贝。每一拷贝的检查和104将被计算并与磁盘上的值比较。被发现具有匹配检查和104的第一拷贝被声称为元数据38的有效拷贝,所有其它拷贝均与其同步。
先前描述的SCAD迁移操作和元数据管理在面对多种差错情况时确保用户数据和元数据正确。考虑下述差错情况:
1、SCAD结点在完成位屏蔽锁定之后但在完成迁移写之前失效:
a、用户数据:仍然原封不动,因为源位置尚未被修改。
b、元数据:位屏蔽46尚未被写,从而其依然反映迁移操作未被完成的事实。在这种情形下,源位置仍然是用户数据的有效位置。
2、SCAD结点在执行迁移操作之后但在更新位屏蔽中的相应位之前失效:
a、用户数据:用户数据安全存在于源和目的地位置中。
b、元数据:位屏蔽46中的位48指示迁移尚未被执行,从而源位置称为数据的真实位置。已被完成的用户块的拷贝被忽略且在重新开始迁移操作时其需要被再次执行。
3、SCAD结点在迁移之后失效,在位屏蔽更新期间:
a、用户数据:用户数据存在于源和目的地位置中。
b、元数据:由于先前描述的多个拷贝和检查和,位屏蔽46可恢复。继续存在的结点可使用多个拷贝和检查和检测无效的元数据并执行所有拷贝的“修补”,从而其或匹配指向有效源的旧值,或匹配指向有效目的地的新值。旧值导致上面的情形2,新值导致下面的情形4。
4、SCAD结点在置位位屏蔽中的适当位之后但在释放位屏蔽锁定之前失效:
a、用户数据:用户数据存在于源和目的地位置中。
b、元数据:有效。在这种情况下,在SCAD栈下面的CFS负责清除锁定。
所有上述创新的机构共同提供较先前已知的解决方案更高性能和更多容错的迁移解决方案。还应注意,先前描述的机构可用于实施不同于卷迁移的操作。例如,使用所述机构可执行卷或卷扇区的快照拷贝。在这种情形下,源逻辑单元将被复制到目标逻辑单元,同时源逻辑单元保持其到当前LUN装置的映射,目标逻辑单元通过映射到其自己的LUN装置而可用于客户机访问。
本发明不限于在此所述的具体实施例的范围。实际上,除了在此所述的内容之外,对本领域一般技术人员而言,从前述描述和附图可容易对本发明进行各种修改。因而,这样的修改应视为落在本发明的范围内。此外,尽管本发明的各方面已在用于特定目的的特定环境的特定实施例中描述,本领域一般技术人员将认可其使用并不限于这些,本发明可在用于任何数量目的的任何数量的环境中有利地实施。
Claims (10)
1、装置,包括:
与一个或多个存储系统一起运行的多个结点,所述结点提供由客户机访问的LUN装置,LUN装置映射到对应于一个或多个存储系统上的存储区的源逻辑单元;
每一结点上用于导致多个结点中的两个或多个结点并行将源逻辑单元迁移到目标逻辑单元的机构,目标逻辑单元对应于一个或多个存储系统上的不同存储区。
2、根据权利要求1的装置,其中每一结点上的机构包括:
用于确定将从源逻辑单元移到目标逻辑单元的数据块的逻辑电路;
位屏蔽,每一数据块具有一位;
用于将位屏蔽分为多位的拼接的逻辑电路;
用于试图锁定拼接的逻辑电路;
如果拼接被成功锁定,用于执行下述步骤的逻辑电路;
将对应于拼接中的每一位的数据块复制到目标逻辑单元;
置位位屏蔽中对应于所复制数据块的位;
当对应于拼接中的位的所有数据块均已被复制时解锁拼接。
3、根据权利要求2的装置,其中多个结点包括群集系统,且其中源逻辑单元和目标逻辑单元为使用群集系统访问相应的存储区的逻辑实体,及其中用于复制数据块的逻辑电路在群集系统上操作。
4、根据权利要求3的装置,在所述机构中还包括用于随时取消迁移步骤的逻辑电路,用于取消的逻辑电路包括:
用于在群集中的所有结点之间协调取消请求的逻辑电路;
用于保留源逻辑单元及其相应的LUN装置的逻辑电路;
用于删除目标逻辑单元和位屏蔽的逻辑电路。
5、根据权利要求4的装置,还包括:
群集系统中位屏蔽的多个拷贝,每一拷贝具有与其相关联的检查和;
如果多个结点的任何结点失效,用于通过继续存在的结点检验检查和从而确定位屏蔽的有效拷贝的逻辑操作。
6、根据权利要求5的装置,还包括用于对所述拷贝执行同步、顺序更新以确保在任何特定时间只有一个拷贝正被更新的逻辑电路。
7、根据权利要求6的装置,其中如果多个结点中的任一结点失效,源逻辑单元被成功迁移到目标逻辑单元。
8、根据权利要求7的装置,还包括:
在迁移步骤期间用于结点执行从客户机到LUN装置的I/O访问的逻辑电路,该用于执行的逻辑电路包括:
如果I/O访问是读访问,用于从源逻辑单元返回数据给客户机的逻辑电路;
如果I/O访问是包括将被写的数据的写访问,用于执行下述步骤的逻辑电路:
确定数据将被写到哪一数据块;
锁定包含所述数据块的拼接;
如果所述拼接中的所有位均被置位,则把将要写的数据写入源逻辑单元和目标逻辑单元;
如果所述拼接中不是所有位均被置位,则从源逻辑单元读所述拼接中的数据块、将要写的数据与读出的数据块结合、及将结合后的数据写入目标逻辑单元和源逻辑单元;
置位位屏蔽中对应于所复制数据块的位;
解锁所述拼接。
9、一种方法,包括步骤:
提供与一个或多个存储系统一起运行的多个结点;
由所述结点提供由客户机访问的LUN装置,LUN装置映射到对应于一个或多个存储系统上的存储区的源逻辑单元;
由多个结点中的两个或多个结点并行将源逻辑单元迁移到目标逻辑单元,目标逻辑单元对应于一个或多个存储系统上的不同存储区。
10、根据权利要求9的方法,其中迁移步骤包括:
确定将从源逻辑单元移到目标逻辑单元的数据块;
提供位屏蔽,每一数据块具有一位;
将位屏蔽分为多位的拼接;
由多个结点中的两个或多个结点的每一结点重复执行下述步骤,直到源逻辑单元已被完全移到目标逻辑单元为止:
试图锁定拼接;
如果拼接被成功锁定,则:
将对应于拼接中的每一位的数据块复制到目标逻辑单元;
置位位屏蔽中对应于所复制数据块的位;
当对应于拼接中的位的所有数据块均已被复制时解锁拼接。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/017,554 US7343467B2 (en) | 2004-12-20 | 2004-12-20 | Method to perform parallel data migration in a clustered storage environment |
US11/017,554 | 2004-12-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101084481A true CN101084481A (zh) | 2007-12-05 |
Family
ID=36190612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800438994A Pending CN101084481A (zh) | 2004-12-20 | 2005-12-20 | 在群集存储环境中执行并行数据迁移的方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7343467B2 (zh) |
EP (1) | EP1839117A2 (zh) |
JP (1) | JP2008524724A (zh) |
CN (1) | CN101084481A (zh) |
WO (1) | WO2006069178A2 (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471830B (zh) * | 2007-12-25 | 2011-02-02 | 英业达股份有限公司 | Linux系统下的多路径访问远程逻辑设备的方法 |
CN103858092A (zh) * | 2013-12-19 | 2014-06-11 | 华为技术有限公司 | 一种数据迁移方法和装置 |
CN104794155A (zh) * | 2015-03-12 | 2015-07-22 | 北京奇虎科技有限公司 | 数据加载的方法、装置及系统 |
CN105359147A (zh) * | 2013-07-09 | 2016-02-24 | 甲骨文国际公司 | 在线数据库迁移 |
CN106155948A (zh) * | 2015-04-16 | 2016-11-23 | 伊姆西公司 | 用于存储系统的方法、聚合配置引擎、聚合配置工具以及文件系统 |
CN107832461A (zh) * | 2017-11-28 | 2018-03-23 | 中国银行股份有限公司 | 一种数据迁移方法及系统 |
CN107991941A (zh) * | 2017-12-27 | 2018-05-04 | 北京卫星制造厂 | 一种mechatrolink-ⅱ总线型驱动控制系统 |
US10248671B2 (en) | 2013-07-09 | 2019-04-02 | Oracle International Corporation | Dynamic migration script management |
CN109901786A (zh) * | 2017-12-08 | 2019-06-18 | 腾讯科技(深圳)有限公司 | 数据迁移方法、系统、装置及计算机可读存储介质 |
CN110688056A (zh) * | 2018-07-05 | 2020-01-14 | 北京忆恒创源科技有限公司 | Nvm组的存储介质替换 |
US10540335B2 (en) | 2013-07-09 | 2020-01-21 | Oracle International Corporation | Solution to generate a scriptset for an automated database migration |
US10691654B2 (en) | 2013-07-09 | 2020-06-23 | Oracle International Corporation | Automated database migration architecture |
US10776244B2 (en) | 2013-07-09 | 2020-09-15 | Oracle International Corporation | Consolidation planning services for systems migration |
US11036696B2 (en) | 2016-06-07 | 2021-06-15 | Oracle International Corporation | Resource allocation for database provisioning |
US11256671B2 (en) | 2019-09-13 | 2022-02-22 | Oracle International Corporation | Integrated transition control center |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162600B2 (en) | 2005-03-29 | 2007-01-09 | Hitachi, Ltd. | Data copying method and apparatus in a thin provisioned system |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
EP1738258A4 (en) | 2004-03-13 | 2009-10-28 | Cluster Resources Inc | SYSTEM AND METHOD IMPLEMENTING OBJECT TRIGGERS |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
CA2586763C (en) | 2004-11-08 | 2013-12-17 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
US7698430B2 (en) * | 2005-03-16 | 2010-04-13 | Adaptive Computing Enterprises, Inc. | On-demand compute environment |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9225663B2 (en) | 2005-03-16 | 2015-12-29 | Adaptive Computing Enterprises, Inc. | System and method providing a virtual private cluster |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
EP3203374B1 (en) | 2005-04-07 | 2021-11-24 | III Holdings 12, LLC | On-demand access to compute resources |
US8341459B2 (en) * | 2007-08-01 | 2012-12-25 | Brocade Communications Systems, Inc. | Data migration without interrupting host access and with data lock for write access requests such that held write access requests do not expire |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US8140637B2 (en) | 2007-10-25 | 2012-03-20 | Hewlett-Packard Development Company, L.P. | Communicating chunks between devices |
US8838541B2 (en) | 2007-10-25 | 2014-09-16 | Hewlett-Packard Development Company, L.P. | Data processing apparatus and method of processing data |
GB2466579B (en) | 2007-10-25 | 2012-12-26 | Hewlett Packard Development Co | Data processing apparatus and method of deduplicating data |
US8782368B2 (en) * | 2007-10-25 | 2014-07-15 | Hewlett-Packard Development Company, L.P. | Storing chunks in containers |
US9417812B1 (en) * | 2007-12-26 | 2016-08-16 | Emc Corporation | Methods and apparatus for minimally disruptive data migration |
WO2009085326A1 (en) * | 2008-01-03 | 2009-07-09 | Hewlett-Packard Development Company, L.P. | Performing mirroring of a logical storage unit |
US7899850B2 (en) | 2008-02-22 | 2011-03-01 | Bycast, Inc. | Relational objects for the optimized management of fixed-content storage systems |
WO2009131585A1 (en) | 2008-04-25 | 2009-10-29 | Hewlett-Packard Development Company, L.P. | Data processing apparatus and method of processing data |
US8954685B2 (en) * | 2008-06-23 | 2015-02-10 | International Business Machines Corporation | Virtualized SAS adapter with logic unit partitioning |
JP2010033481A (ja) * | 2008-07-31 | 2010-02-12 | Fujitsu Ltd | 仮想化スイッチおよびコンピュータシステム |
US20100049931A1 (en) * | 2008-08-20 | 2010-02-25 | Jacobson Michael B | Copying Logical Disk Mappings Between Arrays |
US8898267B2 (en) | 2009-01-19 | 2014-11-25 | Netapp, Inc. | Modifying information lifecycle management rules in a distributed system |
US8261033B1 (en) * | 2009-06-04 | 2012-09-04 | Bycast Inc. | Time optimized secure traceable migration of massive quantities of data in a distributed storage system |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
JP5603941B2 (ja) * | 2010-08-06 | 2014-10-08 | 株式会社日立製作所 | 計算機システム及びデータ移行方法 |
CN102375955A (zh) * | 2010-08-17 | 2012-03-14 | 伊姆西公司 | 网络文件系统联合命名空间内文件加锁的系统与方法 |
US8555019B2 (en) * | 2010-09-08 | 2013-10-08 | International Business Machines Corporation | Using a migration cache to cache tracks during migration |
KR101374655B1 (ko) * | 2010-09-29 | 2014-03-24 | 네이버비즈니스플랫폼 주식회사 | 파일 볼륨을 청크 단위로 분산 처리하는 시스템 및 방법 |
CN102073462B (zh) * | 2010-11-29 | 2013-04-17 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
US8799594B2 (en) * | 2011-04-27 | 2014-08-05 | International Business Machines Corporation | Online volume migration using multi-path input/output masquerading |
US8904128B2 (en) | 2011-06-08 | 2014-12-02 | Hewlett-Packard Development Company, L.P. | Processing a request to restore deduplicated data |
US20130166670A1 (en) * | 2011-12-21 | 2013-06-27 | James George Wayda | Networked storage system and method including private data network |
US9355120B1 (en) | 2012-03-02 | 2016-05-31 | Netapp, Inc. | Systems and methods for managing files in a content storage system |
WO2014174570A1 (ja) * | 2013-04-22 | 2014-10-30 | 株式会社日立製作所 | ストレージ管理計算機、ストレージ管理方法、およびストレージシステム |
US11157664B2 (en) | 2013-07-09 | 2021-10-26 | Oracle International Corporation | Database modeling and analysis |
US10503723B2 (en) * | 2013-07-19 | 2019-12-10 | Transform Sr Brands Llc | Method and system for migrating data between systems without downtime |
JP2015072629A (ja) * | 2013-10-03 | 2015-04-16 | 富士通株式会社 | データ処理プログラム及びデータ処理方法 |
US10235053B1 (en) * | 2014-03-31 | 2019-03-19 | Emc Corporation | Method and system for using host driver for flexible allocation fast-sideways data movements |
US20160080490A1 (en) | 2014-09-15 | 2016-03-17 | Microsoft Corporation | Online data movement without compromising data integrity |
US9971525B2 (en) * | 2015-02-26 | 2018-05-15 | Red Hat, Inc. | Peer to peer volume extension in a shared storage environment |
US9715502B1 (en) * | 2015-03-25 | 2017-07-25 | Amazon Technologies, Inc. | Distributed data migration using chunking |
US20170031600A1 (en) * | 2015-07-30 | 2017-02-02 | Netapp Inc. | Real-time analysis for dynamic storage |
US10296255B1 (en) * | 2015-12-16 | 2019-05-21 | EMC IP Holding Company LLC | Data migration techniques |
CN108228672B (zh) * | 2016-12-22 | 2022-05-03 | 阿里巴巴集团控股有限公司 | 一种元数据迁移方法、装置、系统及设备 |
CN106844510B (zh) * | 2016-12-28 | 2021-01-15 | 北京五八信息技术有限公司 | 一种分布式数据库集群的数据迁移方法和装置 |
US10530870B2 (en) * | 2017-01-04 | 2020-01-07 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Direct volume migration in a storage area network |
CN107171865A (zh) * | 2017-06-30 | 2017-09-15 | 郑州云海信息技术有限公司 | 一种多节点存储系统以及LUN ownernode切换方法 |
CN112052124B (zh) * | 2020-09-25 | 2023-09-22 | 杭州宏杉科技股份有限公司 | 数据冗余方法及分布式存储集群 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459864A (en) * | 1993-02-02 | 1995-10-17 | International Business Machines Corporation | Load balancing, error recovery, and reconfiguration control in a data movement subsystem with cooperating plural queue processors |
US5673381A (en) * | 1994-05-27 | 1997-09-30 | Cheyenne Software International Sales Corp. | System and parallel streaming and data stripping to back-up a network |
US5680640A (en) * | 1995-09-01 | 1997-10-21 | Emc Corporation | System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state |
US6073218A (en) * | 1996-12-23 | 2000-06-06 | Lsi Logic Corp. | Methods and apparatus for coordinating shared multiple raid controller access to common storage devices |
US6145066A (en) * | 1997-11-14 | 2000-11-07 | Amdahl Corporation | Computer system with transparent data migration between storage volumes |
US5924097A (en) * | 1997-12-23 | 1999-07-13 | Unisys Corporation | Balanced input/output task management for use in multiprocessor transaction processing system |
US6601138B2 (en) * | 1998-06-05 | 2003-07-29 | International Business Machines Corporation | Apparatus system and method for N-way RAID controller having improved performance and fault tolerance |
JP3918394B2 (ja) | 2000-03-03 | 2007-05-23 | 株式会社日立製作所 | データ移行方法 |
JP4175764B2 (ja) | 2000-05-18 | 2008-11-05 | 株式会社日立製作所 | 計算機システム |
US6934724B1 (en) * | 2000-12-21 | 2005-08-23 | Emc Corporation | Methods and apparatus for reducing resource contention in parallel data backup processes |
US20030028514A1 (en) * | 2001-06-05 | 2003-02-06 | Lord Stephen Philip | Extended attribute caching in clustered filesystem |
US7093088B1 (en) * | 2003-04-23 | 2006-08-15 | Emc Corporation | Method and apparatus for undoing a data migration in a computer system |
US6959313B2 (en) * | 2003-07-08 | 2005-10-25 | Pillar Data Systems, Inc. | Snapshots of file systems in data storage systems |
-
2004
- 2004-12-20 US US11/017,554 patent/US7343467B2/en active Active
-
2005
- 2005-12-20 CN CNA2005800438994A patent/CN101084481A/zh active Pending
- 2005-12-20 WO PCT/US2005/046433 patent/WO2006069178A2/en active Application Filing
- 2005-12-20 EP EP05855057A patent/EP1839117A2/en not_active Withdrawn
- 2005-12-20 JP JP2007547047A patent/JP2008524724A/ja active Pending
-
2008
- 2008-01-28 US US12/020,609 patent/US7913056B2/en active Active
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471830B (zh) * | 2007-12-25 | 2011-02-02 | 英业达股份有限公司 | Linux系统下的多路径访问远程逻辑设备的方法 |
US10540335B2 (en) | 2013-07-09 | 2020-01-21 | Oracle International Corporation | Solution to generate a scriptset for an automated database migration |
CN105359147A (zh) * | 2013-07-09 | 2016-02-24 | 甲骨文国际公司 | 在线数据库迁移 |
US10776244B2 (en) | 2013-07-09 | 2020-09-15 | Oracle International Corporation | Consolidation planning services for systems migration |
US10691654B2 (en) | 2013-07-09 | 2020-06-23 | Oracle International Corporation | Automated database migration architecture |
US10248671B2 (en) | 2013-07-09 | 2019-04-02 | Oracle International Corporation | Dynamic migration script management |
CN103858092A (zh) * | 2013-12-19 | 2014-06-11 | 华为技术有限公司 | 一种数据迁移方法和装置 |
CN103858092B (zh) * | 2013-12-19 | 2016-03-09 | 华为技术有限公司 | 一种数据迁移方法和装置 |
CN104794155A (zh) * | 2015-03-12 | 2015-07-22 | 北京奇虎科技有限公司 | 数据加载的方法、装置及系统 |
CN104794155B (zh) * | 2015-03-12 | 2019-06-18 | 北京奇虎科技有限公司 | 数据加载的方法、装置及系统 |
CN106155948A (zh) * | 2015-04-16 | 2016-11-23 | 伊姆西公司 | 用于存储系统的方法、聚合配置引擎、聚合配置工具以及文件系统 |
CN106155948B (zh) * | 2015-04-16 | 2019-07-05 | 伊姆西公司 | 用于存储系统的方法、聚合配置引擎、聚合配置工具以及文件系统 |
US11036696B2 (en) | 2016-06-07 | 2021-06-15 | Oracle International Corporation | Resource allocation for database provisioning |
CN107832461A (zh) * | 2017-11-28 | 2018-03-23 | 中国银行股份有限公司 | 一种数据迁移方法及系统 |
CN109901786A (zh) * | 2017-12-08 | 2019-06-18 | 腾讯科技(深圳)有限公司 | 数据迁移方法、系统、装置及计算机可读存储介质 |
CN109901786B (zh) * | 2017-12-08 | 2021-07-16 | 腾讯科技(深圳)有限公司 | 数据迁移方法、系统、装置及计算机可读存储介质 |
CN107991941B (zh) * | 2017-12-27 | 2020-03-24 | 北京卫星制造厂 | 一种mechatrolink‐ⅱ总线型驱动控制系统 |
CN107991941A (zh) * | 2017-12-27 | 2018-05-04 | 北京卫星制造厂 | 一种mechatrolink-ⅱ总线型驱动控制系统 |
CN110688056A (zh) * | 2018-07-05 | 2020-01-14 | 北京忆恒创源科技有限公司 | Nvm组的存储介质替换 |
US11256671B2 (en) | 2019-09-13 | 2022-02-22 | Oracle International Corporation | Integrated transition control center |
US11822526B2 (en) | 2019-09-13 | 2023-11-21 | Oracle International Corporation | Integrated transition control center |
Also Published As
Publication number | Publication date |
---|---|
US7343467B2 (en) | 2008-03-11 |
US7913056B2 (en) | 2011-03-22 |
WO2006069178A2 (en) | 2006-06-29 |
JP2008524724A (ja) | 2008-07-10 |
EP1839117A2 (en) | 2007-10-03 |
US20080147942A1 (en) | 2008-06-19 |
US20060136691A1 (en) | 2006-06-22 |
WO2006069178A3 (en) | 2006-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101084481A (zh) | 在群集存储环境中执行并行数据迁移的方法 | |
CN114341792B (zh) | 存储集群之间的数据分区切换 | |
US10114581B1 (en) | Creating a virtual access point in time on an object based journal replication | |
US11768820B2 (en) | Elimination of log file synchronization delay at transaction commit time | |
US9235481B1 (en) | Continuous data replication | |
US6826666B2 (en) | Method and system for transporting data content on a storage area network | |
US8229897B2 (en) | Restoring a file to its proper storage tier in an information lifecycle management environment | |
US7904748B2 (en) | Remote disaster recovery and data migration using virtual appliance migration | |
US7173929B1 (en) | Fast path for performing data operations | |
US6959373B2 (en) | Dynamic and variable length extents | |
US10831613B2 (en) | Replicating a source data set to a target data store | |
US6986015B2 (en) | Fast path caching | |
US8627012B1 (en) | System and method for improving cache performance | |
US7013379B1 (en) | I/O primitives | |
US7702866B2 (en) | Use of volume containers in replication and provisioning management | |
US7761431B2 (en) | Consolidating session information for a cluster of sessions in a coupled session environment | |
EP1636690B1 (en) | Managing a relationship between one target volume and one source volume | |
US11579983B2 (en) | Snapshot performance optimizations | |
US8850126B2 (en) | Exclusive access during a critical sub-operation to enable simultaneous operations | |
US11875060B2 (en) | Replication techniques using a replication log | |
Brinkmann et al. | Realizing multilevel snapshots in dynamically changing virtualized storage environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |