专利名称:一种共享储存设备下自平衡数据访问压力的方法
技术领域:
本发明涉及一种访问储存设备的方法,尤其涉及一种共享储存设备下自平衡数据
访问压力的方法。
背景技术:
目前,为了提高系统的可用性及平行处理能力,通常采用多个控制器共享多个实 体储存设备的方式,使用者通过控制器对储存设备进行读取与写入的过程通常有如下两种 方式 其一,如图1所示,第一控制器110与第二控制器120通过连接通道130相连。对 于任一实体储存设备而言,在任一时刻只有一个控制器(如第一控制器iio)对其进行读取 或写入操作,当使用者通过其它控制器(如第二控制器120)对该实体储存设备进行读取或 写入操作时,数据通过连接信道130在控制器之间传递,并且读取或写入操作通过与该实 体储存设备连接的控制器(如第一控制器110)来完成。 其二,如图2所示,针对实体储存设备,存在相应的逻辑储存设备,而多个控制器 (第一控制器210、第二控制器220)均具有与一实体储存设备相对应的一逻辑储存设备。在 使用者和多个控制器之间设置一平衡器200,此平衡器200决定使用者通过哪一个控制器
对逻辑储存设备进行读取与写入操作。但在任一时刻只能对一个控制器上的逻辑储存设备 进行读取与写入操作。 然而上述现有技术仍然存有诸多缺陷,对于第一种方式而言,如果被访问的逻辑 储存设备集中于一个控制器上,那么可能导致此控制器由于访问压力过大而变得缓慢,而 另一控制器则闲置。对于第二种方式而言,则需要专门用来实现平衡器的设备,带来硬件及 软件上的额外开销。
发明内容
本发明的目的在于提供一种共享储存设备下自平衡数据访问压力的方法,用于当 使用者访问储存设备时尽可能在各个控制器之间实现访问压力的均衡。 本发明所提供了一种共享储存设备下自平衡数据访问压力的方法,用以控制多个
控制器对多个储存设备的直接访问,该等控制器之间通过一连接通道连接,于该等控制器
中存在与该等储存设备相对应的多个逻辑储存设备,该方法包含以下步骤 设置该等控制器的一逻辑储存设备访问压力阀值; 监视该等控制器的数据访问流量; 当一第一控制器的数据访问流量超过该第一控制器的该逻辑储存设备访问压力 阀值,并且数据访问对象为两个或两个以上逻辑储存设备时,则与一第二控制器进行一协 商; 当该第二控制器的数据访问流量超过该第二控制器的该逻辑储存设备访问压力 阀值时,则延迟该协商;
当该第二控制器的数据访问流量未超过该第二控制器的该逻辑储存设备访问压
力阀值时,查询该第一控制器中数据访问流量较小的一逻辑储存设备;以及 在该第一控制器中禁止对该逻辑储存设备的操作,并在该第二控制器中赋能对该
逻辑储存设备的操作。 该连接信道为以太网络或者SAS连接。 该第一控制器及该第二控制器连接至外部网络。 该外部网络为以太网络或者光纤信道。 综上所述,本发明的优点在于通过本发明所提供的共享储存设备下自平衡数据 访问压力的方法,当使用者访问储存设备时,能够在各个控制器之间实现访问压力均衡。
图1为现有技术的--结构方块图;图2为现有技术的另一结构方块图3为本发明所运行的系统的结构方块图;以及
图4为本发明的方法流程图。
其中,附图标记iio第一控制器120第二控制器130连接通道200平衡器210第一控制器220第二控制器310第一控制器311第一通量监视模块320第二控制器321第二通量监视模块330连接通道340外部网络HD1、 HD2、 HD3实体储存设备
DG1、DG2、DG3、DG1,、DG2'、DG3'逻辑储存设备
具体实施例方式
以下,将结合附图对本发明的较佳实施方式作详细说明。 请参考图3和图4,图3表示了本发明所运行的系统的结构方块图,图4为本发明 的方法流程图。 如图3所示,本发明的多个控制器(第一控制器310、第二控制器320)分别连接至 外部网络340,外部网络340可以为以太网络、光纤信道或者其它网络。第一控制器310通 过连接通道330与第二控制器320相连。其中,连接信道330可以为以太网络、SAS连接或 者其它连接方式。 第一控制器310和第二控制器320共享三个实体储存设备HD1、HD2以及HD3。对 应于三个实体储存设备HD1、 HD2以及HD3,在第一控制器310存在三个逻辑储存设备DG1、 DG2以及DG3,在第二控制器320存在三个逻辑储存设备DG1'、DG2'以及DG3'。使用者通 过逻辑储存设备对实体储存设备进行读取与写入操作。在此,假定第一控制器310的逻辑 储存设备DG1及DG2是赋能的,DG3是禁止的,而第二控制器320的逻辑储存设备DG1'及 DG2'是禁止的,DG3'是赋能的。那么,使用者对实体储存设备HD1、HD2及HD3的访问须通过逻辑储存设备DG1、 DG2以及DG3'来进行。 现在请参考图4,本发明的共享储存设备下自平衡数据访问压力的方法用于在多 个控制器(第一控制器310、第二控制器320)之间平衡数据访问压力。为实现本发明的目 的,于第一控制器310设置一第一通量监视模块311,于第二控制器320设置一第二通量监 视模块321。 如图4所示,本发明的共享储存设备下自平衡数据访问压力的方法包含如下步 骤通过第一通量监视模块311设置第一控制器310的逻辑储存设备访问压力阀值,通过第 二通量监视模块321设置第二控制器320的逻辑储存设备访问压力阀值(步骤400),其中 逻辑储存设备访问压力阀值可依据相应控制器的处理能力来确定。接着,通过第一通量监 视模块311监视第一控制器310的逻辑储存设备DG1及DG2的数据访问流量,即数据访问 压力情况,通过第二通量监视模块321监视第二控制器320的逻辑储存设备DG3'的数据访 问压力情况(步骤410)。 当第一通量监视模块311检测到对逻辑储存设备DG1及DG2的访问压力持续大于 针对第一控制器310而设置的逻辑储存设备访问压力阀值时,第一通量监视模块311通过 连接通道330与第二通量监视模块321进行协商(步骤420)。此时,判断第二控制器320 的数据访问压力是否大于针对第二控制器320设置的逻辑储存设备访问压力阀值(步骤 430),当第二通量监视模块321检测到对逻辑储存设备DG3'的访问压力亦大于针对第二控 制器320设置的逻辑储存设备访问压力阀值时,则延迟第一通量监视模块311与第二通量 监视模块321的协商(步骤440),然后,返回步骤420。 当第一通量监视模块311仍检测到对逻辑储存设备DG1及DG2的访问压力持续大 于针对第一控制器310而设置的逻辑储存设备访问压力阀值时,第一通量监视模块311通 过连接通道330再次与第二通量监视模块321进行协商。如果此时第二通量监视模块321 检测到对逻辑储存设备DG3'的访问压力未大于针对第二控制器320设置的逻辑储存设备 访问压力阀值时,第一控制器310查询逻辑储存设备DG1和DG2中访问压力较小者(步骤 450)。在此,假定逻辑储存设备DG2的数据访问流量较小。因而,在第一控制器310中禁止 对逻辑储存设备DG2的操作,并在第二控制器320中赋能对逻辑储存设备DG2'的操作(步 骤460)。此后,对实体储存设备HD2的操作均通过第二控制器320的逻辑储存设备DG2'来 进行。 此后,即使第一通量监视模块311检测到逻辑储存设备DG1的访问压力持续大于 针对第一控制器310而设置的逻辑储存设备访问压力阀值,但由于第一控制器310上仅存 在一个逻辑储存设备DG1,没有两个或两个以上逻辑储存设备被访问,因而第一通量监视模 块311不与第二控制器320的第二通量监视模块321进行协商。
权利要求
一种共享储存设备下自平衡数据访问压力的方法,用以控制多个控制器对多个储存设备的直接访问,该等控制器之间通过一连接通道连接,于该等控制器中存在与该等储存设备相对应的多个逻辑储存设备,该方法包含以下步骤设置该等控制器的一逻辑储存设备访问压力阀值;监视该等控制器的数据访问流量;当一第一控制器的数据访问流量超过该第一控制器的该逻辑储存设备访问压力阀值,并且数据访问对象为两个或两个以上逻辑储存设备时,则与一第二控制器进行一协商;当该第二控制器的数据访问流量超过该第二控制器的该逻辑储存设备访问压力阀值时,则延迟该协商;当该第二控制器的数据访问流量未超过该第二控制器的该逻辑储存设备访问压力阀值时,查询该第一控制器中数据访问流量较小的一逻辑储存设备;以及在该第一控制器中禁止对该逻辑储存设备的操作,并在该第二控制器中赋能对该逻辑储存设备的操作。
2. 如权利要求1所述的共享储存设备下自平衡数据访问压力的方法,其特征在于,该 连接信道为以太网络或者SAS连接。
3. 如权利要求1所述的共享储存设备下自平衡数据访问压力的方法,其特征在于,该 第一控制器及该第二控制器连接至外部网络。
4. 如权利要求3所述的共享储存设备下自平衡数据访问压力的方法,其特征在于,该 外部网络为以太网络或者光纤信道。
全文摘要
本发明公开了一种共享储存设备下自平衡数据访问压力的方法,此方法包含以下步骤设置各控制器的逻辑储存设备访问压力阀值;监视各控制器的数据访问流量;当第一控制器的数据访问流量超过第一控制器的逻辑储存设备访问压力阀值,并且数据访问对象为两个或两个以上逻辑储存设备时,则与第二控制器进行协商;如果第二控制器的数据访问流量超过第二控制器的逻辑储存设备访问压力阀值,则延迟此协商,否则,查询第一控制器中数据访问流量较小的逻辑储存设备;以及在第一控制器中禁止对此逻辑储存设备的操作,并在第二控制器中赋能对此逻辑储存设备的操作。
文档编号G06F3/06GK101739214SQ20081017649
公开日2010年6月16日 申请日期2008年11月13日 优先权日2008年11月13日
发明者庄钦平, 陈玄同 申请人:英业达股份有限公司