一种磁盘热备方法及装置、 存储系统 【技术领域】
本发明涉及热备技术领域, 具体涉及一种磁盘热备方法及装置、 存储系统。背景技术 当 前, 传 统 的 存 储 系 统 通 常 利 用 廉 价 冗 余 磁 盘 阵 列 (RedundantArrays ofInexpensive Disks, RAID) 技术来实现数据的可靠性以及并发性。为了实现 RAID 中数 据的安全冗余, 通常在 RAID 中会专门布置一个或多个热备盘。一旦 RAID 中的某个磁盘出 现故障, 就将故障盘上的数据重构至热备盘上, 实现对故障盘的热备 ; 当用新磁盘替换掉故 障盘之后, 再将热备盘上的数据回拷到新磁盘上。这样, 在 RAID 中有磁盘出现故障时, 不会 影响整个磁盘阵列的使用。
发明人在实践中发现, 上述的热备盘只有在磁盘发生故障时才起到作用, 正常情 况下, 热备盘上的空间不能用于数据存储, 极大地浪费了热备盘的存储空间, 而且由于 RAID 中每次只能容许一个磁盘进行重构或者回拷操作, 因此 RAID 中每次只能对一个磁盘进行 热备, RAID 的热备效率低。
发明内容 针对上述缺陷, 本发明实施例提供了一种磁盘热备方法及装置、 存储系统, 本发明 实施例不需要预留额外的热备存储空间, 而且可以提高 RAID 的热备效率。
本发明实施例提供一种磁盘热备方法, 包括 :
将廉价冗余磁盘阵列中所有的磁盘划分为至少二个存储区域, 每一个存储区域包 含相同个数的磁盘 ;
将所述至少二个存储区域中的对应磁盘配置成相互热备关系。
相应的, 本发明实施例还提供一种磁盘热备装置, 包括 :
划分单元, 用于将廉价冗余磁盘阵列中所有的磁盘划分为至少二个存储区域, 每 一个存储区域包含相同个数的磁盘 ;
配置单元, 用于将所述至少二个存储区域中的对应磁盘配置成相互热备关系。
相应的, 本发明实施例还提供一种存储系统, 包括廉价冗余磁盘阵列 ;
其中, 所述廉价冗余磁盘阵列中所有的磁盘被划分为至少二个存储区域, 每一个 存储区域包含相同个数的磁盘 ; 而且所述至少二个存储区域中的对应磁盘配置成相互热备 关系。
本发明实施例中, 将 RAID 中所有的磁盘划分为至少二个存储区域, 并且每一个存 储区域包含相同个数的磁盘, 以及将上述的至少二个存储区域中的对应磁盘配置成相互热 备关系。本发明实施例不需要预留额外的热备存储空间, 各个存储区域中的对应磁盘可以 相互热备, 使得磁盘热备可以实现并发, 从而可以提高 RAID 的热备效率。
附图说明 为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例中所需要使用的 附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对于本领域 普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
图 1 为本发明实施例提供的一种磁盘热备方法的流程示意图 ;
图 2 为本发明实施例提供的另一种磁盘热备方法的流程示意图 ;
图 3 为本发明实施例提供的一种存储区域划分的场景示意图 ;
图 4 为本发明实施例提供的一种磁盘相互热备的场景示意图 ;
图 5 为本发明实施例提供的一种磁盘热备装置的结构示意图 ;
图 6 为本发明实施例提供的另一种磁盘热备装置的结构示意图 ;
图 7 为本发明实施例提供的一种存储系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。 本发明实施例提供了一种磁盘热备方法及装置、 存储系统, 本发明实施例不需要 预留额外的热备存储空间, 而且可以提高 RAID 的热备效率。以下分别进行详细说明。
实施例一 :
请参阅图 1, 图 1 为本发明实施例提供的一种磁盘热备方法的流程示意图。如图 1 所示, 该磁盘热备方法可以包括如下步骤 :
101、 将 RAID 中所有的磁盘划分为至少二个存储区域, 每一个存储区域包含相同 个数的磁盘 ;
本发明实施例中, RAID 的类型可以是分布式奇偶校验的 RAID5、 RAID6、 RAID50 等, 本发明实施例不做限定。
102、 将所上述的至少二个存储区域中的对应磁盘配置成相互热备关系。
本发明实施例中, 上述至少二个存储区域中的对应磁盘具体可以为每一个存储区 域中排序相同的磁盘 ; 其中, 每一个存储区域中的磁盘是按照磁盘序号从小到大排序的。
本发明实施例一中, 将 RAID 中所有的磁盘划分为至少二个存储区域, 并且每一个 存储区域包含相同个数的磁盘, 以及将上述的至少二个存储区域中的对应磁盘配置成相互 热备关系。本发明实施例不需要预留额外的热备存储空间, 各个存储区域中的对应磁盘可 以相互热备, 使得多个磁盘同时可以实现并行热备, 从而可以提高 RAID 的热备效率。
实施例二 :
请参阅图 2, 图 2 为本发明实施例提过的另一种磁盘热备方法的流程示意图。 如图 2 所示, 该磁盘热备方法可以包括如下步骤 :
201、 将 RAID 中所有的磁盘划分为至少二个存储区域, 每一个存储区域包含相同 个数的磁盘 ;
举例来说, 假设 RAID 中包括 16 个磁盘, 分别是磁盘 0 ~磁盘 15, 则可以将 RAID
中所有的磁盘划分为 4 个存储区域, 分别是存储区域 0、 存储区域 1、 存储区域 2 以及存储区 域 3, 其中, 每一个存储区域包含 4 个磁盘。如图 3 所示, RAID 中所有的磁盘被划分为存储 区域 0 ~存储区域 3 之后, 存储区域 0 中包括 4 个磁盘, 分别是磁盘 0、 磁盘 1、 磁盘 2 以及 磁盘 3 ; 存储区域 1 中也包括 4 个磁盘, 分别是磁盘 4、 磁盘 5、 磁盘 6 以及磁盘 7 ; 存储区域 2 也中包括 4 个磁盘, 分别是磁盘 8、 磁盘 9、 磁盘 10 以及磁盘 11 ; 存储区域 3 中同样包括 4 个磁盘, 分别是磁盘 12、 磁盘 13、 磁盘 14 以及磁盘 15。
作为一个可选的实施方式, 本发明实施例可以将 RAID 中的每一个磁盘划分成多 个磁盘单元 (Disk Unit, DU)。如图 3 所示, 本发明实施例可以将 RAID 中的存储区域 0 内 的磁盘 0、 磁盘 2、 磁盘 3 分别划分成 m 个 DU, 分别是 DU0DUm ; 以及将磁盘 1 划分成 n 个 DU, 分别是 DU0 ~ DUn ; 其中, 磁盘 0 划分成的 DU0DUm 可以看作是 DU 资源池 0 ; 磁盘 2 划分成的 DU0 ~ DUm 可以看作是 DU 资源池 1 ; 磁盘 1 划分成的 DU0 ~ DUn 可以看作是 DU 资源池 1 ; 磁盘 2 划分成的 DU0 ~ DUm 可以看作是 DU 资源池 2 ; 磁盘 3 划分成的 DU0 ~ DUm 可以看作 是 DU 资源池 3 ; ...... ; 依此类推。
如图 3 所示, 每一个 DU 的物理 DU 号由两部分组成 : 磁盘序号 + 磁盘内 DU 偏移号。 例如, 存储区域 0 内的磁盘 2 中的 DU0 的物理 DU 号为 DU2:0 ; 存储区域 1 内的磁盘 6 中的 DU0 的物理 DU 号为 DU6:0 ; 存储区域 2 内的磁盘 10 中的 DU0 的物理 DU 号为 DU10:0 ; 存储 区域 3 内的磁盘 14 中的 DU0 的物理 DU 号为 DU14:0。以 DU2:0 为例, 其中 “2” 表示磁盘 2 的磁盘序号, 而 “0” 表示磁盘 2 中的 DU 偏移量。
本发明实施例中, 将每一个磁盘划分成多个 DU, 每一个 DU 的物理 DU 号由该磁盘的 磁盘序号和该磁盘内磁盘单元偏移号构成, 可以便于对 RAID 存储系统进行虚拟化管理。其 中, RAID 存储系统采用写时分配技术, 当某一个 DU 接收到写请求时, RAID 存储系统才会为 该 DU 分配物理 DU 号。
本发明实施例中, 每一个磁盘划分的 DU 数量可以根据需要进行设置, 本发明实施 例不作限定。
202、 将上述的至少二个存储区域中的对应磁盘配置成相互热备关系。
以图 3 所示的存储区域划分为例, 存储区域 0、 存储区域 1、 存储区域 2 以及存储区 域 3 中的磁盘是按照磁盘序号从小到大排序的, 因此, 作为一个可选的实施方式, 上述的至 少二个存储区域中的对应磁盘具体可以是每一个存储区域中排序相同的磁盘的集合。例 如, 存储区域 0 中的磁盘 0、 存储区域 1 中的磁盘 4、 存储区域 2 中的磁盘 8 以及存储区域 3 中的磁盘 12 在各自存储区域中的排序均为 1, 所以存储区域 0 中的磁盘 0、 存储区域 1 中的 磁盘 4、 存储区域 2 中的磁盘 8 以及存储区域 3 中的磁盘 12 的集合可以作为对应磁盘 ; 同 理, 存储区域 0 中的磁盘 1、 存储区域 1 中的磁盘 5、 存储区域 2 中的磁盘 9 以及存储区域 3 中的磁盘 13 的集合也可以作为对应磁盘。
作为一个可选的实施方式, 本发明实施例可以采用映射表的方式将上述的至少二 个存储区域中的对应磁盘配置成相互热备关系。以图 3 所示的存储区域划分为例, 可以采 用表 1 所示的映射表将图 3 中的 4 个存储区域中的对应磁盘配置成相互热备关系。当然, 当 RAID 划分的存储区域数量、 每一个存储区域的磁盘数量不同时, 表 1 所示的映射表也会 相应变化, 本发明实施例不作限定。
表 1 映射表
其中, 根据表 1 所示的映射表可知, 存储区域 0 中的磁盘 0 与存储区域 1 中的磁 盘 4、 存储区域 2 中的磁盘 8 以及存储区域 3 中的磁盘 12 相互热备 ; 而存储区域 0 中的磁 盘 1 与存储区域 1 中的磁盘 5、 存储区域 2 中的磁盘 9 以及存储区域 3 中的磁盘 13 相互热 备; ...... ; 依此类推。
请一并参阅图 4, 图 4 为图 3 所示的 4 个存储区域中对应磁盘相互热备的场景示意 图。如图 4 所示, 虚线表示存储区域 0 中的磁盘 0、 存储区域 1 中的磁盘 4、 存储区域 2 中的 磁盘 8 以及存储区域 3 中的磁盘 12 相互热备 ; 实线表示存储区域 0 中的磁盘 1 与存储区域 1 中的磁盘 5、 存储区域 2 中的磁盘 9 以及存储区域 3 中的磁盘 13 相互热备 ; 单点划线表示 存储区域 0 中的磁盘 2 与存储区域 1 中的磁盘 6、 存储区域 2 中的磁盘 10 以及存储区域 3 中的磁盘 14 相互热备 ; 双点划线表示存储区域 0 中的磁盘 3 与存储区域 1 中的磁盘 7、 存 储区域 2 中的磁盘 11 以及存储区域 3 中的磁盘 15 相互热备。
203、 检测至少一个存储区域中的磁盘是否发生故障, 如果是, 则执行步骤 204 ; 如 果否, 则结束本流程。
举例来说, 可以检测是否接收到存储区域中某一个磁盘发送的心跳数据, 如果接 收到, 则说明该磁盘正常 ; 反之, 如果没有接收到该磁盘发送的心跳数据, 则说明该磁盘发 生故障。
204、 将发生故障的磁盘的数据重构至其余的存储区域中的对应磁盘中存储。
作为一个可选的实施方式, 在 RAID 中可以采用专用奇偶校验方式来重构发生故 障的磁盘中的数据。在专用奇偶校验方式中, 奇偶校验数据分部在 RAID 存储系统中的所有 的磁盘上, 例如, 在 RAID5 中, 奇偶校验数据分部在 RAID5 中的所有磁盘的第 0 带区中。如 果一个磁盘发生故障, 可以通过其他磁盘上的数据和奇偶校验数据重构这个故障磁盘上的 数据。本发明实施例也可以采用其他类型的校验方式重构故障磁盘上的数据, 这是本领域 技术人员公知的常识, 本发明实施例此处不作详细介绍。
作为一个可选的实施方式, 本发明实施例在发生故障的磁盘恢复正常之后或者采 用新磁盘替换掉发生故障的磁盘之后, 可以将其余的存储区域中的对应磁盘存储的故障盘 的数据分别拷回至恢复正常的磁盘或者新磁盘中。
本发明实施例中, 将 RAID 中所有的磁盘划分为至少二个存储区域, 并且每一个存
储区域包含相同个数的磁盘, 以及将上述的至少二个存储区域中的对应磁盘配置成相互热 备关系。本发明实施例不需要预留额外的热备存储空间, 各个存储区域中的对应磁盘可以 相互热备, 使得磁盘热备可以实现并发, 从而可以提高 RAID 的热备效率。
实施例三 :
请参阅图 5, 图 5 为本发明实施例提过的一种磁盘热备装置的结构示意图。其中, 该磁盘热备装置 500 可以包括 :
划分单元 501, 用于将廉价冗余磁盘阵列中所有的磁盘划分为至少二个存储区域, 每一个存储区域包含相同个数的磁盘 ;
配置单元 502, 用于将划分单元 501 划分的至少二个存储区域中的对应磁盘配置 成相互热备关系。
本发明实施例中, 上述的对应磁盘具体可以为每一个存储区域中排序相同的磁 盘; 其中, 每一个存储区域中的磁盘按照磁盘序号从小到大排序。
作为一个可选的实施方式, 配置单元 502 具体可以用于采用映射表的方式将划分 单元 501 划分的至少二个存储区域中的对应磁盘配置成相互热备关系。
请一并参阅图 6, 图 6 为本发明实施例提过的另一种磁盘热备装置的结构示意图。 其中, 图 6 所示的磁盘热备装置 500 是由图 5 所示的磁盘热备装置 500 进行优化得到的。 图 6 所示的磁盘热备装置 500 除了包括图 5 中的划分单元 501 和配置单 502 之后, 还可以 包括 : 检测单元 503, 用于检测划分单元 501 划分的至少一个存储区域中的磁盘是否发 生故障 ;
重构单元 504, 用于在检测单元 503 的检测结果为是时, 将发生故障的磁盘的数据 重构至其余的存储区域中的对应磁盘中存储。
本发明实施例中, 划分单元 501 所划分的每一个存储区域中, 每一个磁盘可以由 多个 DU 构成, 其中, 每一个 DU 的物理 DU 号由该磁盘的磁盘序号和该磁盘内 DU 偏移号构成, 用于实现对 RAID 存储系统的虚拟化管理。
本发明实施例中, 划分单元 501 将 RAID 中所有的磁盘划分为至少二个存储区域, 并且每一个存储区域包含相同个数的磁盘 ; 配置单元 502 将上述的至少二个存储区域中的 对应磁盘配置成相互热备关系。本发明实施例不需要预留额外的热备存储空间, 各个存储 区域中的对应磁盘可以相互热备, 使得磁盘热备可以实现并发, 从而可以提高 RAID 的热备 效率。
实施例四 :
请参阅图 7, 图 7 为本发明实施例提过的一种存储系统的结构示意图。 本发明实施 例提供的存储系统可以应用各种服务器、 终端以及其他设备。其中, 该存储系统可以包括 :
廉价冗余磁盘阵列 701 ;
其中, 廉价冗余磁盘阵列 701 中所有的磁盘被划分为至少二个存储区域, 每一个 存储区域包含相同个数的磁盘 ; 而且至少二个存储区域中的对应磁盘配置成相互热备关 系。
本发明实施例中, 上述的对应磁盘具体可以为每一个存储区域中排序相同的磁盘 的集合 ; 其中, 每一个存储区域中的磁盘按照磁盘序号从小到大排序。
本发明实施例中, 廉价冗余磁盘阵列 701 的类型可以是分布式奇偶校验的 RAID5、 RAID6、 RAID50 等, 本发明实施例不做限定。
本发明实施例中, 廉价冗余磁盘阵列 701 被划分的每一个存储区域中, 每一个磁 盘可以由多个 DU 构成, 其中, 每一个 DU 的物理 DU 号由该磁盘的磁盘序号和该磁盘内 DU 偏 移号构成, 用于实现对 RAID 存储系统的虚拟化管理。
本发明实施例中, 廉价冗余磁盘阵列 701 中所有的磁盘被划分为至少二个存储区 域, 并且每一个存储区域包含相同个数的磁盘 ; 以及将上述的至少二个存储区域中的对应 磁盘配置成相互热备关系。本发明实施例不需要预留额外的热备存储空间, 各个存储区域 中的对应磁盘可以相互热备, 使得磁盘热备可以实现并发, 从而可以提高 RAID 的热备效 率。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成, 该程序可以存储于一计算机可读存储介质中, 存储 介质可以包括 : 闪存盘、 只读存储器 (Read-OnlyMemory, ROM)、 随机存取器 (Random Access Memory, RAM)、 磁盘或光盘等。
以上对本发明实施例所提供的磁盘热备方法及装置、 存储系统进行了详细介绍, 本文中应用了具体个例对本发明的原理及实施方式进行了阐述, 以上实施例的说明只是用 于帮助理解本发明的方法及其核心思想 ; 同时, 对于本领域的一般技术人员, 依据本发明的 思想, 在具体实施方式及应用范围上均会有改变之处, 综上所述, 本说明书内容不应理解为 对本发明的限制。