《一种磁盘重构方法及其装置.pdf》由会员分享,可在线阅读,更多相关《一种磁盘重构方法及其装置.pdf(28页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103049400 A (43)申请公布日 2013.04.17 CN 103049400 A *CN103049400A* (21)申请号 201210580816.7 (22)申请日 2012.12.27 G06F 12/16(2006.01) G06F 11/07(2006.01) (71)申请人 华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人 何孝金 覃中 熊伟 (74)专利代理机构 北京中博世达专利商标代理 有限公司 11274 代理人 申健 (54) 发明名称 一种磁盘重构方法及其装置 (57) 摘要 本发明实。
2、施例提供一种磁盘重构方法及装 置, 涉及存储领域, 能够减少数据的丢失, 甚至实 现不丢失, 并且能够快速恢复用户的业务。 其方法 为 : 当独立磁盘冗余阵列 RAID 组中第一成员磁盘 存在故障时, 根据 RAID 组中第一成员磁盘以外的 第二成员磁盘的数据恢复第一成员磁盘的数据, 并将恢复的数据存储到目标磁盘 ; 在第一成员磁 盘的故障恢复前, 用包含恢复的数据的目标磁盘 替换第一成员磁盘作为 RAID 组的成员磁盘 ; 在第 一成员磁盘故障恢复后, 根据恢复的第一成员磁 盘进行相应的重构处理。本发明实施例用于磁盘 阵列中故障磁盘的重构。 (51)Int.Cl. 权利要求书 2 页 说明书。
3、 14 页 附图 11 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 14 页 附图 11 页 1/2 页 2 1. 一种磁盘重构方法, 其特征在于, 当独立磁盘冗余阵列 RAID 组中第一成员磁盘存在 故障时, 所述方法包括 : 根据 RAID 组中第一成员磁盘以外的第二成员磁盘的数据恢复第一成员磁盘的数据, 并将恢复的数据存储到目标磁盘 ; 在第一成员磁盘的故障恢复前, 用包含恢复的数据的目标磁盘替换第一成员磁盘作为 RAID 组的成员磁盘 ; 在第一成员磁盘故障恢复后, 根据恢复的第一成员磁盘进行相应的重构处理。 2. 根据权利要求 1 所述。
4、的磁盘重构方法, 其特征在于, 所述根据恢复的第一成员磁盘 进行相应的重构处理包括 : 用恢复的第一成员磁盘替换包含恢复的数据的目标磁盘作为 RAID 组的成员磁盘。 3. 根据权利要求 1 所述的磁盘重构方法, 其特征在于, 根据 RAID 组中第一成员磁盘以 外的第二成员磁盘可读区域的数据恢复第一成员磁盘的第一区域的数据, 并将恢复的数据 存储到目标磁盘, 其中, 在目标磁盘上与第一成员磁盘的第二区域对应的区域不写入数据, 第一区域对应第二成员磁盘的区域可读, 第二区域对应第二成员磁盘的不可读区域。 4. 根据权利要求 3 所述的磁盘重构方法, 其特征在于, 所述根据恢复后的第一成员磁 盘。
5、进行相应的重构处理包括 : 将恢复的第一成员磁盘的第二区域的数据存储到目标磁盘。 5. 一种用于实现磁盘重构的装置, 其特征在于, 包括 : 数据获取单元, 用于根据独立磁盘冗余阵列 RAID 组中第一成员磁盘以外的第二成员 磁盘的数据恢复第一成员磁盘的数据, 第一成员磁盘为 RAID 组中发生故障的成员磁盘 ; 写处理单元, 用于将数据获取单元恢复的数据写入目标磁盘 ; 重构控制单元, 用于在第一成员磁盘故障恢复前, 将 RAID 组的成员磁盘从第一成员磁 盘切换到包含恢复的数据的目标磁盘, 并在第一成员磁盘故障恢复后, 根据恢复的第一成 员磁盘完成重构处理。 6. 根据权利要求 5 所述的。
6、装置, 其特征在于, 在第一成员磁盘故障恢复后, 重构控制单 元将 RAID 组的成员磁盘从包含恢复的数据的目标磁盘切换到恢复的第一成员磁盘。 7. 根据权利要求 6 所述的装置, 其特征在于, 重构控制单元在判断第一成员磁盘的故 障可恢复的情况选择在第一成员磁盘故障恢复后, 将 RAID 组的成员磁盘从包含恢复的数 据的目标磁盘切换到恢复的第一成员磁盘的重构方式。 8. 根据权利要求 5 所述的装置, 其特征在于, 在第一成员磁盘故障恢复后, 重构控制单 元将 RAID 组的成员磁盘从包含恢复的数据的目标磁盘切换到恢复的第一成员磁盘。 9. 一种存储装置, 其特征在于, 包括 : 如权利要求。
7、 5-8 任一项所述的用于实现磁盘重构的装置 ; 耦合到所述用于实现磁盘重构的装置的一个或多个独立磁盘冗余阵列 RAID 组和 / 或 目标磁盘。 10. 一种磁盘重构装置, 其特征在于, 包括 : 磁盘适配器, 用作独立磁盘冗余阵列 RAID 组和目标磁盘的接口 ; 存储控制器, 用于判断第一成员磁盘的故障是否可恢复, 如果第一成员磁盘的故障可 恢复, 按第一重构方式处理, 如果第一成员磁盘的故障不可恢复, 按第二重构方式处理 ; 其中, 在第一重构方式下, 根据 RAID 组中第一成员磁盘以外的第二成员磁盘的数据恢 权 利 要 求 书 CN 103049400 A 2 2/2 页 3 复第。
8、一成员磁盘的数据, 并将恢复的数据存储到目标磁盘 ; 在第一成员磁盘的故障恢复前, 用包含恢复的数据的目标磁盘替换第一成员磁盘作为 RAID 组的成员磁盘 ; 在第一成员磁 盘故障恢复后, 根据恢复的第一成员磁盘完成重构处理 ; 其中, 在第二重构方式下, 根据第二成员磁盘的数据恢复第一成员磁盘的数据, 并将恢 复的数据存储到目标磁盘 ; 在完成第一成员磁盘到目标磁盘重构后, 用包含恢复的数据的 目标磁盘替换第一成员磁盘作为 RAID 组的成员磁盘, 将第一成员磁盘从 RAID 组移除以完 成磁盘重构。 11. 根据权利要求 10 所述的磁盘重构装置, 其特征在于, 根据恢复的第一成员磁盘 完。
9、成重构处理的操作包括 : 用恢复的第一成员磁盘替换包含恢复的数据的目标磁盘作为 RAID 组的成员磁盘以完成重构处理。 12. 根据权利要求 10 所述的磁盘重构装置, 其特征在于, 根据恢复的第一成员磁盘完 成重构处理的操作包括 : 将恢复的第一成员磁盘上与第二成员磁盘的不可读区域对应的区 域的数据存储到目标磁盘以完成重构处理。 13. 一种存储装置, 其特征在于, 包括 : 如权利要求 10-12 任一项所述的磁盘重构装置 ; 耦合到所述磁盘重构装置的一个或多个独立磁盘冗余阵列 RAID 组和 / 或目标磁盘。 权 利 要 求 书 CN 103049400 A 3 1/14 页 4 一种磁。
10、盘重构方法及其装置 技术领域 0001 本发明涉及存储领域, 尤其涉及一种磁盘重构方法及其装置。 背景技术 0002 独立磁盘冗余阵列 (Redundant Array of Independent Disks, RAID), 旧称廉价 磁盘冗余阵列 (Redundant Array of InexpensiveDisks, RAID), 是一种把多块独立的磁盘 或硬盘组合起来形成的一个磁盘组或硬盘组, 也可以称为逻辑硬盘。一个磁盘组中的多个 磁盘互为成员磁盘。 0003 RAID 技术为存储领域最常用的技术之一, 它将多块磁盘或硬盘虚拟成一个大容量 的磁盘或硬盘, 可以通过并行读写来加快整体。
11、存储速度, 并可以利用冗余纠错技术实现一 定的容错能力, 从而提供比同等容量的单个磁盘或硬盘更高的存储性能与数据备份能力。 0004 在现有技术当中, 在某一磁盘出现故障之后, 可以利用磁盘组中剩余磁盘上的内 容恢复故障磁盘的内容, 并将恢复的内容写到一个空闲盘中, 这个过程称作磁盘重构。 0005 磁盘重构过程中, 如果遇到剩余磁盘上有不可读的区域, 则在该空闲磁盘上与不 可读的区域对应的空闲区域标记为坏块, 继续利用剩余磁盘的其它区域进行重构, 重构完 成后将故障磁盘替换为空闲磁盘投入使用。 然而, 现有的这种处理方式, 故障磁盘上部分数 据会丢失, 例如故障磁盘上与不可读的区域对应的区域。
12、的数据会丢失, 导致重构后的磁盘 数据不完整。 发明内容 0006 本发明的实施例提供一种磁盘重构方法及装置, 能够减少磁盘在重构之后数据丢 失。 0007 第一方面, 提供一种磁盘重构方法, 包括 : 0008 当 RAID 组中第一成员磁盘存在故障时, 所述方法 : 0009 根据 RAID 组中第一成员磁盘以外的第二成员磁盘的数据恢复第一成员磁盘的数 据, 并将恢复的数据存储到目标磁盘 ; 0010 在第一成员磁盘的故障恢复前, 用包含恢复的数据的目标磁盘替换第一成员磁盘 作为 RAID 组的成员磁盘 ; 0011 在第一成员磁盘故障恢复后, 根据恢复的第一成员磁盘进行相应的重构处理。 。
13、0012 在第一种可能实现的方式中, 结合第一方面, 用恢复的第一成员磁盘替换包含恢 复的数据的目标磁盘作为 RAID 组的成员磁盘。 0013 在第二种可能实现的方式中, 结合第一方面, 所述方法还包括 : 根据 RAID 组中第 一成员磁盘以外的第二成员磁盘可读区域的数据恢复第一成员磁盘的第一区域的数据, 并 将恢复的数据存储到目标磁盘, 其中, 在目标磁盘上与第一成员磁盘的第二区域对应的区 域不写入数据, 第一区域对应第二成员磁盘的区域可读, 第二区域对应第二成员磁盘的不 可读区域。 进一步的, 在第一磁盘成员的故障恢复后, 可以将恢复的第一成员磁盘的第二区 说 明 书 CN 10304。
14、9400 A 4 2/14 页 5 域的数据存储到目标磁盘。 0014 第二方面, 提供一种用于实现磁盘重构的装置, 包括 : 0015 数据获取单元, 用于根据 RAID 组中第一成员磁盘以外的第二成员磁盘的数据恢 复第一成员磁盘的数据, 第一成员磁盘为 RAID 组中发生故障的成员磁盘 ; 0016 写处理单元, 用于将数据获取单元恢复的数据写入目标磁盘。 0017 重构控制单元, 用于在第一成员磁盘故障恢复前, 将 RAID 组的成员磁盘从第一成 员磁盘切换到包含恢复的数据的目标磁盘, 并在第一成员磁盘故障恢复后, 根据恢复的第 一成员磁盘完成重构处理。 0018 在第一种可能实现的方式。
15、中, 结合第二方面, 在第一成员磁盘故障恢复后, 重构控 制单元将 RAID 组的成员磁盘从包含恢复的数据的目标磁盘切换到恢复的第一成员磁盘。 0019 在第二种可能实现的方式中, 结合第二方面, 重构控制单元在判断第一成员磁盘 的故障可恢复的情况选择在第一成员磁盘故障恢复后, 将 RAID 组的成员磁盘从包含恢复 的数据的目标磁盘切换到恢复的第一成员磁盘的重构方式。 0020 第三方面, 提供一种存储装置, 包括 : 第三方面以及各种可能实现涉及的用于实现 磁盘重构的装置, 以及耦合到用于实现磁盘重构的装置的一个或多个RAID组和/或目标磁 盘。 0021 第四方面, 提供一种磁盘重构装置,。
16、 包括 : 0022 磁盘适配器, 用作独立磁盘冗余阵列 RAID 组和目标磁盘的接口 ; 0023 存储控制器, 用于判断第一成员磁盘的故障是否可恢复, 如果第一成员磁盘的故 障可恢复, 按第一重构方式处理, 如果第一成员磁盘的故障不可恢复, 按第二重构方式处 理 ; 0024 其中, 在第一重构方式下, 根据 RAID 组中第一成员磁盘以外的第二成员磁盘的数 据恢复第一成员磁盘的数据, 并将恢复的数据存储到目标磁盘 ; 在第一成员磁盘的故障恢 复前, 用包含恢复的数据的目标磁盘替换第一成员磁盘作为 RAID 组的成员磁盘 ; 在第一成 员磁盘故障恢复后, 根据恢复的第一成员磁盘完成重构处理。
17、 ; 0025 其中, 在第二重构方式下, 根据第二成员磁盘的数据恢复第一成员磁盘的数据, 并 将恢复的数据存储到目标磁盘 ; 在完成第一成员磁盘到目标磁盘重构后, 用包含恢复的数 据的目标磁盘替换第一成员磁盘作为 RAID 组的成员磁盘, 将第一成员磁盘从 RAID 组移除 以完成磁盘重构。 0026 在第二种可能实现的方式中, 结合第四方面, 根据恢复的第一成员磁盘完成重构 处理的操作包括 : 用恢复的第一成员磁盘替换包含恢复的数据的目标磁盘作为 RAID 组的 成员磁盘以完成重构处理。 0027 在第三种可能实现的方式中, 结合第四方面, 根据恢复的第一成员磁盘完成重构 处理的操作包括 。
18、: 将恢复的第一成员磁盘上与第二成员磁盘的不可读区域对应的区域的数 据存储到目标磁盘以完成重构处理。 0028 第五方面, 提供一种存储装置, 包括 : 0029 第四方面以及各种可能实现涉及的磁盘重构装置, 以及耦合到磁盘重构装置的一 个或多个 RAID 组和 / 或目标磁盘。 0030 本发明实施例提供的各种方法和装置, 能够减少磁盘重构之后数据的丢失, 甚至 说 明 书 CN 103049400 A 5 3/14 页 6 实现不丢失, 并且能够快速恢复用户的业务。 附图说明 0031 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作。
19、简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以 根据这些附图获得其他的附图。 0032 图 1 为本发明实施例提供的磁盘重构方法流程示意图 ; 0033 图 2A 为本发明另一实施例提供的磁盘重构方法流程示意图 ; 0034 图 2B 为本发明另一实施例提供的磁盘重构方法流程示意图 ; 0035 图 3 为本发明另一实施例提供的磁盘重构方法流程示意图 ; 0036 图 4 为本发明另一实施例提供的磁盘重构方法流程示意图 ; 0037 图 5 为本发明另一实施例提供的磁盘重构方法流程示意图 ; 0038。
20、 图 6A 为本发明实施例提供的 RAID 组数据存储示意图 ; 0039 图 6B 为本发明另一实施例提供的磁盘重构示意图 ; 0040 图 6C 为本发明另一实施例提供的磁盘重构示意图 ; 0041 图 7 为本发明又一实施例提供的装置示意图 ; 0042 图 8 为本发明又一实施例提供的装置示意图 ; 0043 图 9A 为本发明实施例提供的应用系统框图 ; 0044 图 9B 为本发明实施例提供的应用系统框图。 具体实施方式 0045 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实。
21、施例。基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。 0046 本发明实施例涉及的术语 “磁盘” 和 “硬盘” 具有基本相同含义。磁盘是通过磁性 进行读写功能的设备磁盘, 其可为非易失性存储介质, 断电后保存的文件不会丢失。 硬盘是 将磁盘的储存片装到硬质金属盒子里可以得到更好的保护。 0047 本发明实施例涉及的磁盘重构, 是对磁盘上数据的重建或恢复。恢复的数据可以 被写入目标磁盘。目标磁盘可以是指定的备份磁盘或任何可用的空闲磁盘。本发明实施例 提供的各种磁盘重构方法和装置, 可应用于包含多个成员磁盘的磁盘组, 例如。
22、 RAID 组。该 磁盘组用于分布存储整数个数据块以及这些数据块形成的整数个校验数据。在该磁盘组 中, 如果需要对某磁盘进行重构, 可以利用磁盘组中剩余磁盘的数据恢复该磁盘的数据, 从 而实现磁盘重构。 0048 本发明实施例提供的 “磁盘组” , 又称作磁盘阵列, 可以是基于软件的阵列也可以 是基于硬件的阵列。特别的, 软阵列通过软件程序并由计算机的中央处理单元 (Center Processing Unit, CPU) 提供运行能力所成。例如, 基于软件的阵列通过网络操作系统 自身提供的磁盘管理功能将连接的普通小型计算机系统接口 (Small ComputerSystem 说 明 书 CN。
23、 103049400 A 6 4/14 页 7 Interface, SCSI) 卡上的多块硬盘配置成逻辑盘, 组成阵列。基于软件的阵列可以提供数 据冗余功能。基于硬件的阵列是使用专门的磁盘阵列卡来实现的。基于硬件的阵列能够提 供在线扩容、 动态修改阵列级别、 自动数据恢复、 驱动器漫游、 超高速缓冲等功能。 它能提供 性能、 数据保护、 可靠性、 可用性和可管理性的解决方案。阵列卡专用的处理单元来进行操 作, 它的性能远远高于常规非阵列硬盘, 并且更安全更稳定。 0049 本发明各实施例提供的磁盘组或磁盘阵列可以采用 RAID 技术, RAID 可以是基于 软件的也可以是基于硬件的。本发明实。
24、施例可以应用于各种 RAID 组合方式, 用 RAID 级别 标识, 例如 RAID-0, RAID-1, RAID-1E, RAID-5, RAID-6, RAID-7, RAID-10, RAID-50。不同的 RAID 级别可以满足性能和安全的多种需要。各种 RAID 级别所需磁盘的数目和存储方式为 公众所知, 不再赘述。 0050 RAID 组中, 每一个成员磁盘包含数量相等的区块, 跨越 RAID 组中所有成员磁盘的 对齐区块称为条带。如图 4 所示为一种 RAID 组数据存储形式。图 6A 中 RAID 组划分成 N 个 条带, 每一个条带对应 4 个区块, 3 个区块存储 3 个。
25、数据块的数据, 1 个区块存储该条带 3 个 区块的校验数据。每个数据块承载数据比特或字节的大小可以根据存储装置或系统设置, 可以通过本地或远程控制接口进行设置。如图 6A 所示, 一组数据块 D1, D2, , D3N+3 以及这些数据块形成的校验数据 P1, P2, , PN 分布存储到 RAID 组 600 的多个成员磁 盘 601-604 中。值得注意的是, RAID 组包含的成员磁盘数不仅限于图示的 4 个, 成员磁盘 的数量可以根据 RAID 级别的基本需要以及客户需要确定。本发明实施例数据存储方式不 仅限于图 6A 所示, 可以包括现有各种 RAID 级别的存储方式。 0051 。
26、在本发明的一个实施例中, 当 RAID 组中第一成员磁盘故障, 如成员磁盘 604 发生 故障, 步骤 S101 中, 确定 RAID 组中第一成员磁盘之外的第二成员磁盘存在不可读区域。步 骤 S103 中, 可以根据 RAID 组中该成员磁盘 604 以外的第二成员磁盘 601-603 的数据恢复 第一成员磁盘的数据, 并将恢复的数据存储到目标磁盘605。 步骤S105中, 在第一成员磁盘 的故障恢复前, 用包含恢复的数据的目标磁盘替换第一成员磁盘作为 RAID 组的成员磁盘。 步骤 S107 中, 在第一成员磁盘故障恢复后, 用恢复的第一成员磁盘完成相应的重构处理。 0052 如果发现第二。
27、成员磁盘存在不可读区域, 对第一成员磁盘的第一区域进行重构操 作, 可以不对第一成员磁盘的第二区域进行重构操作。第一区域对应第二成员磁盘的区域 可读, 第二区域对应第二成员磁盘的不可读区域。 这里的重构操作包括数据恢复处理。 在目 标磁盘上可以为第二区域预留磁盘空间, 保证目标磁盘和第二成员磁盘之间的区块对应关 系和第一成员磁盘与第二成员磁盘之间区块对应关系保持一致, 即不改变区块对应关系, 以降低目标磁盘作为成员磁盘使用过程中存储和数据处理复杂性。 在为第二区域预留的磁 盘空间上可以不进行坏块标记。 0053 在第一成员磁盘故障恢复后, 可以用恢复的第一成员磁盘替换目标磁盘作为 RAID 组。
28、的成员磁盘。 采用这种方式, 可以不考虑第二成员磁盘是否存在不可读区域, 即不管第二 成员磁盘是否存在不可读区域, 在故障恢复后都能保证系统数据的完整性和安全性。当然 这种方式在第二成员磁盘存在不可读区域的情况, 可以有效解决目标磁盘上存在部分数据 丢失的问题。 0054 在本发明一个实施例中, 在第二成员磁盘存在不可读区域的情况, 第一成员磁盘 故障恢复后可以不需要将目标磁盘替换回恢复的第一成员磁盘。相应的, 可以将恢复的第 说 明 书 CN 103049400 A 7 5/14 页 8 一成员磁盘上与第二成员磁盘不可读区域对应的第二区域的数据存储到目标磁盘。这样, 可以实现重构后磁盘数据的。
29、完整性, 而且可以进一步减少磁盘切换带来的时间延迟。 0055 图 2A 所示为故障恢复后需要切换回原来磁盘的一个实现过程。图 2A 所示的磁盘 重构方法应用于包含多个成员磁盘的 RAID 组的存储装置或存储系统。对 RAID 组中存在故 障的第一成员磁盘进行重构的处理包括 : 0056 S201a、 确定 RAID 组中第一成员磁盘之外的第二成员磁盘存在不可读区域。 0057 S203a、 根据第二成员磁盘的数据恢复第一磁盘的第一区域的数据, 并将恢复的数 据存储到目标磁盘, 其中, 所述第一区域对应的第二成员磁盘的区域可读。 0058 S205a、 在第一成员磁盘故障恢复前, 用包含恢复的。
30、数据的目标磁盘替换第一成员 磁盘作为 RAID 组的成员磁盘。 0059 S207a、 在第一成员磁盘故障恢复后, 用恢复后的第一成员磁盘替换目标磁盘作为 RAID 组的成员磁盘。 0060 步骤 S201a 中, 可以根据第二成员磁盘的状态检测结果确定第二成员磁盘是否存 在不可读区域, 状态检测结果用于指示条带和 / 或区块的可读性检测结果。步骤 S203a 中, 可以根据状态检测结果确定第一区域。状态检测结果可以包含可读区域和 / 或不可读区域 的记录, 知道可读区域即可确定不可读区域。 0061 状态检测结果可以用条带标识符和 / 或区块标识符来识别。具体的, 条带标识符 和 / 或区块。
31、标识符也可以用存储地址表示, 例如, 条带标识符可以是条带编号或条带地址 ( 条带的首地址和 / 或尾地址 ), 区块标识符可以是区块编号或区块地址 ( 区块的首地址和 / 或尾地址 )。状态检测结果可以是存储在存储器中的历史数据, 例如包含该不可读区域记 录的日志 ; 也可以是通过对第二成员磁盘执行状态检测获得。 0062 状态检测结果可以是故障发生前已经获得的历史数据, 也可以是故障发生后对第 二成员磁盘启动磁盘状态检测获得的数据。 可以按区域扫描, 如果第二成员磁盘均可读, 其 所对应的第一成员磁盘的区域可读。 或者是, 先确定了第二成员磁盘上存在不可读区域, 根 据第二成员磁盘的不可读。
32、区域确定第一成员磁盘的第二区域, 第一成员磁盘剩下的区域即 为第一区域。在本发明的实施例中, 可以包括对第一成员磁盘的故障是否可恢复的判断操 作, 该操作可以通过检测磁盘故障原因实现。 磁盘故障原因包括磁盘离线、 磁盘物理介质故 障等一个或多个原因。例如, 可以检测 RAID 组中第一成员磁盘所在槽位的槽位状态, 在步 骤 S201a 之前对第一成员磁盘执行槽位状态检测, 如果槽位状态检测结果指示该第一成员 磁盘不在位, 则判断第一成员磁盘可恢复。 0063 在本发明的实施例中, 还可以包括对第一成员磁盘的故障是否已恢复的判断操 作, 该操作可以通过检测磁盘在位状态、 磁盘的身份信息、 磁盘物。
33、理介质完整性等一个或多 个内容实现。在重构的过程中, 第一成员磁盘是否可恢复的判断操作可以通过检测第一成 员磁盘的槽位状态、 第一成员磁盘的身份等确定, 另外, 还可以结合第一成员磁盘的物理介 质完整性进行判断。 这样可以有效解决故障磁盘误操作拔出或接触不良导致磁盘无法被检 测。 例如, 通过磁盘诊断确定某磁盘的故障是由于物理介质故障导致的, 则判定该故障磁盘 不可恢复。通常, 在某个磁盘所在槽位没有接入新盘, 该磁盘被插回的可能性较大, 则可以 判定该磁盘可恢复。 0064 图 2B 所示为故障恢复后不需要切换回原来磁盘的一个实现过程。图 2B 所示的磁 说 明 书 CN 103049400。
34、 A 8 6/14 页 9 盘重构方法应用于包含多个成员磁盘的 RAID 组的存储装置或存储系统。当 RAID 组中第一 磁盘存在故障时, 重构处理方法包括 : 0065 S201b、 确定 RAID 组中第一成员磁盘之外的第二成员磁盘存在不可读区域。 0066 S203b、 利用第二成员磁盘的数据恢复第一成员磁盘的第一区域的数据, 并将恢复 的数据保存到目标磁盘, 其中, 第一成员磁盘的第一区域对应的第二成员磁盘的区域可读。 0067 S205b、 在第一成员磁盘故障恢复前, 用包含恢复的数据的目标磁盘替换第一成员 磁盘作为 RAID 组的成员磁盘。 0068 S207b、 在第一成员磁盘故。
35、障恢复后, 将恢复的第一成员磁盘的第二区域的数据存 储到目标磁盘, 第二区域对应第二成员磁盘的不可读区域。 0069 步骤 S201b 中确定第二成员磁盘是否存在不可读区域的操作可以采用和步骤 S201a相同或类似操作, 步骤S203b中确定第一区域的操作可以采用和步骤S203a相同或类 似操作, 不再赘述。 0070 本发明另一实施例提供一种磁盘重构方法, 应用于包含多个成员磁盘的 RAID 组 的存储装置或存储系统。如图 3 所示, 当 RAID 组中第一成员磁盘存在故障时, 重构处理方 法包括 : 0071 S301、 判断第一成员磁盘是否可恢复, 若第一成员磁盘可恢复, 执行 S303。
36、 ; 若第一 成员磁盘不可恢复, 执行 S306。 0072 其中, 第一成员磁盘是否可恢复的判断操作可以通过检测磁盘故障原因实现, 该 操作可以通过检测磁盘故障原因实现。磁盘故障原因包括磁盘离线、 磁盘物理介质故障等 一个或多个原因。 例如, 对第一成员磁盘执行槽位状态检测, 如果槽位状态检测结果指示该 第一成员磁盘不在位, 则判断第一成员磁盘可恢复。若第一成员磁盘是由于误操作导致盘 被拔出, 且该第一成员磁盘所在槽位没有接入新盘, 该第一成员磁盘被插回的可能性较大, 则可以判定第一成员磁盘可恢复 ; 或第一成员磁盘是被拔出, 且该第一成员磁盘所在槽位 接入了新盘, 则判定该第一成员磁盘不可。
37、恢复 ; 或该第一成员磁盘是由于物理介质故障导 致的, 则判定该第一成员磁盘不可恢复。 0073 S303、 根据 RAID 组中第一成员磁盘以外的第二成员磁盘的数据恢复第一成员磁 盘的数据, 将恢复的数据存储到目标磁盘。 0074 该目标磁盘可以是任意可用的空闲磁盘。在存储数据前, 可以对目标磁盘的磁盘 空间划分成多个区域, 划分的多个区域保持和第一成员磁盘的多个区域对应, 以保证恢复 的每一个区域的数据能够存储到目标磁盘相应的区域。当然, 划分区域不是必须的, 例如, 可以按照数据块分布规则顺序存储。 0075 具体的, 如图 6A 所示, 一组连续的数据块和这些数据块形成的校验块分布存储。
38、于 RAID 组的多个成员磁盘。这些存储数据块和校验块的磁盘区域被称为区块, 至少一组跨越 多个成员磁盘的区块可以形成条带。 0076 示例性的, 利用第二成员磁盘上数据块和校验块的分布关系恢复出第一成员磁盘 的数据。 当第二成员磁盘上存在不可读区域, 如存在坏道, 第一成员磁盘上与不可读区域对 应的区域的数据不可恢复, 不对该对应的区域进行重构处理, 例如在目标磁盘不进行坏块 标记。如图 6B 所示, 第一成员磁盘 ( 磁盘 4) 发生故障, 当检测到的第二成员磁盘 ( 磁盘 1-3) 中磁盘 1 的区域 j 不可读, 其对应第一成员磁盘的区域 m, 不对区域 m 进行重构处理, 说 明 书。
39、 CN 103049400 A 9 7/14 页 10 即不进行数据恢复计算处理 ; 在目标磁盘上对应的区域 n 也不进行坏块标记。区域 j、 区域 m 和区域 n 可用区块标识符和 / 或条带标识符识别。 0077 S304、 在第一成员磁盘故障恢复前, 用包含恢复的数据的目标磁盘替换第一成员 磁盘作为 RAID 组的成员磁盘。 0078 在本实施例中, 目标磁盘作为RAID组临时的成员磁盘, 可以在RAID组成员磁盘表 和 RAID 组区域映射关系表中新增一条记录, 暂时不删除第一成员磁盘的记录, 可以用解激 活状态表示。或者创建临时的 RAID 组成员磁盘表和临时的 RAID 组区域映射。
40、表。把原来的 RAID 组成员磁盘表和原来的 RAID 组区域映射关系表解激活, 待故障恢复后重新激活。 0079 示例性的, RAID 可以应用于通过存储区域网络 (Storage AreaNetwork, SAN) 将高 速服务器与高速存储设备的高速互联的网络环境中。其中, 高速存储设备可以为基于 RAID 的存储装置或系统, 这就使得物理上的远距离存储变得容易便捷, 提高了数据的可靠性和 安全性。例如, 可以应用在对数据安全性和存储性能要求很高的企业当中。 0080 譬如在企业商务数据或运营商数据的存储和备份管理的网络环境中, 目标磁盘接 替故障磁盘后, 目标磁盘可以为其他设备提供业务访。
41、问服务, 从而实现数据的快速备份, 快 速地恢复用户的业务, 以保证企业商务数据远程传输和远程存储的安全性和稳定性。 0081 S305、 在第一成员磁盘故障恢复后, 用恢复的第一成员磁盘完成磁盘重构处理。 步 骤 S305 可以有多种实现方式, 例如, 在第一成员磁盘故障恢复后, 用恢复的第一成员磁盘 替换目标磁盘作为 RAID 组的成员磁盘以完成磁盘重构处理。 0082 完成磁盘重构处理后, 删除或解激活目标磁盘作为 RIAD 组的成员磁盘的记录。另 一方面, 恢复第一成员磁盘作为 RAID 组成员的记录, 即重新激活该第一成员磁盘。如果步 骤S304中是在RAID组成员磁盘表和RAID组。
42、区域映射关系表中新增一条记录, 在步骤S305 中将新增的记录删除, 重新激活原来地第一成员磁盘的记录。如果步骤 S304 中是创建临时 的RAID组成员磁盘表和临时的RAID组区域映射表, 在步骤S305中将临时的RAID组成员磁 盘表和临时的 RAID 组区域映射表删除, 重新使用原来的 RAID 组成员磁盘表和原来的 RAID 组区域映射关系表。 0083 在步骤 S303 中, 如果第二成员磁盘存在不可读区域, 能够恢复的数据包含第一成 员磁盘的第一区域的数据, 第一区域对应第二成员磁盘的区域均可读。在第一成员磁盘故 障恢复后, 将恢复的第一成员磁盘的第二区域的数据存储到目标磁盘, 第。
43、二区域对应第二 成员磁盘的不可读区域。参考图 6B 所示, 将恢复的第一成员磁盘的区域 m 的数据存储到目 标磁盘的区域 n。 0084 第一成员磁盘故障是否恢复可参照上文所述。当该第一成员磁盘的故障恢复后, 如第一成员磁盘插回其所在 RAID组的槽位, 将目标磁盘替换为恢复后的第一成员磁盘。这 样防止了在重构时由于第二成员盘数据存在不可读区域而引起第一成员磁盘的数据丢失, 在第一成员磁盘故障恢复后可以保证第一成员磁盘数据的完整性, 进而保证 RAID 组的数 据完整性和安全性。另一方面, 用恢复后的第一成员磁盘替换目标磁盘, 可以保持 RAID 组 原有的数据处理模式, 恢复该 RAID 组。
44、出现故障之前的数据存储状态。 0085 S306、 根据 RAID 组中第一成员磁盘之外的第二成员磁盘的数据恢复第一成员磁 盘的数据, 并将恢复的数据存储到目标磁盘。 0086 在步骤 S306 执行的过程中, 第二成员磁盘可能存在不可读区域, 在目标磁盘上与 说 明 书 CN 103049400 A 10 8/14 页 11 不可读区域对应的区域可以被标记为坏块, 也可以保持空闲, 不写入任何数据, 或者是可以 用固定的值进行填充以便于系统识别。 0087 如图 6C 所示, 第一成员磁盘 ( 磁盘 4) 发生故障, 当检测到的第二成员磁盘 ( 磁盘 1-3) 中磁盘 1 的区域 j 不可读。
45、, 其对应第一成员磁盘的区域 m ; 在目标磁盘上对应的区域 n 进行坏块标记。区域 j、 区域 m 和区域 n 可用区块标识符和 / 或条带标识符识别。当然, 区 域 n 上也可以采用固定值填充或保持空闲。 0088 具体的, 步骤 S306 可以包括如下几个子步骤 : 0089 S306a、 判断第二成员磁盘是否存在不可读区域 ; 如果第二成员磁盘存在不可读区 域, 执行步骤 S306b, 如果第二成员磁盘不存在不可读区域, 执行步骤 S306c。 0090 S306b、 根据第二成员磁盘的数据恢复第一成员磁盘的第一区域的数据, 并将恢复 的数据存储到目标磁盘, 其中, 在目标磁盘上与第一。
46、成员磁盘的第二区域对应的区域标记 坏块或不写入数据, 第一区域对应的第二成员的区域可读, 第二区域对应的第二成员磁盘 的不可读区域。 0091 S306c、 根据第二成员磁盘的数据恢复第一成员磁盘的数据, 并将恢复的数据存储 到目标磁盘。 0092 S307、 用包含恢复的数据的目标磁盘替换第一成员磁盘作为 RAID 组的成员磁盘。 可以将第一成员磁盘从 RAID 组移除, 不考虑第一成员磁盘的故障是否恢复。 0093 将该第一成员磁盘从该 RAID 组中移除, 如删除第一成员磁盘作为 RAID 组的成员 磁盘的记录, 用目标磁盘的信息刷新 RAID 组区域映射关系表, 这样, 可以防止后续其。
47、他成 员盘出现故障, 成员信息不准确带来的失效。 0094 这样, 当第一成员磁盘的故障可恢复时, RAID 组可以保持其原有的数据存储状态, RAID 组数据不丢失 ; 当第一成员磁盘的故障不可恢复, 根据第二成员磁盘可读区域的数据 恢复第一成员磁盘的第一区域的数据, 至多丢失第一成员磁盘第二区域的数据, 其中, 第一 区域对应的第二成员磁盘的区域均可能, 第二区域对应第二成员的不可读区域。通过 RAID 组中成员磁盘的状态智能选择重构方式, 可以平衡 RAID 组数据完整性和不可读区域导致 重构时间浪费的问题, 能够减少 RAID 组重构后数据的丢失, 甚至实现不丢失, 并且能够快 速恢复。
48、用户的业务。 0095 图 4 为本发明另一实施例的方法流程图。图 4 所示方法与图 3 类似, 主要区别在 于, 根据第一成员磁盘的故障是否可恢复以及第二成员磁盘是否存在不可读区域的判断结 果选择不同的重构方式 : 0096 第一重构方式, 应用于在第一成员磁盘的故障可恢复以及第二成员磁盘存在不可 读区域的情况。第一重构方式的处理包括 : 步骤 S403 中, 根据第二成员磁盘的数据恢复第 一成员磁盘的数据, 将恢复的数据存储到目标磁盘 ; 步骤 S404 中, 在第一成员磁盘故障恢 复前, 用包含恢复的数据的目标磁盘替换第一成员磁盘作为 RAID 组的成员磁盘 ; 步骤 S405 中, 在。
49、第一成员磁盘故障恢复后, 用恢复的第一成员磁盘完成磁盘重构处理。 0097 步骤 S405 中, 在第一成员磁盘故障恢复后, 可以用恢复后的第一成员磁盘替换目 标磁盘作为 RAID 组的成员磁盘以完成磁盘重构处理。 0098 步骤 S403 中恢复的数据包括第一成员磁盘第一区域的数据, 第一区域对应的第 二成员磁盘的区域均可读。步骤 S405 中, 在第一成员磁盘故障恢复后, 可以将第一成员磁 说 明 书 CN 103049400 A 11 9/14 页 12 盘第二区域的数据存储到目标磁盘以完成磁盘重构处理, 第二区域对应第二成员磁盘的不 可读区域。 0099 第二重构方式, 应用于第一成员磁盘的故障不可恢复以及第二成员磁盘存在不可 读区域的情况。 第二重构方式的处理包括 : 步骤S406b中, 根据第二成员磁盘的数据恢复第 一成员磁盘的第一区域的数据, 将恢复的数据存储到目标磁盘, 其中,。