磁盘阵列的实现方法和数据读写方法及装置的制作方法

文档序号:6585403阅读:161来源:国知局
专利名称:磁盘阵列的实现方法和数据读写方法及装置的制作方法
技术领域
本发明涉及磁盘阵列控制技术,尤其涉及一种磁盘阵列的实现方法和数据读写方
法及装置。
背景技术
磁盘阵列是由多个物理磁盘组成的磁盘组,目前的中低端磁盘阵列基本只能够支 持两控制器的工作方式。现有的磁盘阵列分为三个层次,即虚拟巻(Virtual Volume,简称 VV)、逻辑磁盘(Logic Disk,简称LD)和数据块(Ch皿klet)。虚拟巻是用户所能看到的磁 盘空间,例如常见的"D盘"、"E盘"等。每个虚拟巻对应多个LD,每个LD又对应多个数据 块。数据块是管理物理磁盘的基本单元,是磁盘阵列的管理粒度,每个物理磁盘都可以划分 为多个数据块。为达到数据均衡分布的目的,每个LD所对应的数据块通常是均匀的分布在 各物理磁盘中的。物理磁盘是由控制器进行控制和访问操作,每个控制器通常对应一定数 量的物理磁盘。在进行本发明的研究过程中,发明人发现受限于磁盘阵列的组织架构,所 以现有磁盘阵列难以进行控制器扩展。

