非同步资料卷复制的方法及其储存系统的制作方法

文档序号:6598339阅读:166来源:国知局
专利名称:非同步资料卷复制的方法及其储存系统的制作方法
技术领域
本发明涉及一种资料卷复制的方法及其装置,特别是涉及一种将近端资料卷非同 步复制至远端资料卷的方法及其储存系统。
背景技术
在现代社会中,储存装置被广泛地应用于各式各样的电脑系统或储存系统之中。 依照储存的目的,有些储存装置是用来储存系统运作时需要常态性存取的数据,此类储存 装置称为主要储存装置(primary storagedevice)。而另一些储存装置则是用来储存主要 储存装置的备份数据,此类储存装置称为次要储存装置(secondary storage device),以 便当主要储存装置失效或损坏时,可以取代主要储存装置而让系统维持正常运作,以增加 系统的可靠性(reliability)。储存装置可以是硬式磁盘机(hard disk drive)、磁带(tape)、内存记录装置 (memory drive)、光储存记录装置(optical storage drive)或其他可以用于储存数据的 储存装置。这些储存装置都称为“实体储存装置”(physical storage device, PSD) 0储存系统(或电脑系统)在管理数据时,实际上并不是以一个实体储存装置(PSD) 为单位,而是利用储存虚拟化(storage virtualization)技术,将一或数个实体储存装置 (PSD)的不同区段结合成一个逻辑盘(LogiCalDrive,LD)或分割区(partition)。若是控制 器将逻辑盘(Logical Drive,LD)或分割区(partition)映射(map)出去供主机(host)存 取,则称为一个逻辑单元(logical unit number,LUN)。一个逻辑盘(Logical Drive, LD) 或分割区(partition)可以进一步地划分为一或多个数据储存区域(datastorage area), 称之为媒体区(Media Extend)。许多储存系统会对其部份或全部的资料卷(volume)做整 体地数据复制(replicate)至其他资料卷(volume)之中,如此当原始数据损坏或无法读取 时,可以利用复制数据来恢复原始数据,或者以复制数据代替原始数据作为其他应用。若是称复制数据的来源是来源资料卷(source volume),复制数据的储存位置是 目的资料卷(destination volume),以资料卷(volume)为单位制作复制数据具有以下用 途来源资料卷(source volume)的备份、报告、归档,或者用来代替来源资料卷(source volume)进行任何需要来源资料卷(source volume)的操作,例如模拟、预报、数据采矿 (data mining)等。尤其,许多数据存取的操作都需要先对欲存取的数据做锁定(locking), 如此不可避免地会影响数据读写的绩效,亦会影响主机(host)对数据的正常存取;因此, 若利用目的资料卷(destination volume)代替来源资料卷(source volume)进行上述操 作,则可以在不影响来源资料卷(sourcevolume)的绩效下提供主机(host)数据存取的服 务。资料卷复制虽然提供了以上种种的优点与功用,但是若是备份数据与来源数据皆 储存在同一地点的储存系统之中,一但遇到一些重大的灾害,例如地震、火灾、恐怖攻击, 导致整个储存系统或储存装置遭到实体上的破坏,则仍然无法维护数据的安全性,会导致 重要数据的永久性丧失。
为解决以上问题,远端资料卷复制的方式应运而生,藉由将重要数据的备份数据复制至另一地点的远端储存装置中,以确保重要数据的安全性。只是,要将近端的数据复制至远端的储存装置,需要通过网络来进行传输。因此, 网络线传输的频宽限制是进行远端资料卷复制的一大瓶颈。因此,对于远端资料卷复制领 域而言,需要有一复制技术可以回避此远端数据传输的瓶颈限制,让储存系统的运作绩效 不至因此而明显受到影响。

发明内容
本发明的目的在于提供一种应用在远端资料卷复制的方法及其储存系统,可以因 应数据远端传输时的网络频宽限制问题,而让储存系统的运作绩效维持在较佳的水准。本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出 的一种非同步资料卷复制的方法,其包括以下步骤镜射位于一第一位置的一来源资料卷 的数据到位于一第二位置的一目的资料卷;接收一主机输出入要求,该主机输出入要求来 自位于该第一位置的一主机,且欲对该来源资料卷的一第一数据区块写入一更新数据;执 行一写入备份操作,该写入备份操作先判断该来源资料卷将被写入的该第一数据区块的数 据是否与该目的资料卷相对应的一第二数据区块的数据相同,而决定是否执行一将该来源 资料卷的该第一数据区块的原始数据备份至位于该第一位置的一第一备份影像;写入该更 新数据至该来源资料卷的该第一数据区块;以及回复该主机该主机输出入要求已经完成。本发明的目的及解决其技术问题还可采用以下技术措施进一步实现。前述的非同步资料卷复制的方法,其中还进行一拷贝程序,用以将储存于该第一 备份影像中的数据、或该来源资料卷中的相对应数据拷贝至该目的资料卷。前述的非同步资料卷复制的方法,其中所述的拷贝程序是藉由一通讯媒体将数据 由该第一位置传输至该第二位置。前述的非同步资料卷复制的方法,其中还包含在该来源资料卷的一资料卷记录 表中配置一第一项目,并且初始化该第一项目的多个栏位,包括设定一第一栏位的序号为 一初始设定值、以及设定一第二栏位的操作代码为一代表来源资料卷状态的操作代码;其 中更指派该第一栏位的该初始设定值给一第一变数;在该目的资料卷的一资料卷记录表中 配置一第二项目,并且初始化该第二项目的多个栏位,包括设定一第二栏位的操作代码为 一代表目的资料卷状态的操作代码;增加该目的资料卷的一主要序号变数的值,并将该主 要序号变数的值拷贝至该目的资料卷的该资料卷记录表的该第二项目中记录序号的一第 一栏位,以及拷贝至该来源资料卷的该资料卷记录表的该第一项目中记录另一资料卷的资 料卷记录表的项目的序号的一第四栏位;其中更指派该目的资料卷的该主要序号变数的现 行值给一第二变数;设定该目的资料卷的该资料卷记录表的该第二项目中一第四栏位为一 起始位址,其中该第四栏位用于记录下一个要进行同步复制的数据区块的索引号;增加该 来源资料卷的一主要序号变数的值,并将该来源资料卷的该主要序号变数的值拷贝至该来 源资料卷的该资料卷记录表的该第一项目中记录序号的该第一栏位;其中更指派该来源资 料卷的该主要序号变数的值给该第一变数;在该目的资料卷的该资料卷记录表中配置一第 三项目,并且初始化该第三项目的多个栏位,包括设定一第二栏位的操作代码为一代表分 离状态的操作代码;再次增加该目的资料卷的该主要序号变数的值并将之指派给一第三变数,并将增加后的该目的资料卷的该主要序号变数的值拷贝至该目的资料卷的该资料卷记录表的该第三项目中记录序号的一第一栏位;以及判断该目的资料卷与该来源资料卷的复 制作业是否已经完成。前述的非同步资料卷复制的方法,其中还增加一步骤执行一背景拷贝来源资料 卷至目的资料卷程序。前述的非同步资料卷复制的方法,其中还增加一步骤判断是否有一主机输出入 要求要对该来源资料卷存取数据。前述的非同步资料卷复制的方法,其中还增加一步骤将该主机输出入要求分解 为至少一逻辑盘输出入要求,每一该逻辑盘输出入要求皆对应到该来源资料卷中一欲存取 数据区块。前述的非同步资料卷复制的方法,其中该至少一逻辑盘输出入要求的每一并行执 行以下步骤判断该主机输出入要求是否是一写入要求;执行一检查/拷贝来源资料卷的 区块数据至目的资料卷的程序;写入该主机输出入要求的数据至该来源资料卷的该欲存取 数据区块;以及设定该来源资料卷的一资料卷区块更新表中对应该欲存取数据区块的序号 等于该第一变数的值。前述的非同步资料卷复制的方法,其中还增加以下步骤判断该主机输出入要求 是否是一写入要求;判断该主机输出入要求是否是存取该来源资料卷;以及从该来源资料 卷的该欲存取区块读取数据。前述的非同步资料卷复制的方法,其中还增加以下步骤判断该主机输出入要求 是否是一写入要求;判断该主机输出入要求是否是存取该来源资料卷;判断该主机输出入 要求是否是存取该目的资料卷并且判断该目的资料卷中正进行处理的该资料卷区块更新 表的该项目的序号是否小于该目的资料卷的该第二变数的值;以及从该来源资料卷的该欲 存取区块、或该第一备份影像的相对位置的区块读取数据。前述的非同步资料卷复制的方法,其中还增加以下步骤判断该主机输出入要求 是否是一写入要求;判断该主机输出入要求是否是存取该来源资料卷;判断该主机输出入 要求是否是存取该目的资料卷并且判断该目的资料卷中正进行处理的该资料卷区块更新 表的该项目的序号是否小于该目的资料卷的该第二变数的值;以及从该目的资料卷的该欲 存取区块读取数据。前述的非同步资料卷复制的方法,其中还增加一步骤判断对应该至少一逻辑盘 输出入要求的程序是否都已执行完成。前述的非同步资料卷复制的方法,其中还增加一步骤回报送出该主机输出入要 求的一主机,该主机输出入要求已处理完毕。前述的非同步资料卷复制的方法,其中该背景拷贝来源资料卷至目的资料卷程序 包含以下步骤对于该目的资料卷的一资料卷区块更新表的每一项目所代表的每一数据区 块,呼叫并执行一检查/拷贝来源资料卷的区块数据至目的资料卷程序;以及判断是否还 有任何该资料卷区块更新表中所记录的数据区块尚未进行同步复制。前述的非同步资料卷复制的方法,其中如果判断结果是该资料卷区块更新表中还 有数据区块尚未进行同步复制,则将该目的资料卷的该资料卷记录表的该第二项目中该第 四栏位所记录的下一个要进行同步复制的数据区块的索引号增加1个单位。
前述的非同步资料卷复制的方法,其中如果判断结果是该资料卷区块更新表中所 有的数据区块都已同步复制完成,则设定该目的资料卷的该资料卷记录表的该第二项目中 该第四栏位的值为一预设值,该预设值代表所有数据区块的同步复制皆已完成。前述的非同步资料卷复制的方法,其中该预设值是“_1”。前述的非同步资料卷复制的方法,其中该检查/拷贝来源资料卷的区块数据至目 的资料卷的程序包含以下步骤判断该目的资料卷的一资料卷区块更新表中一正进行处理 的数据区块的序号是否小于该第二变数的值。前述的非同步资料卷复制的方法,其中该检查/拷贝来源资料卷的区块数据至目 的资料卷的程序还包含以下步骤执行一检查资料卷区块是否已在同步状态的程序,并且 检查该程序是否回传一 “伪”讯息。前述的非同步资料卷复制的方法,其中该检查/拷贝来源资料卷的区块数据至目 的资料卷的程序还包含以下步骤拷贝该来源资料卷的区块数据至该第一备份影像,以做 为该写入备份操作。前述的非同步资料卷复制的方法,其中该检查/拷贝来源资料卷的区块数据至目 的资料卷的程序包含以下步骤判断该目的资料卷的一资料卷区块更新表中一正进行处理 的数据区块的序号是否小于该第二变数的值。前述的非同步资料卷复制的方法,其中该检查/拷贝来源资料卷的区块数据至目 的资料卷的程序还包含以下步骤执行一检查资料卷区块是否已在同步状态的程序,并且 检查该程序是否回传一 “伪”讯息。前述的非同步资料卷复制的方法,其中该检查/拷贝来源资料卷的区块数据至目 的资料卷的程序还包含以下步骤判断该目的资料卷是否是可存取。前述的非同步资料卷复制的方法,其中该检查/拷贝来源资料卷的区块数据至目 的资料卷的程序还包含以下步骤设定一同步错误旗标为“真”。前述的非同步资料卷复制的方法,其中该检查/拷贝来源资料卷的区块数据至目 的资料卷的程序还包含以下步骤判断该第一备份影像的一对应区块是否是空的。前述的非同步资料卷复制的方法,其中该检查/拷贝来源资料卷的区块数据至目 的资料卷的程序还包含以下步骤复制该第一备份影像的该对应区块的数据至该目的资料 卷;以及设定该目的资料卷中正进行处理的该资料卷区块更新表的项目的序号等于该第二 变数的值。前述的非同步资料卷复制的方法,其中该检查/拷贝来源资料卷的区块数据至目 的资料卷的程序还包含以下步骤判断该来源资料卷中正进行处理的该资料卷区块更新表 的项目的序号是否小于该第一变数的值;以及设定该目的资料卷中正进行处理的该资料卷区块更新表的项目的序号等于该第二变数的值。前述的非同步资料卷复制的方法,其中该检查/拷贝来源资料卷的区块数据至目的资料卷的程序还包含以下步骤判断该来源资料卷中正进行处理的该资料卷区块更新表 的项目的序号是否小于该第一变数的值;复制该来源资料卷的该对应区块的数据至该目的 资料卷;以及设定该目的资料卷中正进行处理的该资料卷区块更新表的项目的序号等于该 第二变数的值。
前述的非同步资料卷复制的方法,其中检查资料卷区块是否已在同步状态的程序是包含以下五个判断步骤判断该目的资料卷的该资料卷区块更新表中该正进行处理的数 据区块的序号是否等于一初始设定值;判断该目的资料卷的该资料卷区块更新表中该正进 行处理的数据区块的序号所对应的该目的资料卷的该资料卷记录表的项目是否找不到,或 者虽有找到但是读不到或两者数据不一致;判断该目的资料卷的该资料卷记录表中目前正 进行的项目的该第二栏位所记载的操作代码是否不是该代表目的资料卷状态的操作代码, 或者该目的资料卷该资料卷记录表中目前正进行的项目的一第三栏位所记载的另一产生 关联的资料卷的身份是否不是其对应的该来源资料卷的身份代码;判断与该目的资料卷的 该资料卷区块更新表中该正进行处理的数据区块的序号相同的该来源资料卷的该资料卷 记录表中目前正进行的项目的该第四栏位所记载的另一资料卷的序号的该来源资料卷的 该资料卷记录表中的项目,是否找不到,或者虽有找到但是读不到或记载的数据不一致;以 及判断该来源资料卷的该资料卷区块更新表中该正进行处理的数据区块的序号是否大于 或等于该来源资料卷的该资料卷记录表中目前正进行的项目的该第一栏位所记载的序号。前述的非同步资料卷复制的方法,其中只要该检查资料卷区块是否已在同步状态 的程序的该五个判断步骤的任一的判断结果为“是”,则回传该“伪”讯息。前述的非同步资料卷复制的方法,其中该检查资料卷区块是否已在同步状态的程 序的该五个判断步骤的所有判断结果皆为“否”,则回传一 “真”讯息。前述的非同步资料卷复制的方法,其中该初始设定值是“0”。前述的非同步资料卷复制的方法,其中还包含一非同步复制失效转移处理程序, 包含以下步骤解映射在该第一位置的一第一储存虚拟化子系统中的该目的资料卷以及其 对应的一第二区段分配系统;挂载该第二区段分配系统的一第二备份影像在该第二位置的 一第二储存虚拟化子系统的一第二控制器上,其中该第二备份影像储存于该第二位置;初 始化一返回作业,用以将该目的资料卷的数据回复到该第二备份影像所记录的状态,并且, 该目的资料卷的该资料卷区块更新表持续追踪并记录因该返回作业而导致的数据更新;分 离该目的资料卷与该第二备份影像;以及映射该目的资料卷给该主机,以服务该主机的需 求,并且,该目的资料卷的该资料卷区块更新表持续追踪并记录该主机对该目的资料卷所 做的数据更新。前述的非同步资料卷复制的方法,其中还包含一非同步复制失效回复处理程序, 包含以下步骤解映射该主机中的该目的资料卷,并且卸载该目的资料卷的该第二区段分 配系统;映射该目的资料卷以及该第二区段分配系统给位于该第一位置的一第一储存虚拟 化子系统的一第一控制器;挂载该来源资料卷的一第一区段分配系统和该目的资料卷的该 第二区段分配系统在该第一控制器上。初始化一同步的再同步复制作业,用以将该目的资 料卷的数据复制至该来源资料卷,并且分离该目的资料卷与该来源资料卷;映射该来源资 料卷给该主机存取;以及更改该来源资料卷与该目的资料卷间的一复制模式为非同步当该 同步的再同步复制作业完成。前述的非同步资料卷复制的方法,其中还包含一非同步复制失效回复处理程序, 包含以下步骤映射该来源资料卷以及其对应的一第一区段分配系统给位于该第二位置的 该第二储存虚拟化子系统的该第二控制;挂载该来源资料卷的该第一区段分配系统在该第 二位置的该第二控制上;以及初始化一同步或非同步的再同步复制作业,用以将该目的资料卷的数据同步或非同步复制至该来源资料卷。前述的非同步资料卷复制的方法,其中该非同步复制失效回复处理程序还包含以 下步骤解映射该主机中的该目的资料卷;卸载位于该第二位置的该第二控制器中的该目 的资料卷的该第二区段分配系统和该来源资料卷的该第一区段分配系统;解映射位于该第 二位置的该第二控制中的该来源资料卷以及该第一其区段分配系统;映射该目的资料卷以 及该第二区段分配系统给位于该第一位置的该第一控制器;挂载该来源资料卷的该第一区 段分配系统、该目的资料卷的该第二区段分配系统和该第一备份影像在位于该第一位置的 该第一控制器上;初始化一返回程序,用以将该来源资料卷的数据回复到该第一备份影像 所记录的状态,并且该来源资料卷的该资料卷区块更新表持续追踪并记录因该 返回程序而 导致的该来源资料卷的更新状态;分离该来源资料卷与该第一备份影像;映射该来源资料 卷给该主机,并且该目的资料卷的该资料卷区块更新表持续追踪并记录该目的资料卷的更 新状态;以及进行一非同步复制作业。本发明的目的及解决其技术问题还采用以下技术方案来实现。依据本发明提出 的一种执行非同步资料卷复制的储存系统,其包含一第一储存虚拟化子系统,位于一第一 位置,包含有一第一控制器与一第一储存单元,其中该第一储存单元中具有一第一资料卷 与一第一备份影像;一第二储存单元,位于一第二位置,该第二储存单元中具有一第二资料 卷;以及一主机,位于该第一位置,与该第一储存虚拟化子系统耦接,并对该第一储存虚拟 化子系统中的该第一资料卷发出一主机输出入要求;其中,当该第一储存虚拟化子系统中 的该第一控制器接收到该主机输出入要求后,执行一写入备份操作,该写入备份操作判断 该第一资料卷将被写入的一第一数据区块的数据是否与该第二资料卷相对应的一第二数 据区块的数据相同,而决定是否执行一将该第一资料卷的该第一数据区块的原始数据备份 至该第一备份影像的操作;然后该第一控制器写入该主机输出入要求的一更新数据至该第 一资料卷的该第一数据区块,之后回复该主机该主机输出入要求已经完成。本发明的目的及解决其技术问题还可采用以下技术措施进一步实现。前述的执行非同步资料卷复制的储存系统,其中该第二储存单元还具有一第二备 份影像,用以当该第二资料卷的数据更动时,记录该第二资料卷的原始数据之用。前述的执行非同步资料卷复制的储存系统,其中其中位于该第一位置的该第一储 存虚拟化子系统与位于该第二位置的该第二储存单元之间通过一通讯媒体传输数据。前述的执行非同步资料卷复制的储存系统,其中其中该通讯媒体是以下组合的其 中之一区域网络、广域网络、储存区域网络、网际网络、与专用的数据传输通道。前述的执行非同步资料卷复制的储存系统,其中其中该第一备份影像是由一区段 分配系统管理。前述的执行非同步资料卷复制的储存系统,其中该区段分配系统包含有一第一属 性区块,用以记载该区段分配系统的身份与相关联的至少一媒体区的身份;一区块关联集 相关资讯栏位,用以记载指向一区块关联集的资讯、以及与该区块关联集关联的该来源资 料卷的资讯;一第一日志栏位,用来存放一运作日志,以供该系统发生错误或断电情事时可 供回复之用。前述的执行非同步资料卷复制的储存系统,其中该区块关联集相关资讯栏位还包 含有一区段分配表与一节点表。
前述的执行非同步资料卷复制的储存系统,其中其中该区块关联集还包含有一第二属性区块,用以记载该区块关联集的身份、该区块关联集的大小以及与该区块关联集相 关的设定;一目录栏位,记载一区块关联表的级数以及已建置的该区块关联表的数量;一 第二日志栏位,用以存放一运作日志,以供该系统发生错误或断电情事时可供回复之用;一 文件表,用以指向该区块关联表;以及一数据区,用以存放该第一备份影像。本发明与现有技术相比具有明显的优点和有益效果。由以上技术方案可知,依据 本发明的一特色,提出一种远端非同步资料卷复制的方法,其包含镜射(mirroring)位 于一第一位置的一来源资料卷(source volume)的数据到位于一第二位置的一目的资料 卷(destination volume);接收一主机输出入要求(Host 10),该主机输出入要求(Host 10)来自位于该第一位置的一主机;执行一写入备份(backup-on-write)操作,该写入备 份(backup-on-write)操作是判断该来源资料卷(source volume)将被写入的该数据区块 的数据是否与该目的资料卷(destination volume)相对应的一数据区块的数据相同,而 决定是否执行一将该来源资料卷(source volume)的该数据区块的原始数据备份至位于 该第一位置的一备份影像(SourceBAS)的操作;将该主机输出入要求(Host 10)的该新数 据写入该来源资料卷(source volume)的该数据区块;以及回复该主机该主机输出入要求 (HostIO)已经完成。为达到上述目的,本发明提供了一种执行远端非同步资料卷复制的储存系统,其 包含一第一储存虚拟化子系统,位于一第一位置,包含有一第一控制器与一第一储存单 元,其中该第一储存单元中具有一第一资料卷与一第一备份影像(Source BAS);一第二 储存单元,位于一第二位置,该第二储存单元中具有一第二资料卷;以及一主机,位于该 第一位置,与该第一储存虚拟化子系统耦接,并对该第一储存虚拟化子系统中的该第一资 料卷发出一主机输出入要求(Host 10);其中,当该第一储存虚拟化子系统中的该第一控 制器接收到该主机输出入要求后,执行一写入备份(backup-on-write)操作,该写入备份 (backup-on-write)操作判断该第一资料卷将被写入的一第一数据区块的数据是否与该第 二资料卷相对应的一第二数据区块的数据相同,而决定是否执行一将该第一资料卷的该第 一数据区块的原始数据备份至该第一备份影像的操作;然后该第一控制器写入该主机输出 入要求的一更新数据至该第一资料卷的该第一数据区块,之后回复该主机该主机输出入要 求(Host 10)已经完成。借由上述技术方案,本发明远端非同步资料卷复制的方法及其装置至少具有下列 优点及有益效果本发明可以使得须传输至远端的目的资料卷(destination volume)的 数据量可以降到最少,有效回避数据远端传输时的网络频宽限制问题,让储存系统的运作 绩效维持在较佳的水准。综上所述,本发明是有关于一种远端非同步资料卷复制的方法及其储存系统。应 用非同步复制(async)的方式,处理主机输出入要求(Host 10)对位于近端的来源资料卷 (source volume)的数据更动。配合时间点差备份(Point-in-Time Differential Backup) 技术,只有当来源资料卷(sourcevolume)被覆写区块的原始数据与远端的目的资料卷 (destination volume)的对应区块的数据不同时,才将该被覆写区块的原始数据写入备份 (backup-on-write)至同样位于近端的时间点差备份影像(Source BAS)之中。然后只要 新数据写入来源资料卷(source volume)完成后,即回复主机(host)其输出入要求已经完成。如此,可以使得须传输至远端的目的资料卷(destination volume)的数据量可以降到 最少,有效回避数据远端传输时的网络频宽限制问题,让储存系统的运作绩效维持在较佳 的水准。本发明在技术上有显著的进步,并具有明显的积极效果,诚为一新颖、进步、实用的 新设计。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段 而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够 更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。