发明内容
本发明实施例提供一种磁盘阵列的实现方法和数据读写方法及装置,以改善磁盘 阵列的可扩展性。 本发明实施例提供了一种磁盘阵列的实现方法,包括 根据控制器组中控制器的数量创建逻辑区域,每个逻辑区域与一个控制器组中的 一个控制器相对应; 将所述逻辑区域与控制器之间的映射关系记录至控制器映射表中; 按照设定选盘策略,从每个逻辑区域对应的控制器组中的控制器所管理的物理磁
盘中为所述逻辑区域分配数据块,并将所述逻辑区域与所述数据块之间的映射关系记录至
数据块映射表中。 本发明实施例还提供了一种磁盘阵列的数据读写方法,包括 当接收到对磁盘阵列的数据读写请求时,在逻辑区域映射表中查询所述数据读写
请求所指向虚拟巻中的虚拟地址对应的逻辑区域; 在控制器映射表中查询确定所述逻辑区域对应的控制器; 在查询确定的所述控制器的数据块映射表中查询所述数据读写请求所指向虚拟
地址对应的数据块,其中,每个逻辑区域与一个控制器组中的一个控制器相对应,且每个逻
辑区域与对应控制器组中控制器所管理的物理磁盘中的数据块相对应; 在查询确定的所述数据块中执行数据读写操作。 本发明实施例还提供了一种磁盘阵列的实现装置,包括 逻辑区域划分模块,用于根据控制器组中控制器的数量创建逻辑区域,每个逻辑 区域与一个控制器组中的一个控制器相对应,还用于触发第二映射关系记录模块和选盘模块; 所述第二映射关系记录模块,用于将所述逻辑区域与控制器之间的映射关系记录 至控制器映射表中; 所述选盘模块,用于按照设定选盘策略,从每个逻辑区域对应的控制器组中的控 制器所管理的物理磁盘中为该逻辑区域分配数据块,并将所述逻辑区域与所述数据块之间 的映射关系记录至数据块映射表中。 本发明实施例还提供了一种磁盘阵列的数据读写装置,包括 逻辑区域查询模块,用于当接收到对磁盘阵列的数据读写请求时,在逻辑区域映
射表中查询所述数据读写请求所指向虚拟巻中的虚拟地址对应的逻辑区域; 控制器查询模块,用于在控制器映射表中查询确定所述逻辑区域对应的控制器; 数据块查询模块,用于在查询确定的所述控制器的数据块映射表中查询所述数据
读写请求所指向虚拟地址对应的数据块,其中,每个逻辑区域与一个控制器组中的一个控
制器相对应,且每个逻辑区域与对应控制器组中控制器所管理的物理磁盘中的数据块相对 应; 数据读写模块,用于在查询确定的所述数据块中执行数据读写操作。 本发明各实施例的技术方案通过设置每个逻辑区域对应同一个控制器组中控制
器所管理物理磁盘中的数据块,即设置每个逻辑区域仅与一个控制器组中的控制器相对
应,使得各控制器的逻辑区域可以并行操作,当进行磁盘阵列扩展时,需要执行的映射关系
变化量少,因此易于完成扩展操作。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的 附图。
图1为本发明实施例一提供的一种磁盘阵列的实现方法的流程图;
图2为本发明实施例一提供的另一种磁盘阵列的实现方法的流程图;
图3为本发明实施例一所实现的磁盘阵列的组织架构示意图;
图4为本发明实施例二提供的磁盘阵列的实现方法的流程图;
图5为本发明实施例二中磁盘阵列的组织架构示意图;
图6为本发明实施例四提供的磁盘阵列的实现方法的流程图;
图7为本发明实施例五提供的磁盘阵列的实现方法的流程图;
图8为本发明实施例六提供的磁盘阵列的实现方法的流程图;
图9为本发明实施例六中磁盘阵列的访问路径示意图;
图10为本发明实施例七提供的磁盘阵列的实现方法的流程图;
图11为本发明实施例七中部署增值特性的磁盘阵列架构示意图;
图12为本发明实施例八提供的磁盘阵列的实现装置的结构示意图;
图13为本发明实施例九提供的磁盘阵列的实现装置的结构示意图;
图14为本发明实施例十提供的磁盘阵列的实现装置的结构示意图。
具体实施例方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一 图1为本发明实施例一提供的一种磁盘阵列的实现方法的流程图,该方法包括如 下步骤 步骤201、创建虚拟巻;对于已创建有虚拟巻的磁盘阵列,本实施例也可以直接执 行步骤202,如图2所示。 步骤202、根据控制器组中控制器的数量为虚拟巻创建逻辑区域 (LogicalPartition Region,简称LPR),每个LPR与一个控制器组中的一个控制器相对应;
步骤203、将虚拟巻与LPR之间的映射关系记录至逻辑区域映射表中,将LPR与控 制器之间的映射关系记录至控制器映射表中; 步骤204、按照设定选盘策略,从每个LPR对应的控制器组中的控制器所管理的物 理磁盘中为该LPR分配数据块,并将LPR与数据块之间的映射关系记录至数据块映射表中。
本实施例中所谓控制器组,是一个或多个控制器的组合。若控制器组仅包括一个 控制器,则控制器组即指该控制器。实际应用中,由于通常需要两个控制器构成主从备份的 关系,所以下面以每个控制器组包括两个控制器为例进行说明,在进行控制器扩展时,也通 常是以两个控制器为单位来增加数量的。 图3为本发明实施例一所实现的磁盘阵列的组织架构示意图,如图3所示,该磁盘 阵列的存储空间包括三层结构,虚拟巻301、 LPR 302和数据块303。虚拟巻301的数量可 以为多个,图3中以一个虚拟巻301为例进行说明,控制器305的数量为二,构成一个控制 器组。虚拟巻301按照控制器组的数量划分为多个LPR 302,由于该控制器组中包括两个控 制器305,为保证两个控制器305构成主从备份关系,优选的是划分为至少两个LPR,分别对 应各控制器305。没有对应LPR 302的控制器305相当于没有管理用户所见的存储空间。
每个LPR 302仅与一个控制器组中的一个控制器305对应,但每个控制器305可 以对应多个LPR 302。每个LPR 302所对应的数据块303是来自于一个控制器组中控制器 305所管理的物理磁盘304中。可以是仅从LPR302所对应的控制器305管理的物理磁盘 304中分配数据块303,由于控制器组通常是一同增加或删除的单位,所以也可以是LPR302 对应的控制器组中所有的控制器305管理的物理磁盘304中分配数据块303。为LPR302从 多个物理磁盘304中分配数据块303是按照设定选盘策略确定的,例如为了实现均衡分布 的目的,可以从该控制器组所管理的每个物理磁盘304中选取相同数量的数据块303分配 给一个LPR302。 虚拟巻301、LPR302、控制器305以及数据块303之间的三种映射关系分别记录在 映射表中,具体的LPR 302与控制器305之间的映射关系记录在控制器映射表中,一般可 以由元数据服务(Media Data Server,简称MDS)来进行维护,MDS可部署于任意一个控制 器组的控制器305中。虚拟巻301与LPR 302之间的映射关系记录在逻辑区域映射表中,可以由虚拟巻301来存储和维护。LPR302和数据块303之间的映射关系记录在数据块映射 表中,每个LPR 302的数据块映射表一般可存储于该LPR 302所对应的控制器305中。
上述架构可适用于多个虚拟巻301中的每个虚拟巻301,每个虚拟巻301各自有其 对应的LPR 302,每个控制器305可以对应多个虚拟巻301各自的LPR302。
采用本实施例的技术方案所实现的磁盘阵列架构,通过设置每个LPR对应同一个 控制器组中控制器所管理物理磁盘中的数据块,使得各控制器的LPR可以并行操作,映射 关系变化量少,因此易于完成扩展操作。
实施例二 图4为本发明实施例二提供的磁盘阵列的实现方法的流程图,本实施例可以在实 施例一的基础上还包括如下步骤 步骤401、当识别到挂载有物理磁盘的控制器组的数量变化时,根据当前的控制器 组中控制器的数量为虚拟巻重新划分LPR,每个LPR与一个控制器组中的一个控制器相对 应; 步骤402、在控制器映射表中更新LPR与控制器之间的映射关系,且在逻辑区域映 射表中更新虚拟巻与LPR之间的映射关系; 步骤403、按照设定选盘策略,从每个LPR对应控制器组中控制器所管理的物理磁 盘中为该LPR分配数据块,并将LPR和数据块之间的映射关系记录至数据块映射表中。
本实施例可以在上述磁盘阵列架构的基础上进行控制器扩展,包括增加和减少控 制器的情况,优选的是物理磁盘与控制器同时增减,即控制器与其所挂载的物理磁盘的对 应关系不变。若物理磁盘的数量不变,则需要重新调整物理磁盘和控制器之间的挂载关系。 以图3所示的情况为例,当识别到新增两个控制器305构成的一个控制器组时,如图5所 示,若虚拟巻301的数量未变化,在此情况下,根据增加控制器305后当前控制器组的数量 为虚拟巻301重新划分LPR 302,每个LPR 302与一个控制器组中的一个控制器305相对 应。当前控制器组的数量为二,且具体的控制器305的数量为四,则对于每个虚拟巻301而 言,至少划分四个LPR 302,使得每个LPR 302与一个控制器组中的每个控制器305相对应。 LPR 302的数量可以多于控制器305的数量,即每个控制器305可对应多个LPR 302,但是 每个LPR 302只能对应一个控制器305。若LPR 302的数量少于控制器305,则相当于该虚 拟巻301的LPR 302没有对应某些控制器305,即无法使用这些控制器305所管理的物理磁 盘304,实际上相当于控制器305的数量未变化,只是更换了控制器305。
在划分LPR 302之后,在控制器映射表中更新LPR 302与控制器305之间的映射 关系。划分LPR 302之后,还需要在逻辑区域映射表中更新虚拟巻301与LPR 302之间的映 射关系。逻辑区域映射表用于存储虚拟巻301中的虚拟地址与LPR 302之间的映射关系, 逻辑区域映射表可以由虚拟巻301来存储和维护。 在本实施例中,还需要按照设定选盘策略,从每个LPR 302对应的控制器组所管 理的物理磁盘304中为该LPR 302分配数据块303,并将LPR 302和数据块303之间的映射 关系记录至数据块映射表中,每个LPR 302的数据块映射表一般可存储于该LPR 302所对 应的控制器305中。 当识别到挂载有物理磁盘304的控制器组的数量减少,即识别到删除控制器305 及其挂载的物理磁盘304时,例如从图5所示的两个控制器组的四控制器305减少至图3
7所示的一个控制器组的两控制器305时,仍然需要按照当前控制器组的数量重新为虚拟巻
301划分LPR 302,重新划分的LPR 302与控制器组的控制器305对应,按照设定选盘策略,
从该控制器组的控制器305所管理的物理磁盘304中为对应的LPR 302分配数据块303。
并相应的调整控制器映射表、逻辑区域映射表和数据块映射表中的映射关系。 各LPR仅对应同一控制器组的控制器所管理的物理磁盘,各控制器的LPR相互独
立,当某个控制器出现故障时,仅会影响该控制器的LPR的数据访问操作,不会影响整个存
储空间的可操作性。 实施例三 本发明实施例三提供的磁盘阵列的实现方法可以以实施例一为基础,进一步包括 物理磁盘数量变化的情况 当识别到控制器组所管理的物理磁盘的数量变化时,按照设定选盘策略,在该控
制器组中的控制器当前所管理的物理磁盘中,即数量变化后的物理磁盘中,为控制器组中
的控制器对应的LPR分配数据块,并在数据块映射表中更新LPR和数据块之间的映射关系。 本实施例的技术方案可以基于图3和图5例举的磁盘阵列架构实现,物理磁盘的
数量变化一般是针对控制器组而言的,某个控制器下挂载的物理磁盘数量可以增加或减
少。当增加物理磁盘时,该控制器组中各控制器所对应的LPR可以在原有物理磁盘和新增
物理磁盘中重新执行设定选盘策略,以满足数据均匀分布的一般性原则。 基于本实施例的技术方案在扩展物理磁盘时仅需调整一个控制器组下LPR和数
据块之间的映射关系。而现有磁盘阵列架构中,每个LD所对应的数据块是分布在多个控制
器管理的物理磁盘中的。由于每个控制器管理的物理磁盘可能对应至所有LPR,所以扩展物
理磁盘时可能会影响到所有LPR和数据块之间的映射关系。相比于现有技术,本实施例的
技术方案更易于扩展。 基于上述实施例,可以同时增加或删除控制器及其管理的物理磁盘,则无需改变 物理磁盘与控制器的挂载关系,未改变的控制器下的映射关系不会改变,只改变虚拟巻和 LPR之间的映射关系即可。采用上述技术方案所实现的磁盘阵列组织架构具有伸縮性,可以 提高磁盘阵列的可扩展性,每个LPR仅对应一个控制器组所管理的物理磁盘,具备各自独 立的映射关系。所以,对于已有的中低端磁盘阵列,可以采用本实施例的技术方案便捷地从 两控平滑扩展到多控的磁盘阵列架构。该技术方案所提供的并行多控磁盘阵列不仅适用于 中低端磁盘阵列扩展为高端磁盘阵列,也同样适用于已有的高端磁盘阵列进行控制器数量 的更改。 实施例四 图6为本发明实施例四提供的磁盘阵列的实现方法的流程图,本实施例可以以上
述各实施例为基础,进一步包括增加虚拟巻的情况,具体包括如下步骤 步骤601、当识别到新增的虚拟巻时,根据当前的控制器组中控制器的数量为新增
的虚拟巻创建LPR,创建的每个LPR与一个控制器组中的一个控制器相对应; 步骤602、在控制器映射表中记录创建的LPR与控制器之间的映射关系,且在逻辑
区域映射表中记录新增的虚拟巻与创建的LPR之间的映射关系; 步骤603、按照设定选盘策略,从创建的每个LPR对应控制器组中控制器所管理的 物理磁盘中为该LPR分配数据块,并将创建的LPR和数据块之间的映射关系记录至数据块映射表中。 采用本实施例的技术方案,可以便捷的扩展虚拟巻。新增的虚拟巻所创建的各LPR 仅对应部分控制器组中的控制器,则可以仅调整部分控制器组中控制器所涉及的映射关 系,无需在所有物理磁盘和所有控制器下进行调整。本实施例的技术方案所实现的磁盘阵 列架构为仅调整部分控制器下的映射关系提供了可能。
实施例五 图7为本发明实施例五提供的磁盘阵列的实现方法的流程图,本实施例可以以上 述各实施例为基础,包括同时扩展虚拟巻、控制器和物理磁盘的数量,这也是实际应用中通 常会出现的情况,当需要扩充存储空间时,会同时增加控制器,挂载新的物理磁盘,并创建 新的虚拟巻。本实施例的方法包括如下步骤 步骤701、在识别到新增的虚拟巻、控制器组和控制器组的控制器所挂载的新增物
理磁盘时,为新增的虚拟巻根据新增的控制器组中控制器的数量创建LPR ; 步骤702、将新增的虚拟巻与LPR之间的映射关系记录至逻辑区域映射表中,将创
建的LPR与新增的控制器组中控制器之间的映射关系记录至控制器映射表中,每个逻辑区
域与新增的一个控制器组中的一个控制器相对应; 步骤703、按照设定选盘策略,从创建的每个LPR对应控制器组中控制器所管理的 物理磁盘中为该LPR分配数据块,并将创建的LPR和数据块之间的映射关系记录至数据块 映射表中。 基于本实施例所提供的技术方案可以仅调整新增控制器、物理磁盘和虚拟巻之间 的映射关系,原有磁盘阵列的映射关系无需调整,实现了从两控制器向多控制器的平滑过 渡。 实施例六 图8为本发明实施例六提供的磁盘阵列的实现方法的流程图,该方法可以以上述 任意实施例为基础,具体介绍用户对基于上述实施例所实现的磁盘阵列进行读写访问的流 程,包括如下步骤 步骤801、当获取到数据读写请求时,在逻辑区域映射表中查询该数据读写请求所 指向虚拟地址对应的LPR; 步骤802、在控制器映射表中查询确定该LPR对应的控制器; 步骤803、在查询确定的控制器的数据块映射表中查询该数据读写请求所指向虚 拟地址对应的数据块; 步骤804、在数据块中执行数据读写操作。 在本发明实施例中,来自不同控制器的LPR组成了用户所见虚拟巻,对用户而言, 所看到的磁盘空间是虚拟巻的虚拟地址,而不区分控制器和物理磁盘。 当用户需要访问磁盘阵列时,访问路径如图9所示,首先基于输入输出(10)数据 确定所需操作数据对应虚拟巻901的哪个位置,即确定虚拟地址;磁盘阵列根据虚拟地址 在逻辑区域映射表中查询确定用户访问的位置属于哪个LPR 902 ;然后查询MDS中的控制 器映射表确定该LPR 902属于哪个控制器905 ;由此该数据读写请求就被传递到了被选中 的控制器905的LPR 902,由于LPR 902是通过某种算法将其所属的物理磁盘904上的数 据块9Q3映射过来的,所以随后可以通过该算法得知读写的数据具体在哪个数据块903中。LPR902与数据块903之间的映射算法可以有多种,例如可以采用已有的"CRUSH"算法来实 现。 采用本实施例的技术方案,当控制器和物理磁盘扩展之后,对用户而言其访问数
据的方式不变,磁盘阵列内部的变化对用户不可见,因此可以沿袭用户的操作习惯,更易于
推广应用。 实施例七 图10为本发明实施例七提供的磁盘阵列的实现方法的流程图,本实施例可以以 上述任意实施例为基础,所实现的磁盘阵列可体现一个全虚拟化系统,同时可以支持实现 多种增值特性,具体包括如下步骤 步骤1001、当接收到增值特性部署请求时,识别该增值特性部署请求所指定的
LPR ; 步骤1002、在识别到的LPR中根据增值特性部署请求部署增值特性程序,该增值 特性程序可以包括自动精简配置程序(ThinProvisioning)、快照程序(Sn即shot)和/或重 复数据删除程序(DDUP)等。 采用本实施例的技术方案,由于各物理磁盘独立地受控于各自归属的LPR以及控 制器,所以可以独立地对LPR进行增值特性的操作,如图11所示,可以对其中的三个LPR下 的物理磁盘分别部署自动精简配置程序、快照和重复数据删除程序,以满足用户不同的需 求。 本发明各实施例的技术方案可以以中低端磁盘阵列搭建高端磁盘阵列,也可以从 高端磁盘阵列收縮到中低端磁盘阵列,使存储结构具有可伸縮性。实现各控制器和LPR相 互独立的优点在于支持存储虚拟化设计,不仅可以便捷的进行扩展,还可以分别部署虚拟 化业务程序或增值特性程序,而且,当出现磁盘故障等问题时,还可以独立地隔离磁盘故障 域,即某些物理磁盘的故障只会影响到一定的控制器,而不是整个磁盘阵列。该架构支持实 现虚拟化,也就是说可以在该架构下实现存储虚拟化设计。
实施例八 图12为本发明实施例八提供的磁盘阵列的实现装置的结构示意图,包括虚拟巻 创建模块121、逻辑区域划分模块122、第一映射关系记录模块123、第二映射关系记录模块 128和选盘模块124。其中,虚拟巻创建模块121用于创建虚拟巻,并触发逻辑区域划分模 块122 ;逻辑区域划分模块122用于根据控制器组中控制器的数量为虚拟巻创建逻辑区域, 每个逻辑区域与一个控制器组中的一个控制器相对应,逻辑区域划分模块122还用于触发 第一映射关系记录模块123、第二映射关系记录模块128和选盘模块124 ;第一映射关系记 录模块123用于将虚拟巻与逻辑区域之间的映射关系记录至逻辑区域映射表中;第二映射 关系记录模块128用于将逻辑区域与控制器之间的映射关系记录至控制器映射表中;选盘 模块124用于按照设定选盘策略,从每个逻辑区域对应的控制器组中的控制器所管理的物 理磁盘中为该逻辑区域分配数据块,并将逻辑区域与数据块之间的映射关系记录至数据块 映射表中。 在实际应用中,虚拟巻创建模块121为可选模块,对于已创建有虚拟巻的磁盘阵
列,可以直接由逻辑区域划分模块122对已有虚拟巻执行划分逻辑区域的操作。 采用本实施例的技术方案所实现的磁盘阵列架构,通过设置每个LPR对应同一个控制器组中控制器所管理物理磁盘中的数据块,使得各控制器的LPR可以并行操作,映射 关系变化量少,因此易于完成扩展操作。 在本实施例的基础上,该装置还可以进一步包括控制器数量监测模块125。控制 器数量监测模块125用于当识别到挂载有物理磁盘的控制器组的数量变化时,触发该逻辑 区域划分模块122。逻辑区域划分模块122根据当前的控制器组中控制器的数量为虚拟巻 重新划分逻辑区域,每个逻辑区域与一个控制器组中的一个控制器相对应。逻辑区域划分 模块122又触发第一映射关系记录模块123、第二映射关系记录模块128和选盘模块124, 第一映射关系记录模块123在控制器映射表中更新逻辑区域与控制器之间的映射关系,且 第二映射关系记录模块128在逻辑区域映射表中更新虚拟巻与逻辑区域之间的映射关系; 选盘模块124按照设定选盘策略,从每个逻辑区域对应控制器组中控制器所管理的物理磁 盘中为该逻辑区域分配数据块,并将逻辑区域和数据块之间的映射关系记录至数据块映射 表中。 在本实施例的基础上,该装置还可以进一步包括物理磁盘数量监测模块126。物 理磁盘数量监测模块126用于当识别到控制器组所管理的物理磁盘的数量变化时,针对物 理磁盘数量变化的控制器组触发选盘模块124,即选盘模块124按照设定选盘策略,在控制 器组中控制器当前所管理的物理磁盘中为控制器组中的控制器对应的逻辑区域分配数据 块,并在数据块映射表中更新逻辑区域和数据块之间的映射关系。 在本实施例的基础上,该装置还可以进一步包括虚拟巻增设模块127。虚拟巻增 设模块127用于当识别到新增的虚拟巻时,根据当前的控制器组中控制器的数量为新增的 虚拟巻创建逻辑区域,创建的每个逻辑区域与一个控制器组中的一个控制器相对应,还用 于针对新增的虚拟巻触发第一映射关系记录模块123、第二映射关系记录模块128和选盘 模块124。第一映射关系记录模块123在控制器映射表中记录创建的逻辑区域与控制器之 间的映射关系,且第二映射关系记录模块128在逻辑区域映射表中记录新增的虚拟巻与创 建的逻辑区域之间的映射关系;选盘模块124按照设定选盘策略,从创建的每个逻辑区域 对应控制器组中控制器所管理的物理磁盘中为该逻辑区域分配数据块,并将创建的逻辑区 域和数据块之间的映射关系记录至数据块映射表中。
实施例九 图13为本发明实施例九提供的磁盘阵列的实现装置的结构示意图,基于本发明 实施例所提供的磁盘阵列实现数据读写功能时,该装置还可以包括逻辑区域查询模块 131、控制器查询模块132、数据块查询模块133和数据读写模块134。其中,逻辑区域查询 模块131用于当获取到数据读写请求时,在逻辑区域映射表中查询数据读写请求所指向虚 拟巻中的虚拟地址对应的逻辑区域;控制器查询模块132用于在控制器映射表中查询确定 逻辑区域对应的控制器;数据块查询模块133用于在查询确定的控制器的数据块映射表中 查询数据读写请求所指向虚拟地址对应的数据块;数据读写模块134用于在数据块中执行 数据读写操作。
实施例十 图14为本发明实施例十提供的磁盘阵列的实现装置的结构示意图,基于本发明 实施例所提供的磁盘阵列还可以实现增值特性部署,则该装置还可以包括增值特性接收 模块141和增值特性部署模块142。其中,增值特性接收模块141用于当接收到增值特性部
11署请求时,识别增值特性部署请求所指定的逻辑区域;增值特性部署模块142用于在识别 到的逻辑区域中根据增值特性部署请求部署增值特性程序,增值特性程序包括自动精简配 置程序、快照程序和/或重复数据删除程序。 本发明上述实施例所提供的磁盘阵列的实现装置可以执行本发明实施例提供的 磁盘阵列的实现方法,使磁盘阵列具有良好的可扩展性和可操作用。
实施例i^一 本发明实施例十一提供的磁盘阵列的数据读写方法,具体流程可参见图8所示, 包括如下步骤 当接收到对磁盘阵列的数据读写请求时,在逻辑区域映射表中查询数据读写请求
所指向虚拟巻中的虚拟地址对应的逻辑区域; 在控制器映射表中查询确定该逻辑区域对应的控制器; 在查询确定的该控制器的数据块映射表中查询数据读写请求所指向虚拟地址对 应的数据块,其中,每个逻辑区域与一个控制器组中的一个控制器相对应,且每个逻辑区域 与对应控制器组中控制器所管理的物理磁盘中的数据块相对应;
在查询确定的数据块中执行数据读写操作。 本实施例的技术方案可以采用本发明实施例所实现的磁盘阵列来执行,其执行过 程与实施例六类似。在本实施例中,来自不同控制器的LPR组成了用户所见虚拟巻,对用户 而言,所看到的磁盘空间是虚拟巻的虚拟地址,而不区分控制器和物理磁盘。采用本实施例 的技术方案,当控制器和物理磁盘扩展之后,对用户而言其访问数据的方式不变,磁盘阵列 内部的变化对用户不可见,因此可以沿袭用户的操作习惯,更易于推广应用。
实施例十二 本发明实施例十二提供磁盘阵列的数据读写装置,其结构可参见图13所示,为独 立于磁盘阵列实现装置的功能结构,该数据读写装置包括逻辑区域查询模块131、控制器 查询模块132、数据块查询模块133和数据读写模块134。其中,逻辑区域查询模块131用 于当接收到对磁盘阵列的数据读写请求时,在逻辑区域映射表中查询该数据读写请求所指 向虚拟巻中的虚拟地址对应的逻辑区域;控制器查询模块132用于在控制器映射表中查询 确定该逻辑区域对应的控制器;数据块查询模块133用于在查询确定的控制器的数据块映 射表中查询该数据读写请求所指向虚拟地址对应的数据块,其中,每个逻辑区域与一个控 制器组中的一个控制器相对应,且每个逻辑区域与对应控制器组中控制器所管理的物理磁 盘中的数据块相对应;数据读写模块134用于在查询确定的数据块中执行数据读写操作。
本实施例的技术方案可以执行上述磁盘阵列的数据读写方法,其执行过程与实施 例六类似。采用本实施例的技术方案,当控制器和物理磁盘扩展之后,对用户而言其访问数 据的方式不变,磁盘阵列内部的变化对用户不可见,因此可以沿袭用户的操作习惯,更易于 推广应用。 本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、 RAM、磁碟或者 光盘等各种可以存储程序代码的介质。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
一种磁盘阵列的实现方法,其特征在于,包括根据控制器组中控制器的数量创建逻辑区域,每个逻辑区域与一个控制器组中的一个控制器相对应;将所述逻辑区域与控制器之间的映射关系记录至控制器映射表中;按照设定选盘策略,从每个逻辑区域对应的控制器组中的控制器所管理的物理磁盘中为所述逻辑区域分配数据块,并将所述逻辑区域与所述数据块之间的映射关系记录至数据块映射表中。
2. 根据权利要求1所述的方法,其特征在于,还包括当识别到挂载有物理磁盘的控制器组的数量变化时,根据当前的控制器组中控制器的 数量重新划分逻辑区域,每个逻辑区域与一个控制器组中的一个控制器相对应; 在逻辑区域映射表中更新虚拟巻与逻辑区域之间的映射关系;按照设定选盘策略,从每个逻辑区域对应控制器组中控制器所管理的物理磁盘中为该 逻辑区域分配数据块,并将逻辑区域和数据块之间的映射关系记录至数据块映射表中。
3. 根据权利要求1所述的方法,其特征在于,还包括当识别到控制器组所管理的物理磁盘的数量变化时,按照设定选盘策略,在所述控制 器组中控制器当前所管理的物理磁盘中为所述控制器组中的控制器对应的逻辑区域分配 数据块,并在数据块映射表中更新逻辑区域和数据块之间的映射关系。
4. 根据权利要求1 3任一所述的方法,其特征在于,还包括 当接收到增值特性部署请求时,识别所述增值特性部署请求所指定的逻辑区域; 在识别到的所述逻辑区域中根据增值特性部署请求部署增值特性程序,所述增值特性程序包括自动精简配置程序、快照程序和/或重复数据删除程序。
5. —种磁盘阵列的数据读写方法,其特征在于,包括当接收到对磁盘阵列的数据读写请求时,在逻辑区域映射表中查询所述数据读写请求 所指向虚拟巻中的虚拟地址对应的逻辑区域;在控制器映射表中查询确定所述逻辑区域对应的控制器;在查询确定的所述控制器的数据块映射表中查询所述数据读写请求所指向虚拟地址 对应的数据块,其中,每个逻辑区域与一个控制器组中的一个控制器相对应,且每个逻辑区 域与对应控制器组中控制器所管理的物理磁盘中的数据块相对应;在查询确定的所述数据块中执行数据读写操作。
6. —种磁盘阵列的实现装置,其特征在于,包括逻辑区域划分模块,用于根据控制器组中控制器的数量创建逻辑区域,每个逻辑区域 与一个控制器组中的一个控制器相对应,还用于触发第二映射关系记录模块和选盘模块;所述第二映射关系记录模块,用于将所述逻辑区域与控制器之间的映射关系记录至控 制器映射表中;所述选盘模块,用于按照设定选盘策略,从每个逻辑区域对应的控制器组中的控制器 所管理的物理磁盘中为该逻辑区域分配数据块,并将所述逻辑区域与所述数据块之间的映 射关系记录至数据块映射表中。
7. 根据权利要求6所述的装置,其特征在于,还包括控制器数量监测模块,用于当识别到挂载有物理磁盘的控制器组的数量变化时,触发所述逻辑区域划分模块。
8. 根据权利要求6所述的装置,其特征在于,还包括物理磁盘数量监测模块,用于当识别到控制器组所管理的物理磁盘的数量变化时,针 对物理磁盘数量变化的控制器组触发所述选盘模块。
9. 根据权利要求6 8任一所述的装置,其特征在于,还包括增值特性接收模块,用于当接收到增值特性部署请求时,识别所述增值特性部署请求所指定的逻辑区域;增值特性部署模块,用于在识别到的所述逻辑区域中根据增值特性部署请求部署增值 特性程序,所述增值特性程序包括自动精简配置程序、快照程序和/或重复数据删除程序。
10. —种磁盘阵列的数据读写装置,其特征在于,包括逻辑区域查询模块,用于当接收到对磁盘阵列的数据读写请求时,在逻辑区域映射表 中查询所述数据读写请求所指向虚拟巻中的虚拟地址对应的逻辑区域;控制器查询模块,用于在控制器映射表中查询确定所述逻辑区域对应的控制器;数据块查询模块,用于在查询确定的所述控制器的数据块映射表中查询所述数据读写 请求所指向虚拟地址对应的数据块,其中,每个逻辑区域与一个控制器组中的一个控制器 相对应,且每个逻辑区域与对应控制器组中控制器所管理的物理磁盘中的数据块相对应;数据读写模块,用于在查询确定的所述数据块中执行数据读写操作。
全文摘要
本发明实施例提供一种磁盘阵列的实现方法和数据读写方法及装置。该方法包括根据控制器组中控制器的数量创建逻辑区域,每个逻辑区域与一个控制器组中的一个控制器相对应;将逻辑区域与控制器之间的映射关系记录至控制器映射表中;按照设定选盘策略,从每个逻辑区域对应控制器组中控制器所管理的物理磁盘中为该逻辑区域分配数据块,并将逻辑区域与数据块之间的映射关系记录至数据块映射表中。本发明实施例通过设置每个逻辑区域对应同一个控制器组中控制器所管理物理磁盘中的数据块,使得各控制器的逻辑区域可以并行操作,映射关系变化量少,因此易于完成扩展操作。
文档编号G06F3/06GK101751228SQ200910243998
公开日2010年6月23日 申请日期2009年12月29日 优先权日2009年12月29日
发明者罗姣林 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1