图1、描绘应用本发明的近端与远端电脑储存系统的硬件架构示意图。图2、描绘应用本发明方法的储存虚拟化控制器(SVC)的一实施例示意图。图3、描绘本发明利用“时间点差备份(Point-in-Time DifferentialBackup),,技 术时所根据的区段分配系统(SAS)架构的示意图。图4A、描绘本发明方法应用“时间点差备份(Point-in-TimeDifferential Backup)”技术时远端与近端的资料卷架构的第一实施例的示意图。图4B、描绘本发明方法应用“时间点差备份(Point-in-TimeDifferential Backup)”技术时远端与近端的资料卷架构的第二实施例的示意图。图5A、描绘用以记录资料卷复制资讯的资料卷记录表(Volume LogTable, VLT)的 数据结构。图5B、描绘用以记录资料卷复制资讯的资料卷区块更新表(VolumeBlock Update Table, VBUT)的数据结构。图6A 图6E、描绘本发明中远端非同步复制(Remote AsyncReplication)来源资 料卷(source volume)至目的资料卷(destinationvolume)的一实施例的流程图。图7、描绘本发明中背景拷贝来源资料卷至目的资料卷(BackgroimdCopy of Source to Destination Volume)的一实施例的流程图。图8A、描绘本发明中因处理输出入请求(Host 10)而呼叫的“检查/拷贝来源资 料卷的区块数据至目的资料卷(Check/Copy Block from Sourceto Destination Volume)” 程序的一实施例的流程图。图8B、描绘本发明中因处理背景拷贝而呼叫的“检查/拷贝来源资料卷的区块数 据至目的资料卷(Check/Copy Block from Source to DestinationVolume) ” 程序的一实 施例的流程图。图9、描绘本发明中检查资料卷区块是否已在同步状态(Check VolumeBlock In-Sync)的一实施例的流程图。图10、描绘本发明中非同步复制失效转移处理(Async r印Iicationfailover process)程序的一实施例的流程图。图11、描绘本发明中非同步复制失效回复处理(Async r印Iicationfailback process)程序的第一实施例的流程图。图12A 图12B、描绘本发明中非同步复制失效回复处理(Asyncr印Iication fallback process)程序的第二实施例的流程图。
图13A 图13D、描绘实施本发明的一实际范例。
具体实施例方式本发明主要是提出一种远端非同步资料卷复制的方法及其装置。应用非同 步复制(async)的方式,当近端储存系统的主机(local host)对来源资料卷(source volume)写入新数据时,若来源资料卷(source volume)被覆写区块的原始数据与远端 的目的资料卷(destination volume)的对应区块的数据不同,则只要在近端“写入备份 (backup-on-write)”该原始数据至来源资料卷(source volume)的“时间点差备份影 像”(Point-in-TimeDifferential Backup Image,或简称为“备份影像(Backup Image)”, 或以“BAS”代表)之中,且该新数据写入来源资料卷(source volume)完成后,不等待原始 数据同步复制至远端的目的资料卷(destination volume),即回复近端主机(local host) 其输出入要求(10 request)已经完成。另一种状况是,若来源资料卷(source volume) 被覆写区块的原始数据与远端的目的资料卷(destination volume)的对应区块的数据相 同一致,则不须“写入备份(Backup-on-write,BOW) ”该原始数据至来源资料卷的“备份影 像”(Source BAS),只要新数据写入来源资料卷(source volume)完成后,即回复近端主机 (local host)其输出入要求(10 request)已经完成。由于本发明在处理近端主机(local host)的输出入要求(10 request)时,是采 用非同步复制(async)的方式,也就是所有的讯息与数据只先在近端处理传输,即可先 行回复近端主机(local host)其输出入要求(IOrequest)已经完成。至于真正将数据 拷贝至远端的目的资料卷的程序,则留待背景拷贝程序或其他适当时机才执行。再者,本 发明利用“时间点差备份(Point-in-Time Differential Backup) ”技术备份来源资料卷 (sourcevolume)的数据变动,其中只针对与远端的目的资料卷(destinationvolume)不 同的来源资料卷(source volume)的原始数据做“写入备份(backup-on-write) ”于来源资 料卷的“备份影像”(Source BAS)的动作,不需要将所有的数据变动都写入至来源资料卷的 “备份影像”(Source BAS),使得须传输至远端的目的资料卷(destination volume)的数据 量可以降到最少。如此,根据本发明技术,可以回避数据远端传输时的网络频宽限制问题, 且可以让储存系统的运作绩效维持在较佳的水准。请参照图1,是应用本发明的电脑系统的硬件架构示意图。其中包括位于近 端(local site)l 的一主机(Host)Il 与一储存虚拟化子系统(StorageVirtualization Subsystem, SVS) 12,用于执行主要系统操作;以及位于远端(Remote site) 2的一储存 虚拟化子系统22,用于提供近端储存虚拟化子系统12的备援之用。两储存虚拟化子 系统12、22之间是通过一通讯媒体(Communication Medium) 3互相沟通。该通讯媒 体(CommunicationMedium) 3可以是一区域网络(LAN)、广域网络(WAN)、储存区域网络 (SAN)、网际网络(Interne t)、或其他任何可以让两储存虚拟化子系统12、22间互相传递 讯息的通讯媒体(Communication Medium),例如专用的数据传输通道(Dedicated Data Transfer Channel)。虽于此实施例当中,在近端1仅有一主机11与一储存虚拟化子系统 12相互连接;实际应用时,可以用一主机11连接多个储存虚拟化子系统12,或是多个主机 11连接一个储存虚拟化子系统12,或是多主机11连接多储存虚拟化子系统12。此外,在本 发明的其他实施例中,远端2也可能具有一或多个主机(图中没有绘示)与储存虚拟化子系统22相连接。虽然本发明的图1所示的实施例是设定主要系统处理是位于近端1,远端 2只是做为备援之用,因此没有考虑远端2是否有与主机(Host)相连接;但是,在本发明的 另一实施例,远端2亦可以做为储存系统的主控端(Master)。该位于近端1的主机11可为一主机电脑,如一服务器系统、工作站、个人电脑系统 等。近端1与远端2的储存虚拟化子系统12、22各自包含有一储存虚拟化控制器(Storage Visualization Controller, SVC) 13,23,以及一连接至储存虚拟化控制器13、23的实体储 存装置阵列(PhysicalStorage Device Array, PSD Array) 14、24。储存虚拟化控制器 13、 23可为一磁盘阵列控制器或是一 JBOD模拟器。在此,两储存虚拟化子系统12、22虽然仅各 绘示一个实体储存装置阵列14、24连接至储存虚拟化控制器13、23,但实际应用时可使用 一个以上的实体储存装置阵列14、24,而且主机11也可为一储存虚拟化控制器。两储存虚拟化控制器(SVC) 13,23皆是用来接受由主机11传来的输出入请求及相 关数据(控制信号及数据信号),并执行此输出入请求,或是将此输出入请求各自映射至其 实体储存装置阵列14、24。而实体储存装置阵列14、24包含有多个实体储存装置(Physical Storage Device,PSD),这些实体储存装置可为,举例而言,硬盘。储存虚拟化控制器13、23 可用来加强效能及/或改进数据可利用性(data availability),或是用来增加对主机11 而言的单一逻辑媒体单元的储存容量。资料卷(volume)是一种虚拟的逻辑储存单位。以近端1为例,储存虚拟化控制器 (SVC) 13将实体储存装置阵列14储存虚拟化为一至数个逻辑储存装置,并呈现给主机11 存取数据。主机11可以决定该一至数个逻辑储存装置要规划为几个资料卷(volume);每 个资料卷(volume)都有自己的档案系统。一资料卷(volume)可能涵盖一至数个实体储存 装置(PSD),或者只有一个实体储存装置(PSD)的部分区域,或者数个实体储存装置(PSD) 的部分区域组合而成。图1中为方便表示,不论是在近端1或远端2,皆假设一个资料卷 (volume)的储存区域刚好涵盖一个实体储存装置(PSD);但是,本发明的其他实施例并不 以此为限,如前所述,本发明中所称一个资料卷(volume)的范围可能是一个实体储存装置 (PSD)的部分区域、或是涵盖一至数个实体储存装置(PSD)、或是数个实体储存装置(PSD) 的部分区域组合而成。进行资料卷(volume)复制时,须将近端的来源资料卷(source volume)的全部内 容完整地复制至远端的目的资料卷(destination volume);且此复制的过程,需要藉由通 讯媒体(Communication Medium) 3来传输数据。如以图1为例,可能是将近端的资料卷A 15a整体复制至远端的资料卷P 25a,或者是其他可能的实施例。此时,扮演数据提供者的 资料卷A 15a是来源资料卷(source volume),接受复制数据的资料卷P 25a是目的资料 卷(destination volume)。来源资料卷与目的资料卷的容量大小未必相同;但是,通常目 的资料卷的容量需要大于或等于来源资料卷的容量,以容纳所有从来源资料卷复制而来的 数据。进行资料卷复制的做法是先建立一来源资料卷(source volume)与一目的资料 卷(destination volume)间为一个“镜射对(mirroring pair)”的关系,例如前述的资 料卷A 15a与资料卷P 25a。镜射对(mirroring pair)中两资料卷可以位于同一储存系 统、或不同的储存系统中;本发明技术是针对位于不同储存系统的两资料卷所形成的镜射 对(mirroring pair)做数据复制。镜射对(mirroring pair)形成后,接下来的做法可能有以下数种实施例第一种是,开始进行第一次的同步复制程序,以将来源资料卷(source volume)的数据镜射(mirroring)至目的资料卷(destinationvolume);第二种是,若是 镜射对(mirroring pair)形成之初,近端1的来源资料卷(source volume)尚未储存 任何数据,则可以不进行上述的第一次的同步复制程序;第三种是,来源资料卷(source volume)先在近端1做一份镜射(mirroring)的备份数据,然后再将此镜射(mirroring) 的备份数据复制到远端2的目的资料卷(destination volume)。对于位于不同位置的两 资料卷而言,无论是以上哪一种做法,近端1与远端2之间的处理程序都需要通过通讯媒体 (Communication Medium)3来达成。依照应用的需要,可以设定在镜射(mirroring)期间或 完成之后的某个时间点,中止镜射对(mirroring pair)中两资料卷间的镜像(mirror)关 系,此操作称为“分离(split)”。分离(split)指令的下达,意谓目的资料卷(destination volume)保存了分离(split)指令下达的时间点的来源资料卷(source volume)的状 态;且意谓此时间点之后,切断来源资料卷(source volume)与目的资料卷(destination volume)间“镜射对”的关系,该两资料卷可以各自独立地被存取数据或更新,并不需再维持 彼此间各自更动数据的一致。
根据本发明技术,位于近端1与远端2的两资料卷间是采用非同步复制(async) 方式复制数据,因此当两资料卷间一形成镜射对(mirroring pair)的关系之时,立即执行 分离(split)作业。即使在此之后有“再同步(resync)”程序启动,也立即再次执行分离 (split)作业,让分别位于近端与远端的两资料卷永远处于分离(split)的状态。由此可 知,位于远端2的目的资料卷(destination volume)所要复制的是位于近端1的来源 资料卷(source volume)在分离时间点的状态。分离(split)之后,来源资料卷(source volume)还是会记录主机11对它所做的任何数据修改,但是该些修改并不需要复制至远端 2的目的资料卷(destination volume);除非之后有再同步(resync)程序启动。本发明所提出的远端非同步资料卷复制的方法,是通过图1中的储存虚拟化控制 器(SVC) 13,23而实现,其一实施例的架构示意图如图2所示。储存虚拟化控制器13、23的主要目的是将实体储存装置(PSD)的各区段的组合映 射(map)形成主机11可见的逻辑储存装置。由该主机11发出的输出入请求(Host 10)在 控制器13、23接收之后会先被剖析并解译,且相关的操作及数据会被编译成实体储存装置 (PSD)的输出入请求。若以近端的储存虚拟化控制器13为例说明,一储存虚拟化控制器13包含有一主 机端输出入装置连接控制器(Host-side 10 DeviceInterconnect Controller) 131、一中 央处理电路(Central ProcessingCircuit,CPC) 132、一存储器(或称为记忆体)133以及一 装置端输出入装置连接控制器(Device-side 10 Device Interconnect Controller) 134。 此处虽以分开的功能方框描述,但于实际应用时,部份甚至全部的功能方框(functional block)皆可整合在一单一晶片上。远端的储存虚拟化控制器23亦具有上述的架构。主机端输出入装置连接控制器131连接至主机11及中央处理电路132,用来作为 储存虚拟化控制器13及主机11之间的介面及缓冲,其可接收由主机11传来的输出入请求 和相关数据,并且将其转换至中央处理电路132。存储器133是连接于中央处理电路132,其作为一缓冲器,用来缓冲传送于主机11 及PSD阵列14之间通过中央处理电路132的数据。实际应用时,存储器133可以是DRAM(动态随机存取内存Dynamic Random AccessMemory),该DRAM亦可为SDRAM(同步动态随机存 取内存 SynchronousDynamic Random Access Memory)。装置端输出入装置连接控制器134是介于中央处理电路132及PSD阵列14间,用 来作为储存虚拟化控制器13及PSD阵列14间的介面及缓冲。装置端输出入装置连接控制 器134接收由中央处理电路132传入的输出入请求及相关数据,并将其映射及/或传送至 PSD阵列14。中央处理电路132是储存虚拟化控制器13的运算核心。当中央处理电路132接 收到来自主机端输出入装置连接控制器131的主机输出入请求时,中央处理电路132会将 此输出入请求剖析,并且执行一些操作以回应此输出入请求,以及将所请求的数据及/或 报告及/或资讯,由储存虚拟化控制器13经由主机端输出入装置连接控制器131传送至主 机11。本发明的之远端非同步资料卷复制的方法可以程序编码的方式实现,且将该程序编 码储存于中央处理电路132内部的存储器,例如R0M(图中没有绘示)之中,或是储存中央 处理电路132外部的存储器133中,以供中央处理电路132执行。本发明方法是利用非同步复制(async)的方式来延迟数据真正复制至远端的目 的资料卷(destination volume)的时间,以使得对主机输出入要求(host 10 request) 的回应时间可以有效地缩短;又,利用“时间点差备份(Point-in-Time Differential Backup)”技术做为来源资料卷(sourcevolume)的数据更动时其原始数据的备份,使得 来源资料卷(source volume)在分离(split)时间点的数据状态得以保存,以便在未来 的适当时间复制至远端的目的资料卷(destination volume)。在本发明的另一实施例 中,远端的目的资料卷(destination volume)亦具有一“写入备份影像”(Destination Backup-on-ffrite Image,或称为Destination BAS),用以备份分离(split)时间点的目的 资料卷(destination volume)的数据状态,以因应有需要时,可以做为其本身数据的“返回 (rollback)” 之用。本发明如何实施非同步复制(async)的技术内容将于下文中详细说明;以下先就 本发明中的“时间点差备份(Point-in-Time DifferentialBackup) ”技术做一大略介绍如 下。请参照图3,“时间点差备份(Point-in-Time Differential Backup) ” 技术是采用一区段分配系统(Section Allocation System,以下简称为SAS)来进行管理备份卷 (Backup Volume)的操作。SAS是一类似档案系统(file-system-like)结构,可由一或多 个媒体区(Media Extent)(图中没有绘示)所组成,这些媒体区是由将一或多个作为媒体 区段供应者(mediasection providers)的逻辑盘 / 分割区(Logical Drives/Partition) 格式化而形成。每个SAS包含自己的区段分配表(Section Allocation Table,以下简称 为SAT)以及一节点表(Inode Table)(图中没有绘示)。其中,节点表是用以记录档案内 容存放位置的资讯,即档案内容的指向(pointer),使系统可以通过节点(inode)正确的 去取得档案的内容。此SAS和其所属的每个媒体区是有一用来识别目标(object)的唯一 识别符(ID)。SAS是包含有属性区块(Attribute Block),用以记载此SAS ID与媒体区 (MediaExtent)ID ;—区块关联集(Block Association Set,以下简称为BAS)相关资讯栏 位,用以记载指向每个区块关联集(BAS)的资讯(包含SAT与Inode Table)、以及每个BAS 其所关联的来源资料卷(Source Volume)资讯;日志(Journal)栏位,用来存放运作日志,以供系统发生错误或断电情事时可供回复(recovery)之用。SAS可以包含有一或多个区块关联集(BAS),BAS是进行时间点(point-in-time, 以下简称为PIT)备份(backup)的基础。区块关联表(BlockAssociation Tables,以 下简称BAT)储存在此BAS之中。BAT是用以储存交互参考资讯以与具有原始储存位置 (LBA)的备份数据相对应,亦即每个BAT内记录有指向其所对应的时间点差备份影像(PIT Differential Backup Image)的资讯。而时间点差备份影像(PIT Differential Backup Image)亦储存于此BAS之中。
整体而言,每个BAS包含有属性区块(Attribute Block),用以记载此BAS ID、 BAS大小以及BAS相关设定等资讯;目录(directory)栏位,记载BAT级数(level)以及已 建置BAT的数量;日志(Journal)栏位,用以存放运作日志,以供系统发生错误或断电情事 时可供回复(recovery)之用;文件表(Folder Table),用以指向BAT ;以及数据区(Data Area),用以存放备份影像(Backup Image)。一般而言,建立一逻辑媒体(logical media ;如LD/LV/Partition)的一时间点备 份(PIT backup)的第一步骤即是在一独立可用的逻辑媒体(logical media)上建置SAS。 接着,BAS应被建置、安装及将其来源资料卷映射至一或多个主机通道的ID/LUNs。最后,当 来到从事时间点备份(PITbackup)的时间点时,一相对应的BAT应被建置并且接着将其设 定为BAS中现役的BAT (active BAT)。待其所关联的来源资料卷(Source Volume)的某数 据区块将被更改之前,启动“写入备份(backup-onirite,以下简称B0W),,程序,将该区块 的原始数据复制至现役的BAT的时间点差备份影像(PITDifferential Backup Image)的 对应区块。以上所述的SAS、BAS、BAT以及其他各栏位和数据区的功能、彼此间的交互作用, 是现有此技术人士所熟知,因此不再对其细节多做赘述。请参照图4A,本发明在进行将近端储存子系统(Local StorageSubsystem) 12 的一来源资料卷(Source Volume) 71非同步复制到远端储存子系统(Remote Storage Subsystem) 22的一目的资料卷(DestinationVolume) 75之初,即在近端储存子系统12 建立该来源资料卷(SourceVolume) 71的时间点差备份(PIT Differential Backup) 资讯,包括分离(split)时间点的区块关联表(BAT)与其所对应的时间点差备份影像 (PITDifferential Backup Image)所需的储存空间;图中是以来源 BAS (SourceBAS) 72 做 为代表。虽然图中以及下文只有以来源BAS72代表来源资料卷(Source Volume)71的时间 点差备份(PIT Differential Backup)资讯;但事实上,如前文所述,进行写入备份(BOW) 所需的资讯还包括其对应的区段分配系统(SAS)、区块关联集(BAS)、以及其他各栏位的资 讯。由于本发明方法只须记录该来源资料卷(Source Volume)71于分离(split)时间点的 时间点差备份影像(PIT Differential Backup Image),因此其区块关联集(BAS)中只有 一个用以记录分离(split)时间点的来源资料卷(Source Volume) 71的数据状态的来源 BAS72。请参照图4B,在本发明的另一实施例,本发明在进行非同步复制程序之初,亦在远 端储存子系统(Remote Storage Subsystem) 22 建立目的资料卷(Destination Volume) 75 的时间点差备份资讯,包括分离(split)时间点的区块关联集(BAS)与其所对应的时 间点差备份影像(PIT DifferentialBackup Image)所需的储存空间;图中是以目的BAS (Destination BAS)76做为代表。当来源资料卷(Source Volume) 71或来源BAS72的数 据写入目的资料卷(Destination Volume) 75时,该目的BAS76可以用以备份分离(split) 时间点目的资料卷(destination volume) 75的数据状态,以因应有需要时,可以做为其本 身数据的“返回(rollback)”之用。虽然图中以及下文中只有以目的BAS 76代表目的资料 卷(Destination Volume) 75的时间点差备份资讯;但事实上,如前文所述,其时间点差备 份资讯亦包括其对应的区段分配系统(SAS)、区块关联集(BAS)、以及其他各栏位的资讯。 在此实施例中,来源资料卷(Source Volume) 71与目的资料卷(Destination Volume)75分 别只有一个来源BAS72与目的BAS 76,用于记录分离(split)时间点的时间点差备份影像 (PIT Differential Backup Image)。本发明为记录来源资料卷(Source Volume) 71与目的资料卷(Destination Volume) 75复制期间,两资料卷71、75间相互的状态与本身数据区块的资讯,请参照图5A 与图5B,在两资料卷71、75形成一镜射对(mirroring pair)之时,即各自建立一专属的 资料卷记录表(Volume LogTable,以下简称VLT) 30,用以记录该两资料卷71、75间的同步 状态资讯,以及建立一专属的资料卷区块更新表(Volume Block Update Table,以下简称 VBUT) 36,用以记录该资料卷的每一数据区块(block)的更新状态资讯。图5A仅绘示VLT 30中一个项目(entry)所包含的栏位做为代表。实际上运作时, 一个VLT 30可能包含有一至多个VLT项目(VLT entry),每次该VLT 30拥有者与其他资料 卷间建立新关系或做状态改变时,即会产生一个新的VLT项目。一个VLT项目包含了 4个 栏位第一栏位31记录序号(SeqNum),第二栏位32记录操作代码(OpCod),第三栏位33记 录与之产生关系的另一资料卷的身份(AltVolID),而第四栏位34的记录内容有两种可能 一种是记录与之产生关联的另一资料卷的VLT项目的序号(AltVolSN)、一种是记录自己下 一个要进行复制(synchronizing)的数据区块(block)的索引号(NxtSynBlk)。以上四个 栏位的顺序只是本发明的一实施例,于其他实施例中,该四个栏位可以其他顺序排列;只要 能完整记载以上四个栏位的资讯,即应视为在本发明的精神与范围之中。该四个栏位的细 节更进一步说明如下。每一 VLT项目建立之初,其第一栏位31的序号(SeqNum)是一初始设定值 (initial setting value)。该初始设定值(initial setting value),若以来源资料 卷(Source Volume) 71为例说明,可以为“O (null) ”,表示拥有该VLT 30的来源资料卷 (Source Volume) 71与第三栏位33所记录的目的资料卷(Destination Volume)75之间 还未分离(split)。但是,本发明方法在两资料卷71、75形成一镜射对(mirroring pair) 之初,即马上执行分离(split)作业。此时,该序号(SeqNum)的值便由一主要序号变数 (MstSN, Master Sequence Number)指派。该主要序号变数,若以序号(SeqNum)的初始设 定值(initial setting value)是“O (null) ”的例子来说,是由“ 1”开始累加;亦即,第一
个进入分离(split)状态的VLT项目的序号是“1”、第二个是“2”......其余以此类推。
总而言之,只要VLT项目的第一栏位31的值不是“0”,即表示拥有该VLT 30的来源资料卷 (Source Volume) 71与第三栏位33所记录的目的资料卷(Destination Volume) 75之间已 经分离(split);反之,若是“O”代表还未分离(split)。若是目的资料卷(Destination Volume) 75,其VLT项目的第一栏位31的序号 (SeqNum)的初始设定值(initial setting value),可以为“1”,表示第一个发生的复制事件;之后发生的复制事件所对应的VLT项目的序号,亦是由一主要序号变数(MstSN)指派, 该主要序号变数(MstSN)可以由“2”开始累加。至于目的资料卷(Destination Volume) 75 是否已经与来源资料卷(Source Volume) 71分离,则是从其VLT项目的第二栏位32来判断, 与第一栏位31的序号(SeqNum)无关。当然在其他实施例中,来源资料卷(Source Volume) 71与目的资料卷 (Destination Volume) 75的VLT项目的第一栏位31的序号(SeqNum)的初始设定值 (initial setting value)亦可设为其他数字;再者,主要序号变数(MstSN)累加的偏移 量(offset)也可以不是“1”。例如,初始设定值(initial setting value)可以设为“2”, 而主要序号变数(MstSN)累加的偏移量(offset)可以设为“2”,则主要序号变数(MstSN)
会以2、4、6......的方式指派给先后出现的VLT项目的第一栏位31的序号(SeqNum)。须
注意的是若来源资料卷(Source Volume) 71的VLT项目的第一栏位31的序号(SeqNum) 的初始设定值(initial setting value)不是“0 (null) ”,则以序号(SeqNum)是否是初始 设定值(initial setting value)来判断来源资料卷(Source Volume) 71是否进入分离 (split)状态。例如初始设定值(initial setting value)设定为“1”时,序号(SeqNum) 是“1”即表示来源资料卷(Source Volume) 71尚未与目的资料卷(Destination Volume) 75 分离(split);而分离(split)之后的VLT项目的序号(SeqNum)则由初始设定值(initial setting value)加上一偏移量(offset),再指派给该VLT项目。本发明定义三种VLT项目的第二栏位32的操作代码(OpCod),表示资料卷处于三 种不同的状态,列举如下SYNSRC:表示该资料卷在两资料卷同步关系中扮演“来源资料卷(source volume),,的角色;SYNDST 表示该资料卷在两资料卷同步关系中扮演“目的资料卷(destination volume),,的角色;SYNSPL 表示该目的资料卷(destination volume)已经从来源资料卷(source volume)分离(spilt)出来。以上三种操作代码(OpCod)亦会影响VLT 30的第四栏位34的记录内容。若是同 一 VLT项目的第二栏位32的操作代码是“SYNSRC”或“SYNSPL”,则第四栏位34记录与之 产生关联的另一资料卷的VLT项目的序号(AltVolSN);若是同一 VLT项目的第二栏位32的 操作代码是“SYNDST”,则第四栏位34记录自己下一个要进行复制的数据区块(block)的 索引号(NxtSynBlk)。值得注意的是,虽然前文以“ SYNSRC ”、“ SYNDST ”以及“ SYNSPL ”分别表示该资料 卷当时的状态是“来源资料卷(source volume) ”、“目的资料卷(destination volume) ”或 “已经分离(split) ”;但本发明不以此为限,在其他实施例中可以用其他代号来表示该三种 状态。图5B仅绘示VBUT 36中一个项目(entry)所包含的栏位作为代表。实际上运作 时,一个VBUT 36包含有多个VBUT项目(VBUT entry),每一 VBUT项目代表其所属的资料卷 的一个数据区块(block);也就是该资料卷有多少数据区块,其VBUT 36就对应有多少VBUT 项目。一个VBUT项目可以包含2个栏位第一栏位37是保留栏位;第二栏位38记录其对 应的VLT项目的序号,表示该VBUT项目所对应的数据区块的数据是因该序号的VLT项目的事件而更新,藉此追踪该资料卷的每一数据区块的状态,例如该数据区块是否已经同步 (synchronize)、该数据区块是否在同步后又因主机11存取数据而产生改变。一个VBUT项 目的数据长度可以是32bits,或是其他适当的长度。在其他实施例中,一个VBUT项目未必 要包含两个栏位,若是需要更加精简,可以只包含一个第二栏位38即可。本发明应用VLT 30与VBUT 36进行两资料卷间的复制作业,有一些需要注意的原 贝U,说明如下
第一原则、任何正在进行同步复制作业(sync operation)的资料卷,皆不可被指 派为另一同步复制作业的目的资料卷(destination volume)。换句话说,如果需要某一正 参与同步复制作业的资料卷做为另一同步复制作业的目的资料卷,则需要先将正在进行的 同步复制作业暂停且将该资料卷分离出来,该资料卷才能做为另一同步复制作业的目的资 料卷。第二原则、一个正在进行同步复制作业且未分离(imsplit)的目的资料卷 (destination volume),不能单独呈现出来让主机(host)存取数据;只有来源资料卷 (source volume)可以做为主机存取的标的。因为这样的特性,如果目的资料卷暂时下 线(off line),它可以再回到线上并以原来的同步组态(sync configuration)让同步 复制作业继续进行。同样的理由,因为目的资料卷(destination volume)不能做为主 机的输出入要求的单独标的,所以它也不可以做为任何其他同步复制作业的来源资料卷 (sourcevolume),除非它已经分离(split)。第三原则、在一同步复制作业进行期间且在来源资料卷(source volume)与目 的资料卷(destination volume)分离之前,若是有“再同步(Resync) ”作业启动实施于 该两资料卷,该两资料卷必须立即经由下列步骤分离(split)设定来源资料卷(source volume)的VLT项目的序号为最新的(up-to-date)序号,且增加一个“SYNSPL项目”到目 的资料卷(destinationvolume)的VLT之中。之后,再同步(Resync)作业即可启动实施。第四原则、在一同步复制作业进行期间且在两资料卷分离之前,若是目的资料卷 (destination volume)下线(off line),且此时来源资料卷(source volume)因主机的 输出入要求而做了数据更新,且更新的区块已经同步复制(sync)过了,则该两资料卷必须 立即经由下列步骤分离(split)设定来源资料卷(source volume)的VLT项目的序号为 最新的(up-to-date)序号。当目的资料卷(destination volume)回到线上,来源资料 卷(sourcevolume)的VLT项目的序号栏位31会被检查。如果该栏位31不是初始设定值 (initial setting value),例如0 (null),则目的资料卷(destinationvolume)会经由下 列方式被登记为已经分离(split)增加一个“SYNSPL项目”到目的资料卷(destination volume)的VLT之中。之后,可以再启动同步复制作业以再同步(Resync)两资料卷的数据。第五原则、在一同步复制作业进行期间且两资料卷已经分离,假如来源资料卷 (source volume)做了数据更新但是却无法先将更新区块的原始数据拷贝至目的资料卷 (destination volume),则会有一个“错误位元(errorbit),,设立在最近的“SYNSRC项目,, 上。在这种情况下,如果目前的同步复制作业尚未结束,任何尝试进行再同步(Resync)作 业的动作皆会被禁止,直到目前的同步复制作业结束。上述将错误位元(error bit)设立 在来源资料卷(source volume)的VLT项目上只是本发明的一实施例,在其他实施例中,错 误位元(error bit)亦可以设立在目的资料卷(destination volume)的VLT项目上,或者另外将错误位元(error bit)独立储存在另一记录表之中。在说明实行本发明方法的详细流程前,先将一些使用代号的定义说明如下DstMstSN-目的资料卷的主要序号(Master Sequence Number)变数;SrcMstSN-来源资料卷的主要序号(Master Sequence Number) 变数;DstVBUT-对应于目的资料卷中正进行处理的数据区块的VBUT项目;SrcVBUT-对应于来源资料卷中正进行处理的数据区块的VBUT项目;DstVLT-目的资料卷中目前正进行的VLT项目;SrcVLT-来源资料卷中目前正进行的VLT项目。请参照图6A至图6E,是描绘本发明中远端非同步复制(Remote AsyncReplication)来源资料卷71至目的资料卷75的一实施例的流程图。该实施例可同 时适用于图4A与图4B的架构。以下关于图6A至图6E的流程说明,请同时参考图4A、图 4B与图5A、图5B。图6A的程序一开始时,先确认是否是初始的同步复制作业(步骤201)。若是,则 先初始化目的资料卷75的VBUT 36 (步骤202)以及初始化目的资料卷75的DstMstSN变 数(步骤203)。初始化的方式是设定VBUT 36中每一项目与DstMstSN变数各自等于一初 始设定值,该初始设定值,于一实施例中可以是“O(null)”,或者在其他实施例中,可以是其 他的初始设定值。若步骤201判断的结果不是初始的同步复制作业、或是步骤202与步骤203结束 后,则进入步骤204 在来源资料卷71的VLT 30中分派项目(SrcVLT)且适当地初始化其 栏位,包括设定第二栏位32的操作代码为“SYNSRC”、设定第一栏位31的序号为一初始设 定值,例如“0(Null)”。除此之外,更将此序号的初始设定值指派给一第一变数;于此实施 例中称为“SRCXURSPL”变数。接下来进入步骤205 在目的资料卷75的VLT 30中分派项 目(DstVLT)且适当地初始化其栏位,包括设定第二栏位32的操作代码为“SYNDST”。然后 进入步骤206 将DstMstSN变数值增加1个单位,且拷贝至DstVLT的第一栏位31 (表示为 DstVLT. SeqNum)以及SrcVLT的第四栏位34 (表示为SrcVLT. AltVolSN)。除此之外,更将 该DstMstSN的现行变数值指派给一第二变数,于此实施例中称为“DSTCURSYN”变数。然 后进入步骤207 设定DstVLT的第四栏位34 (表示为DstVLT. NxtSynBlk)为Block index 0 (Block index 为 0 的区块)。以上的步骤皆完成后,由节点A 208进入图6B的程序。由于本发明方法设定近端 的来源资料卷71与远端的目的资料卷75间永远是分离的状态,因此节点A 208之后的流 程描绘来源资料卷71与目的资料卷75间的同步复制(sync)作业是在分离(split)的状 态下进行。图6B首先将SrcMstSN的序号值增加1个单位且拷贝至SrcVLT的第一栏位 31 (SrcVLT. SeqNum);除此之外,更将此SrcMstSN序号的现行值再指派给前述之第一变数 (SRCCURSPL)(步骤209)。接下来在目的资料卷75的VLT 30中分派项目(DstVLT)且适当地 初始化其栏位,包括设定第二栏位32的操作代码为“SYNSPL”(步骤210)。然后将DstMstSN 变数值增加1个单位且拷贝至DstVLT的第一栏位31 (DstVLT. SeqNum);除此之外,更将此 DstMstSN的序号现行值指派给一第三变数(于此实施例中称为“DSTCURSPL”变数)(步骤 211)。请注意,DstMstSN的变数值在进入此步骤增加1个单位前,已于前述图6A的步骤206指派给第二变数(DSTCURSYN),因此第三变数(DSTCURSPL)与第二变数(DSTCURSYN)的值理论上相差1个单位。以上的步骤皆完成后,接下来会有两个程序并行处理步骤213所表示 的“背景拷贝来源资料卷至目的资料卷(Background Copyof Source to Destination) ”程 序(其详细流程将于下文中说明)、以及由节点B 214进入后因出现主机输出入要求(Host 10)而启动的程序(描述其详细流程的图6C至图6E将于后文中说明)。步骤213所呼叫的背景拷贝来源资料卷至目的资料卷(BackgroimdCopy of Source to Destination)程序主要是在背景执行将来源资料卷的数据拷贝至目的资料卷 的作业。在此作业进行期间,会持续进行步骤212的判断是否来源资料卷至目的资料卷的 同步作业皆已全部完成?若以上判断结果为“是”,则背景拷贝(background copy)的流程 结束;否则,持续进行“背景拷贝来源资料卷至目的资料卷(Background Copy of Sourceto Destination) ”程序(步骤213),直到步骤212的判断结果为“是”而结束背景拷贝的流程。请参照图6C,由节点B 214进入本流程后,首先在步骤215询问是否有任何输出 入请求(Host 10)要对来源资料卷71存取数据?若步骤215的判断结果为“否”,则停留在 步骤215的询问状态;若步骤215的判断结果为“是”,则进入步骤216 解析该输出入请求 (Host 10)并分解为1至多个逻辑盘(Logical Drive,LD)输出入要求(LD 10),每一 LD IO 皆对应到来源资料卷71中一个欲存取的数据区块(block)。接下来的流程分为两个方向 一是回到步骤215继续判断是否有其他输出入请求(Host 10)要对来源资料卷71存取数 据;另一是根据该一至多个LD IO同时并行执行图6D与图6E的流程(步骤217)。也就是 说如果有η个LD 10要对来源资料卷71中η个数据区块(block)进行存取,就会引发η个
图6D与图6Ε的流程(步骤217-1......217-η)同时执行。其中任何一个LD 10所对应的
流程执行完毕,便进入步骤219判断是否所有并行处理的流程(步骤217-1......217-η)
都完成了。若否,则回到节点D 218,停留在步骤219的询问状态;若是,则回报主机(Host)I 此输出入请求(Host 10)已处理完毕(步骤220),然后回到步骤215继续判断是否有其他 输出入请求(Host 10)要对来源资料卷71存取数据。值得注意的是,在图6C中,只要一有输出入请求(Host 10)出现要对来源资料卷 71或目的资料卷75存取数据,该输出入请求(Host 10)便立即由步骤215进入流程处理, 无论之前的输出入请求(Host 10)是否已经处理完成。请参照图6D与图6E,是针对存取每一数据区块(block)的LD 10所做的处理程 序,相当于图6C中一个步骤217的处理方框。其中,图6D是描述输出入请求(Host 10)为 “写入(write),,时的处理程序;图6E是描述输出入请求(Host 10)为“读取(read),,时 的处理程序。首先由图6D的步骤221判断该输出入请求(Host 10)是否是对来源资料卷 71或目的资料卷75写入数据?若否,表示该输出入请求(Host 10)是要读取数据,则由 节点C 233进入图6E进行读取数据的相关流程。图6E的相关流程细节将于后文中说明。 若步骤221的判断结果为“是”,表示该输出入请求(Host 10)是要写入数据,则呼叫并执 行“检查/拷贝来源资料卷的区块数据至目的资料卷(Check/Copy Block from Source to DestinationVolume) ”程序(步骤224),以检查并决定是否需要将来源资料卷71的该处理 数据区块的原始数据拷贝至来源BAS72做为一个写入备份(backup-on-write)。此因处理 输出入请求(Host 10)而呼叫的“检查/拷贝来源资料卷的区块数据至目的资料卷(Check/ Copy Block from Source toDestination Volume) ”程序的详细流程描述于图8A且将在后文中说明。步骤224之后,将输出入请求(Host 10)所欲写入的数据写入至其所欲写入的来源资料卷(Source Volume) 71的相对应数据区块(步骤226)。在步骤226之后,将第一变数(SRCCURSPL)的值指派给SrcVBUT. SeqNum(步骤 232),表示来源资料卷(Source Volume) 71的相对应数据区块是在SRCCURSPL代表的事件 中更新数据。最后结束图6D的流程,由节点D 218回到图6C,然后进入步骤219进行判断。若是步骤221的判断结果为“否”,则由节点C 233进入图6E进行读取数据的相 关流程。首先判断该输出入请求(Host 10)是否是针对来源资料卷71读取数据(步骤 239) ?若以上判断结果为“是”,则由来源资料卷71的数据区块读取数据(步骤242),然后 结束此流程,由节点D 218回到图6C。若步骤239的判断结果为“否”,则进一步判断该输 出入请求(HostIO)是否是针对目的资料卷75读取数据、并且DstVBUT. SeqNum(目的资料 卷中正进行处理的VBUT项目的序号)是否小于前述第二变数(DSTCURSYN)的变数值(步 骤240) ?若以上判断结果为“是”,表示该欲读取的数据区块的数据尚未与来源资料卷71 的相对应数据区块同步,因此转由来源资料卷71或来源BAS72的相对应数据区块读取数据 (步骤243)。若步骤240的判断结果为“否”,则没有以上疑虑,直接由目的资料卷75的数 据区块读取数据(步骤241),然后结束此流程,由节点D 218回到图6C。请参照图7,是本发明中背景拷贝来源资料卷至目的资料卷(Background Copy of Source to Destination Volume)程序的一实施例的流程图;本程序为前文图6B的步 骤213所呼叫的程序。对于目的资料卷的VBUT项目所代表的每一数据区块(步骤401), 呼叫并执行“检查/拷贝来源资料卷的区块数据至目的资料卷”程序(步骤402)。此因处 理背景拷贝(Background Copy)而呼叫的“检查/拷贝来源资料卷的区块数据至目的资料 卷(Check/Copy Block from Source to Destination) ”程序的详细流程描绘于图 8B,将 于下文中说明。步骤402的程序执行完后,判断是否还有其他数据区块尚未进行同步复制 (sync)(步骤403) ?如果以上判断结果为“是”,则将DstVLT. NxtSynBlk(目的资料卷中目 前正进行的VLT项目的第四栏位34所记载的“下一个要进行同步复制的数据区块的索引号 (NxtSynBlk) ”)的区块号码增加1个单位(步骤404),然后回到步骤401针对下一个数据 区块再进行一次步骤402-403的流程。如果步骤403的判断结果为“否”,则设定DstVLT. NxtSynBlk(目的资料卷中目前正进行的VLT项目的第四栏位34所记载的“下一个要进行 同步复制的数据区块的索引号(NxtSynBlk) ”)的值为“_1”(步骤405),表示所有数据区块 的同步复制皆已完成,然后结束此程序。请注意,以上将DstVLT. NxtSynBlk的值设为“_1” 表示同步复制完成,只是本发明的一实施例;于其他实施例中,任何以其他适当的数字达到 同样效果的表达方式都应视为不脱离本发明的精神,例如设定DstVLT. NxtSynBlk的值为 “-2”。请参照图8A与图8B,是本发明中检查/拷贝来源资料卷的区块数据至目的资料卷 (Check/Copy Block from Source to Destination Volume)的—歹ij的禾呈图。胃中, 图8Α为图6D的步骤224所呼叫而进入,表示是因输出入请求(Host 10)而执行的处理程 序;图8B为图7的步骤402所呼叫而进入,表示是因背景拷贝(background copy)而执行 的处理程序。此两种不同的呼叫来源会传入不同的值,以供判断来源资料卷71的数据只 要在近端做写入备份(BOW)(图8A)、还是要将位于来源BAS72或来源资料卷71的数据复制 至远端的目的资料卷75(图88)。
图8A首先判断DstVBUT. SeqNum (目的资料卷中正进行处理的VBUT项目的序号)是否小于DSTCURSYN(第二变数)的变数值(步骤501) ?如果以上判断结果为“是”,呼 叫“检查资料卷区块是否已在同步状态(Check VolumeBlock In-Sync) ”程序(其详细流 程描绘于图9且将在后文中说明)并判断其传回值是否为“伪(FALSE) ” (步骤505) ?如 果以上判断结果为“是”,表示该来源资料卷和目的资料卷的相对应数据区块还未同步复制 过。由于本程序是因处理输出入请求(Host 10)而进入,因此在步骤507启动一个“写入 备份”(backup-on-write,BOW)的操作若是来源资料卷(SourceVolume) 71中目前正处 理的区块数据不同于目的资料卷(Destinati0nV0lUme)75的对应区块的数据,则写入备份 (BOff)来源资料卷(S0urCeV0lume)71中该区块的数据至来源BAS72即可,而不是拷贝至目 的资料卷(Destination Volume)75。如果步骤505的判断结果为“否”,表示该来源资料卷 和目的资料卷的相对应数据区块已经同步复制过,因此不须进行任何处理,结束本程序。回 到步骤501,如果其判断结果为“否”,表示目的资料卷(Destination Volume) 75的对应区 块的数据已经更新,则跳过该数据区块。在步骤501判断为“否”或步骤507之后,结束本 程序,回到呼叫本程序的图6D的步骤224,继续执行其他步骤,最后在图6C的步骤220回复 主机(Host)Il其输出入请求(Host 10)已执行完成。请参照图8B,本程序是因被背景拷贝程序呼叫而进入,表示将进行背景拷贝近端 1的数据至远端2的目的资料卷(Destination Volume) 75。首先判断DstVBUT. SeqNum (目 的资料卷中正进行处理的VBUT项目的序号)是否小于DSTCURSYN(第二变数)的变数值 (步骤501) ?如果以上判断结果为“是”,呼叫“检查资料卷区块是否已在同步状态(Check Volume Blockln-Sync) ”程序(其详细流程描绘于图9且将在后文中说明)并判断其传 回值是否为“伪(FALSE) ”(步骤505) ?如果以上判断结果为“是”,表示该来源资料卷和 目的资料卷的相对应数据区块还未同步复制过。接下来进一步判断远端的目的资料卷75 是否是可存取的(步骤222) ?若当时目的资料卷75无法被存取,则设定“同步错误旗标 (SyncErrorFlag)”为“真(TRUE) ”(步骤227)。若其判断结果为“是”,表示当时的目的资 料卷75是可以存取的,以下便可以进行拷贝数据至目的资料卷75的动作。在进行拷贝前 先判断来源BAS72的对应区块是否是空的(步骤509) ?如果以上判断结果为“否”,表示来 源资料卷71的该对应区块的原始数据已经写入备份(BOW)至来源BAS72,因此直接拷贝来 源BAS72上对应区块的数据至远端2的目的资料卷75 (步骤510)。如果步骤509的判断 结果为“是”,表示来源资料卷71的该对应区块的原始数据并没有写入备份(BOW)至来源 BAS72。在这种情况下,是否要从来源资料卷71复制该对应区块的数据至目的资料卷75,是 根据步骤511的判断式SrcVBUT. SeqNum(来源资料卷中正进行处理的VBUT项目的序号) 是否小于第一变数(SRCCURSPL)的变数值?如果以上判断结果为“是”,表示来源资料卷71 的该对应区块的数据在分离(split)时间点后未被更新,因此要将来源资料卷71上该对应 区块的数据同步复制至目的资料卷75 (步骤512);如果步骤511的判断结果为“否”,表示 该对应区块在分离时间点后有被更新,且两资料卷71、75在该对应区块的数据就分离时间 点而言是相同,因此不须再进行任何处理。其中要注意的是,当本发明采用图4B的时间点差备份(PITDifferential Backup)架构时,也就是远端的目的资料卷75亦需要做写入备份(BOW)时,则在步骤510与 步骤512对目的资料卷75写入数据之前,须要先将目的资料卷75中被写入区块的数据写入备份(BOW)至目的BAS76。在步骤510或步骤512的处理之后、或是步骤511判断结果为“否”后,须设定 DstVBUT. SeqNum(目的资料卷中正进行处理的VBUT项目的序号)等于DSTCURSYN(第二变 数)的变数值(步骤513),表示目的资料卷75中该对应区块的数据是因DSTCURSYN(第二 变数)所代表的事件而变更;然后结束本程序。回到步骤501,如果其判断结果为“否”,表示目的资料卷75的对应区块 的数据已 经更新,则跳过该数据区块,然后结束图8B的程序。请参照图9,是本发明中检查资料卷区块是否已在同步状态(CheckVolume Block In-Sync)程序的一实施例的流程图;本程序为前文图8A与图8B的步骤505所呼叫的程序。 本程序主要有五个判断条件,只要有任一判断条件符合,本程序即回传一个“伪(FALSE) ”讯 息(步骤607);相对的,如果五个判断条件皆不符合,则回传一个“真(TRUE)”讯息(步骤 606)。该五个判断条件的内容详述如下第一、DstVBUT. SeqNum(目的资料卷中正进行处理的VBUT项目的序号)是否是初 始设定值(initial setting value),例如“0 (NULL) ”(步骤601) ?如果判断结果为“是”, 表示该数据区块还在初始化操作的阶段,当然不会“已在同步(In-Sync)状态”,因此回传 一个“伪(FALSE)”讯息;否则,则继续测试下一个判断条件。第二、DstVBUT. SeqNum(目的资料卷中正进行处理的VBUT项目的序号)所对应 的目的资料卷的VLT项目是否找不到,或者虽有找到但是读不到或两者数据不一致(步骤 602) ?如果判断结果为“是”则回传一个“伪(FALSE)”讯息(步骤607);否则,则继续测试 下一个判断条件。第三、DstVLT. OpCod(目的资料卷中目前正进行的VLT项目的第二栏位32所记载 的“操作代码(OpCod)”)不是“SYNDST”,或者DstVLT. AltVolID(目的资料卷中目前正进 行的VLT项目的第三栏位33所记载的“另一产生关联之资料卷的身份(AltVolID) ”)不是 其对应的来源资料卷的ID代码(步骤603) ?如果以上判断结果为“是”,则回传一个“伪 (FALSE)”讯息(步骤607);否则,则继续测试下一个判断条件。第四、与DstVBUT. SeqNum(目的资料卷中正进行处理的VBUT项目的序号)相同的 SrcVLT. AltVolSN(来源资料卷的VLT项目的第四栏位34所记载的目的资料卷的VLT项目 的序号(AltVolSN))的来源资料卷之VLT项目,是否找不到,或者虽有找到但是读不到或记 载的数据不一致(步骤604) ?如果以上判断结果为“是”,则回传一个“伪(FALSE)”讯息 (步骤607);否则,则继续测试下一个判断条件。第五、SrcVBUT. SeqNum(来源资料卷中正进行处理的VBUT项目的序号)是否大于 或等于SrcVLT. SeqNum(来源资料卷中目前正进行的VLT项目的第一栏位31所记载的序号 (SeqNum))(步骤605) ?如果以上判断结果为“是”,表示该来源资料卷之数据区块的数据 在同步复制至目的资料卷后有再做更改,因此回传一个“伪(FALSE)”讯息(步骤607);否 则,则回传一个“真(TRUE)”讯息(步骤606)。若发生来源资料卷71无法连线的事件,且在此事件之前两资料卷71、75间的同步 /非同步复制作业还未完成,则会启动一个“非同步复制失效转移处理(Async replication failover process) ”程序。此时目的资料卷75会开始进行一个“返回(Rollback) ”作业,将 本身的数据返回(Rollback)到目的BAS76所记录的状态,并且每一有做返回的数据区块所对应的目的资料卷的VBUTQestination VBUT)项目会因此而随之更新。若是往后来源资料卷71回到线上,则可以启动一个“非同步复制失效回复处理(Asyncr印lication fallback process)”程序。此操作会强迫目的资料卷75上该些有做“返回(Rollback) ”作业的数据 区块反向同步复制到来源资料卷71。其中要注意的是,目的资料卷75上尚未与来源资料 卷71进行同步复制的数据区块也会被标注为将来要同步复制回来源资料卷71 ;因为来 源资料卷71和目的资料卷75的VBUT entries可能会不一致。此做法,再加上上述“返回 (Rollback) ”作业中更新Destination VBUT的作法,保证进行“失效回复(failback) ”程 序后可以使来源资料卷71完全相同于目的资料卷75。请参照图10,是本发明中非同步复制失效转移处理(Async replicationfailover process)程序的一实施例,总共有5个步骤,分述如下。首先在步骤801 从近端储存虚拟化 子系统12中解映射(unmap)目的资料卷75以及其区段分配系统(Destination SAS)。此 做法可以保证在失效转移(failover)之后,只有一个子系统(i.e.,远端储存虚拟化子系 统22)可以存取目的资料卷75以及其区段分配系统(Destination SAS)。步骤802 挂载 (mount)目的资料卷的区段分配系统(Destination SAS)和目的BAS76在远端储存虚拟化 子系统22的控制器(SVC) 23上。步骤803:初始化一“返回(Rollback) ”作业,用以将目的 资料卷75的数据回复到目的BAS 76所记录的状态;并且,目的资料卷的VBUT (Destination VBUT)持续追踪并记录因“返回(Rollback)”作业而导致的数据更新。步骤804:当该“返 回(Rollback)”作业完成后,分离(split)目的资料卷75与目的BAS76。步骤805 将目的 资料卷75映射(map)给主机(Host) 11,以服务主机(Host) 11的需求;并且,目的资料卷的 VBUT (Destination VBUT)持续追踪并记录主机(Host) 11对目的资料卷75所做的数据更 新。至于“非同步复制失效回复处理(Async replication failbackprocess),,程 序,在本发明中提出两种实施例图11描绘的是由近端的SVC13(或称为Source RAID Controller)做为“主人(Master) ”,主导执行“再同步复制(resync) ”作业;图12A与图 12B描绘的是仍然由远端的SVC 23 (或称为Destination RAID Controller)做为“主人 (Master)”,主导执行“再同步复制(resync)”作业。其详细流程分述如下。请参照图11,描绘由近端的SVC 13(或称为Source RAID Controller)做为“主 人(Master) ”,主导执行非同步复制失效回复处理(Asyncr印lication failback process) 程序的流程图。由于在非同步复制失效转移处理(Async replication failover process) 程序之时,已经转换由远端的SVC 23做为整个系统的“主人(Master),,,因此本程序首先要 将“主人(Master)”再转换给近端的SVC 13(或称为Source RAID Controller),之后再进 行由目的资料卷75到来源资料卷71的“再同步复制(resync)”作业。步骤901 将目的 资料卷75由主机11解映射(immap)出来,并且卸载(dismount)目的资料卷的区段分配系 统(Destination SAS)。步骤902 映射(map)目的资料卷75以及其区段分配系统给近端 的SVC 13 (或称为Source RAID Controller)。步骤903 挂载(mount)来源资料卷的区段 分配系统(Source SAS)和目的资料卷的区段分配系统(Destination SAS)在SVC(或称为 Source RAID Controller) 13上。步骤904 初始化一“同步的再同步复制(synchronous resync),,作业,用以将目的资料卷75的数据同步复制至来源资料卷71,之后分离(split) 该两资料卷71、75。步骤905 映射(map)来源资料卷71给主机11存取。步骤906 当该“同步的再同步复制(synchronous resync) ”作业完成,更改来源资料卷与目的资料卷间的 复制模式为“非同步(Async) ”。请参照图12A与图12B,描绘仍然由远端的SVC 23 (或称为DestinationRAID Controller)做为“主人(Master) ”,主导执行非同步复制失效回复处理(Async replication fallback process)程序的流程图。其中图12A的流程决定再同步作业是由 远端的SVC 23 (或称为Destination RAIDController)主导,其步骤如下。步骤911:映 射(map)来源资料卷(S0urCeV0lume)71以及其区段分配系统(Source SAS)给远端的SVC 23 (或称为Destination RAID Controller)。步骤912 挂载(mount)来源资料卷 的区段分 配系统(Source SAS)在远端的 SVC 23 (或称为 Destination RAIDController)上。步骤 913 初始化一“同步”或“非同步”的“再同步复制”(synchronous or async resync)作业, 用以将目的资料卷75的数据同步或非同步复制至来源资料卷71。步骤913完成后,接下 来进行图12B的流程,以进行“返回(Rollback) ”程序步骤921 从主机(Host) 11解映射 (unmap)目的资料卷75。步骤922 卸载(dismount)在远端的SVC 23 (或称为Destination RAID Controller)中的目的资料卷的区段分配系统和来源资料卷的区段分配系统。步骤 923 解映射(unmap)远端的 SVC 23 (或称为 Destination RAID Controller)中的来源资 料卷(SourceVolume) 71以及其区段分配系统(Source SAS)。步骤924:映射(map)目的资 料卷75以及其区段分配系统(Destination SAS)给近端的SVC 13 (或称为Source RAID Controller)。步骤925 挂载(mount)来源资料卷的区段分配系统、目的资料卷的区段分配 系统和来源BAS72在近端的SVC 13上。步骤926 初始化一“返回(Rollback) ”程序,用以将 来源资料卷71的数据回复到来源BAS72所记录的状态。来源资料卷的VBUT (Source VBUT) 持续追踪并记录因“返回(Rollback)”程序而导致的来源资料卷71更新。步骤927:分离 (split)来源资料卷71与来源BAS72,当该返回(Rollback)程序完成。步骤928 映射(map) 来源资料卷71给主机)11,并且目的资料卷的VBUT (Destination VBUT)持续追踪并记录目 的资料卷75的更新状态。步骤929:继续进行一般的非同步复制(async replication)作 业。以下举一实际范例,说明本发明如何搭配“时间点差备份(Point-in-Time Differential Backup),,技术而进行远端非同步资料卷复制作业,且使系统的运作效率维 持在一定的水准。此实际范例是以图4B的资料卷快照架构为例说明。请参照图13A,假设一来源资料卷71具有6个数据区块,分别是第一数据区块 711、第二数据区块712、第三数据区块713、第四数据区块714、第五数据区块715、以及第六 数据区块716。在远端非同步资料卷复制作业中的一“再同步复制(resync)”开始之前,该 来源资料卷71的第一数据区块711、第二数据区块712、第四数据区块714、以及第六数据 区块716的储存数据与远端的目的资料卷752的相对应区块的数据不同,而第三数据区块 713与第五数据区块715的储存数据与远端的目的资料卷752的相对应区块的数据相同。 请同时参照图13B至图13D,在“再同步复制(resync)”开始之后,系统在近端与远端各别 建立一对应来源资料卷71的来源BAS72、与一对应目的资料卷75的目的BAS76 (绘示于图 13D)。在该“再同步复制(resync)”期间,先有一输出入请求(Host 10)要对第四数据区块 714写入数据(图13B),之后又有二个输出入请求(Host 10)分别要对第一数据区块711 与第三数据区块713写入数据(图13C)。在上述三个输出入请求(Host 10)出现的时间,背景拷贝程序只有将第一数据区块711的数据拷贝至远端的目的资料卷75,其余皆还未拷 贝。如图13B与图13C中的横向粗黑虚线代表背景拷贝已经完成的进度。对图13B绘示 的输出入请求(HostIO)而言,因为第四数据区块714的数据还未拷贝至远端的目的资料卷 75,并且第四数据区块714的数据与目的资料卷75的相对应区块的数据不同,因此,在处理 将该输出入请求(Host 10)的数据写入第四数据区块714之前,需先对第四数据区块714 的数据做一“写入备份(backup-onirite,BOW) ”的动作。也就是要先将来源资料卷71的 第四数据区块714的原始数据拷贝至来源BAS72的相对应的第四数据区块724,以保存来 源资料卷71的第四数据区块714在“分离时间点”(也就是“再同步复制(resync)开始” 之时)的数据状态,提供未来背景复制至目的资料卷75之用。对图13C绘示的二输出入请 求(Host 10)而言,因为第一数据区块711已经同步复制至目的资料卷75的第一数据区块 751,又第三数据区块713的数据原本就与目的资料卷75的第三数据区块753的数据相同, 因此本发明并不对该二输出入请求(Host 10)对来源资料卷71写入数据的行为做“写入备 份(BOW),,的动作。值得注意的是,以上图13C本发明处理输出入请求(Host 10)的做法是只有对来 源资料卷71中与目的资料卷75不同的数据区块有做“写入备份(B0W)”的动作,如此可以 精简数据处理的程序。图13D绘示进行背景拷贝时,数据区块复制的对应关系。本发明在进行背景拷贝 时,请同时参照图8B,会先到来源BAS72的对应区块找找看是否有储存数据(步骤509)。如 果有,直接拷贝来源BAS72中该对应区块的数据至目的资料卷75 (步骤510)。例如,图13D 中将来源BAS72的第四数据区块724的数据拷贝至目的资料卷75的第四数据区块754。如 果来源BAS72在该对应区块是空的,再决定是否从来源资料卷71的对应区块拷贝数据至目 的资料卷75。其决定的机制取决于图8B的步骤511 =SrcVBUT. SeqNum是否小于第一变数 (SRCCURSPL)的变数值?如果是,表示在分离(split)时间点后,来源资料卷71的该数据 区块的数据未被更新,当两者还未同步复制过,须将来源资料卷71的该数据区块的数据远 端复制至目的资料卷75的对应区块(步骤512);例如,图13D中将来源资料卷71的第一 数据区块711、第二数据区块712和第六数据区块716的数据拷贝至目的资料卷75的第一 数据区块751、第二数据区块752和第六数据区块756。如果步骤511的判断结果为“否”, 则表示来源资料卷71的该数据区块已被更新过、且两资料卷71、75在该数据区块的数据于 分离时间点时是相同,因此不需再做数据复制的动作;例如,图13D中来源资料卷71的第三 数据区块713与第五数据区块715。以上范例中所提及的每一对目的资料卷75的数据区 块做写入动作的步骤,都需伴随着一“写入备份(B0W)”的处理。也就是先将目的资料卷75 将被写入区块的数据,先“写入备份(BOW) ”至目的BAS76的对应区块。例如,图13D中目的 资料卷75的第一数据区块751、第二数据区块752、第四数据区块754与第六数据区块756 的原始数据,需“写入备份(BOW) ”至目的BAS76的第一数据区块761、第二数据区块762、第 四数据区块764与第六数据区块766。总而言之,本发明利用非同步复制(Async replication)技术搭配“时间点差备份(Point-in-Time Differential Backup) ”技术来进行将近端数据复制至远端储存媒体的 作业,可以在数据真正进行背景拷贝之前,先回复主机其输出入请求(Host 10)已经完成, 适当地避免等待数据在通讯媒体(Communication Medium)传输时所需花费的大量时间。又,本发明所提出的“写入备份(Backup-on-Write,BOW) ”技术只针对那些真的有需要备份 至时间点差备份影像(Point-in-Time Differential Backup Image)的数据做备份,可以 精简数据处理的程序。 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人 员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更 动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的 技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案 的范围内。
权利要求
一种非同步资料卷复制的方法,其特征在于其包括以下步骤镜射位于一第一位置的一来源资料卷的数据到位于一第二位置的一目的资料卷;接收一主机输出入要求,该主机输出入要求来自位于该第一位置的一主机,且欲对该来源资料卷的一第一数据区块写入一更新数据;执行一写入备份操作,该写入备份操作先判断该来源资料卷将被写入的该第一数据区块的数据是否与该目的资料卷相对应的一第二数据区块的数据相同,而决定是否执行一将该来源资料卷的该第一数据区块的原始数据备份至位于该第一位置的一第一备份影像;写入该更新数据至该来源资料卷的该第一数据区块;以及回复该主机该主机输出入要求已经完成。
2.根据权利要求1所述的非同步资料卷复制的方法,其特征在于其中还进行一拷贝程 序,用以将储存于该第一备份影像中的数据、或该来源资料卷中的相对应数据拷贝至该目 的资料卷。
3.根据权利要求2所述的非同步资料卷复制的方法,其特征在于其中所述的拷贝程序 是藉由一通讯媒体将数据由该第一位置传输至该第二位置。
4.根据权利要求1所述的非同步资料卷复制的方法,其特征在于其中还包含在该来源资料卷的一资料卷记录表中配置一第一项目,并且初始化该第一项目的多个 栏位,包括设定一第一栏位的序号为一初始设定值、以及设定一第二栏位的操作代码为一 代表来源资料卷状态的操作代码;其中更指派该第一栏位的该初始设定值给一第一变数;在该目的资料卷的一资料卷记录表中配置一第二项目,并且初始化该第二项目的多个 栏位,包括设定一第二栏位的操作代码为一代表目的资料卷状态的操作代码;增加该目的资料卷的一主要序号变数的值,并将该主要序号变数的值拷贝至该目的资 料卷的该资料卷记录表的该第二项目中记录序号的一第一栏位,以及拷贝至该来源资料卷 的该资料卷记录表的该第一项目中记录另一资料卷的资料卷记录表的项目的序号的一第 四栏位;其中更指派该目的资料卷的该主要序号变数的现行值给一第二变数;设定该目的资料卷的该资料卷记录表的该第二项目中一第四栏位为一起始位址,其中 该第四栏位用于记录下一个要进行同步复制的数据区块的索引号;增加该来源资料卷的一主要序号变数的值,并将该来源资料卷的该主要序号变数的值 拷贝至该来源资料卷的该资料卷记录表的该第一项目中记录序号的该第一栏位;其中更指 派该来源资料卷的该主要序号变数的值给该第一变数;在该目的资料卷的该资料卷记录表中配置一第三项目,并且初始化该第三项目的多个 栏位,包括设定一第二栏位的操作代码为一代表分离状态的操作代码;再次增加该目的资料卷的该主要序号变数的值并将之指派给一第三变数,并将增加后 的该目的资料卷的该主要序号变数的值拷贝至该目的资料卷的该资料卷记录表的该第三 项目中记录序号的一第一栏位;以及判断该目的资料卷与该来源资料卷的复制作业是否已经完成。
5.根据权利要求4所述的非同步资料卷复制的方法,其特征在于其中还增加一步骤 执行一背景拷贝来源资料卷至目的资料卷程序。
6.根据权利要求4所述的非同步资料卷复制的方法,其特征在于其中还增加一步骤 判断是否有一主机输出入要求要对该来源资料卷存取数据。
7.根据权利要求6所述的非同步资料卷复制的方法,其特征在于其中还增加一步骤 将该主机输出入要求分解为至少一逻辑盘输出入要求,每一该逻辑盘输出入要求皆对应到 该来源资料卷中一欲存取数据区块。
8.根据权利要求7所述的非同步资料卷复制的方法,其特征在于其中该至少一逻辑盘 输出入要求的每一并行执行以下步骤判断该主机输出入要求是否是一写入要求; 执行一检查/拷贝来源资料卷的区块数据至目的资料卷的程序; 写入该主机输出入要求的数据至该来源资料卷的该欲存取数据区块;以及 设定该来源资料卷的一资料卷区块更新表中对应该欲存取数据区块的序号等于该第 一变数的值。
9.根据权利要求7所述的非同步资料卷复制的方法,其特征在于其中还增加以下步骤判断该主机输出入要求是否是一写入要求; 判断该主机输出入要求是否是存取该来源资料卷;以及 从该来源资料卷的该欲存取区块读取数据。
10.根据权利要求7所述的非同步资料卷复制的方法,其特征在于其中还增加以下步骤判断该主机输出入要求是否是一写入要求; 判断该主机输出入要求是否是存取该来源资料卷;判断该主机输出入要求是否是存取该目的资料卷并且判断该目的资料卷中正进行处 理的该资料卷区块更新表的该项目的序号是否小于该目的资料卷的该第二变数的值;以及 从该来源资料卷的该欲存取区块、或该第一备份影像的相对位置的区块读取数据。
11.根据权利要求7所述的非同步资料卷复制的方法,其特征在于其中还增加以下步骤判断该主机输出入要求是否是一写入要求; 判断该主机输出入要求是否是存取该来源资料卷;判断该主机输出入要求是否是存取该目的资料卷并且判断该目的资料卷中正进行处 理的该资料卷区块更新表的该项目的序号是否小于该目的资料卷的该第二变数的值;以及 从该目的资料卷的该欲存取区块读取数据。
12.根据权利要求7所述的非同步资料卷复制的方法,其特征在于其中还增加一步骤 判断对应该至少一逻辑盘输出入要求的程序是否都已执行完成。
13.根据权利要求12所述的非同步资料卷复制的方法,其特征在于其中还增加一步 骤回报送出该主机输出入要求的一主机,该主机输出入要求已处理完毕。
14.根据权利要求5所述的非同步资料卷复制的方法,其特征在于其中该背景拷贝来 源资料卷至目的资料卷程序包含以下步骤对于该目的资料卷的一资料卷区块更新表的每一项目所代表的每一数据区块,呼叫并 执行一检查/拷贝来源资料卷的区块数据至目的资料卷程序;以及判断是否还有任何该资料卷区块更新表中所记录的数据区块尚未进行同步复制。
15.根据权利要求14所述的非同步资料卷复制的方法,其特征在于其中如果判断结果是该资料卷区块更新表中还有数据区块尚未进行同步复制,则将该目的资料卷的该资料卷 记录表的该第二项目中该第四栏位所记录的下一个要进行同步复制的数据区块的索引号 增加1个单位。
16.根据权利要求14所述的非同步资料卷复制的方法,其特征在于其中如果判断结果 是该资料卷区块更新表中所有的数据区块都已同步复制完成,则设定该目的资料卷的该资 料卷记录表的该第二项目中该第四栏位的值为一预设值,该预设值代表所有数据区块的同 步复制皆已完成。
17.根据权利要求16所述的非同步资料卷复制的方法,其特征在于其中该预设值是 “-1”。
18.根据权利要求8所述的非同步资料卷复制的方法,其特征在于其中该检查/拷贝来 源资料卷的区块数据至目的资料卷的程序包含以下步骤判断该目的资料卷的一资料卷区块更新表中一正进行处理的数据区块的序号是否小 于该第二变数的值。
19.根据权利要求18所述的非同步资料卷复制的方法,其特征在于其中该检查/拷贝 来源资料卷的区块数据至目的资料卷的程序还包含以下步骤执行一检查资料卷区块是否 已在同步状态的程序,并且检查该程序是否回传一 “伪”讯息。
20.根据权利要求19所述的非同步资料卷复制的方法,其特征在于其中该检查/拷贝 来源资料卷的区块数据至目的资料卷的程序还包含以下步骤拷贝该来源资料卷的区块数 据至该第一备份影像,以做为该写入备份操作。
21.根据权利要求14所述的非同步资料卷复制的方法,其特征在于其中该检查/拷贝 来源资料卷的区块数据至目的资料卷的程序包含以下步骤判断该目的资料卷的一资料卷区块更新表中一正进行处理的数据区块的序号是否小 于该第二变数的值。
22.根据权利要求21所述的非同步资料卷复制的方法,其特征在于其中该检查/拷贝 来源资料卷的区块数据至目的资料卷的程序还包含以下步骤执行一检查资料卷区块是否 已在同步状态的程序,并且检查该程序是否回传一 “伪”讯息。
23.根据权利要求22所述的非同步资料卷复制的方法,其特征在于其中该检查/拷贝 来源资料卷的区块数据至目的资料卷的程序还包含以下步骤判断该目的资料卷是否是可 存取。
24.根据权利要求23所述的非同步资料卷复制的方法,其特征在于其中该检查/拷 贝来源资料卷的区块数据至目的资料卷的程序还包含以下步骤设定一同步错误旗标为 “直”
25.根据权利要求23所述的非同步资料卷复制的方法,其特征在于其中该检查/拷贝 来源资料卷的区块数据至目的资料卷的程序还包含以下步骤判断该第一备份影像的一对 应区块是否是空的。
26.根据权利要求25所述的非同步资料卷复制的方法,其特征在于其中该检查/拷贝 来源资料卷的区块数据至目的资料卷的程序还包含以下步骤复制该第一备份影像的该对 应区块的数据至该目的资料卷;以及设定该目的资料卷中正进行处理的该资料卷区块更新表的项目的序号等于该第二变数的值。
27.根据权利要求25所述的非同步资料卷复制的方法,其特征在于其中该检查/拷贝 来源资料卷的区块数据至目的资料卷的程序还包含以下步骤判断该来源资料卷中正进行处理的该资料卷区块更新表的项目的序号是否小于该第 一变数的值;以及设定该目的资料卷中正进行处理的该资料卷区块更新表的项目的序号等于该第二变 数的值。
28.根据权利要求25所述的非同步资料卷复制的方法,其特征在于其中该检查/拷贝 来源资料卷的区块数据至目的资料卷的程序还包含以下步骤判断该来源资料卷中正进行处理的该资料卷区块更新表的项目的序号是否小于该第 一变数的值;复制该来源资料卷的该对应区块的数据至该目的资料卷;以及设定该目的资料卷中正进行处理的该资料卷区块更新表的项目的序号等于该第二变 数的值。
29.根据权利要求19或22所述的非同步资料卷复制的方法,其特征在于其中检查资料 卷区块是否已在同步状态的程序是包含以下五个判断步骤判断该目的资料卷的该资料卷区块更新表中该正进行处理的数据区块的序号是否等 于一初始设定值;判断该目的资料卷的该资料卷区块更新表中该正进行处理的数据区块的序号所对应 的该目的资料卷的该资料卷记录表的项目是否找不到,或者虽有找到但是读不到或两者数 据不一致;判断该目的资料卷的该资料卷记录表中目前正进行的项目的该第二栏位所记载的操 作代码是否不是该代表目的资料卷状态的操作代码,或者该目的资料卷该资料卷记录表中 目前正进行的项目的一第三栏位所记载的另一产生关联的资料卷的身份是否不是其对应 的该来源资料卷的身份代码;判断与该目的资料卷的该资料卷区块更新表中该正进行处理的数据区块的序号相同 的该来源资料卷的该资料卷记录表中目前正进行的项目的该第四栏位所记载的另一资料 卷的序号的该来源资料卷的该资料卷记录表中的项目,是否找不到,或者虽有找到但是读 不到或记载的数据不一致;以及判断该来源资料卷的该资料卷区块更新表中该正进行处理的数据区块的序号是否大 于或等于该来源资料卷的该资料卷记录表中目前正进行的项目的该第一栏位所记载的序 号。
30.根据权利要求29所述的非同步资料卷复制的方法,其特征在于其中只要该检查资 料卷区块是否已在同步状态的程序的该五个判断步骤的任一的判断结果为“是”,则回传该 “伪”讯息。
31.根据权利要求29所述的非同步资料卷复制的方法,其特征在于其中该检查资料卷 区块是否已在同步状态的程序的该五个判断步骤的所有判断结果皆为“否”,则回传一“真”讯息ο
32.根据权利要求29所述的非同步资料卷复制的方法,其特征在于其中该初始设定值是 “O”。
33.根据权利要求4所述的非同步资料卷复制的方法,其特征在于其中还包含一非同 步复制失效转移处理程序,包含以下步骤解映射在该第一位置的一第一储存虚拟化子系统中的该目的资料卷以及其对应的一 第二区段分配系统;挂载该第二区段分配系统的一第二备份影像在该第二位置的一第二储存虚拟化子系 统的一第二控制器上,其中该第二备份影像储存于该第二位置;初始化一返回作业,用以将该目的资料卷的数据回复到该第二备份影像所记录的状 态,并且,该目的资料卷的该资料卷区块更新表持续追踪并记录因该返回作业而导致的数 据更新;分离该目的资料卷与该第二备份影像;以及映射该目的资料卷给该主机,以服务该主机的需求,并且,该目的资料卷的该资料卷区 块更新表持续追踪并记录该主机对该目的资料卷所做的数据更新。
34.根据权利要求33所述的非同步资料卷复制的方法,其特征在于其中还包含一非同 步复制失效回复处理程序,包含以下步骤解映射该主机中的该目的资料卷,并且卸载该目的资料卷的该第二区段分配系统; 映射该目的资料卷以及该第二区段分配系统给位于该第一位置的一第一储存虚拟化 子系统的一第一控制器;挂载该来源资料卷的一第一区段分配系统和该目的资料卷的该第二区段分配系统在 该第一控制器上。初始化一同步的再同步复制作业,用以将该目的资料卷的数据复制至该来源资料卷, 并且分离该目的资料卷与该来源资料卷; 映射该来源资料卷给该主机存取;以及更改该来源资料卷与该目的资料卷间的一复制模式为非同步当该同步的再同步复制 作业完成。
35.根据权利要求33所述的非同步资料卷复制的方法,其特征在于其中还包含一非同 步复制失效回复处理程序,包含以下步骤映射该来源资料卷以及其对应的一第一区段分配系统给位于该第二位置的该第二储 存虚拟化子系统的该第二控制;挂载该来源资料卷的该第一区段分配系统在该第二位置的该第二控制上;以及 初始化一同步或非同步的再同步复制作业,用以将该目的资料卷的数据同步或非同步 复制至该来源资料卷。
36.根据权利要求35所述的非同步资料卷复制的方法,其特征在于其中该非同步复制 失效回复处理程序还包含以下步骤解映射该主机中的该目的资料卷;卸载位于该第二位置的该第二控制器中的该目的资料卷的该第二区段分配系统和该 来源资料卷的该第一区段分配系统;解映射位于该第二位置的该第二控制中的该来源资料卷以及该第一其区段分配系统;映射该目的资料卷以及该第二区段分配系统给位于该第一位置的该第一控制器; 挂载该来源资料卷的该第一区段分配系统、该目的资料卷的该第二区段分配系统和该 第一备份影像在位于该第一位置的该第一控制器上;初始化一返回程序,用以将该来源资料卷的数据回复到该第一备份影像所记录的状 态,并且该来源资料卷的该资料卷区块更新表持续追踪并记录因该返回程序而导致的该来 源资料卷的更新状态;分离该来源资料卷与该第一备份影像;映射该来源资料卷给该主机,并且该目的资料卷的该资料卷区块更新表持续追踪并记 录该目的资料卷的更新状态;以及 进行一非同步复制作业。
37.一种执行非同步资料卷复制的储存系统,其特征在于其包含一第一储存虚拟化子系统,位于一第一位置,包含有一第一控制器与一第一储存单元, 其中该第一储存单元中具有一第一资料卷与一第一备份影像;一第二储存单元,位于一第二位置,该第二储存单元中具有一第二资料卷;以及 一主机,位于该第一位置,与该第一储存虚拟化子系统耦接,并对该第一储存虚拟化子 系统中的该第一资料卷发出一主机输出入要求;其中,当该第一储存虚拟化子系统中的该第一控制器接收到该主机输出入要求后,执 行一写入备份操作,该写入备份操作判断该第一资料卷将被写入的一第一数据区块的数据 是否与该第二资料卷相对应的一第二数据区块的数据相同,而决定是否执行一将该第一资 料卷的该第一数据区块的原始数据备份至该第一备份影像的操作;然后该第一控制器写入 该主机输出入要求的一更新数据至该第一资料卷的该第一数据区块,之后回复该主机该主 机输出入要求已经完成。
38.根据权利要求37所述的执行非同步资料卷复制的储存系统,其特征在于其中该第 二储存单元还具有一第二备份影像,用以当该第二资料卷的数据更动时,记录该第二资料 卷的原始数据之用。
39.根据权利要求37所述的执行非同步资料卷复制的储存系统,其特征在于其中位于 该第一位置的该第一储存虚拟化子系统与位于该第二位置的该第二储存单元之间通过一 通讯媒体传输数据。
40.根据权利要求37所述的执行非同步资料卷复制的储存系统,其特征在于其中该通 讯媒体是以下组合的其中之一区域网络、广域网络、储存区域网络、网际网络、与专用的数 据传输通道。
41.根据权利要求37所述的执行非同步资料卷复制的储存系统,其特征在于其中该第 一备份影像是由一区段分配系统管理。
42.根据权利要求37所述的执行非同步资料卷复制的储存系统,其特征在于其中该区 段分配系统包含有一第一属性区块,用以记载该区段分配系统的身份与相关联的至少一媒 体区的身份;一区块关联集相关资讯栏位,用以记载指向一区块关联集的资讯、以及与该区 块关联集关联的该来源资料卷的资讯;一第一日志栏位,用来存放一运作日志,以供该系统 发生错误或断电情事时可供回复之用。
43.根据权利要求43所述的执行非同步资料卷复制的储存系统,其特征在于其中该区块关联集相关资讯栏位还包含有一区段分配表与一节点表。
44.根据权利要求42所述的执行非同步资料卷复制的储存系统,其特征在于其中该区 块关联集还包含有一第二属性区块,用以记载该区块关联集的身份、该区块关联集的大小 以及与该区块关联集相关的设定;一目录栏位,记载一区块关联表的级数以及已建置的该 区块关联表的数量;一第二日志栏位,用以存放一运作日志,以供该系统发生错误或断电情 事时可供回复之用;一文件表,用以指向该区块关联表;以及一数据区,用以存放该第一备 份影像。
全文摘要
本发明是有关一种非同步资料卷复制的方法及其存储系统。该方法包括以下步骤镜射位于一第一位置的一来源资料卷的数据到位于一第二位置的一目的资料卷;接收一主机输出入要求,来自位于该第一位置的一主机,且欲对该来源资料卷的一第一数据区块写入一更新数据;执行一写入备份操作,先判断该来源资料卷将被写入的该第一数据区块的数据是否与该目的资料卷相对应的一第二数据区块的数据相同,而决定是否执行一将该来源资料卷的该第一数据区块的原始数据备份至位于该第一位置的一第一备份影像;写入该更新数据至该来源资料卷的该第一数据区块;以及回复该主机该主机输出入要求已经完成。该存储系统执行该方法。本发明可以使得传输至远端的目的资料卷的数据量降到最少。
文档编号G06F11/14GK101826043SQ20101011111
公开日2010年9月8日 申请日期2010年1月22日 优先权日2009年1月23日
发明者方庆华, 施明文 申请人:普安科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1