磁盘热拔除的处理方法及装置制造方法及图纸

技术编号:4203296 阅读:219 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种磁盘热拔除的处理方法和装置,该方法用于在多控制器的磁盘阵列中,当处于正在读写状态下的阵列被拔除一块磁盘后,对磁盘热拔除事件进行处理,该方法包括:在逻辑设备驱动层接收到磁盘失效报告后,在确定磁盘失效报告来自于主控制器,且当前逻辑设备处于重配置状态的情况下,判断当前逻辑设备是否为冗余廉价冗余磁盘阵列RAID级别,如果是,则将当前被拔出磁盘对应的磁盘组成员设置为故障状态,并继续进行重配置操作;否则,将当前被拔出磁盘所在磁盘组的所有逻辑设备设置为故障状态,停止重配置操作,并将当前逻辑设备的状态信息发送给对端控制器。根据本发明专利技术,可以提高磁盘阵列系统对灾难的恢复能力和灵活性。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及多控制器的磁盘阵列中的一种磁盘热拔除的处理方法和装置。
技术介绍
磁盘阵列(Disk Array)是由硬盘控制器来控制多个硬盘的相互连接,使多个硬盘 的读写同步,减少错误,增加效率和可靠度的技术。其中,由两个控制器来控制多个磁盘的 磁盘阵列,称为双控磁盘阵列。通常,磁盘阵列是指廉价冗余磁盘阵列(Redundant Arrayof Inexpensive Disks,简称为RAID),其中,RAID是磁盘阵列在技术上实现的理论标准,其目 的在于减少错误、提高存储系统的性能与可靠度。具体而言,RAID是一种将多块独立的硬 盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘 更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式决定了RAID级别(RAID Levels)。目前,RAID的级别包括0、 1、0+1、2、3、4、5、6和7,其中,RAID0级别为非冗余RAID 级别。 对于硬盘来说,因为它的数据线和电源线是分开的,所以允许用户在不关闭系统、不切断电源的情况下拔除或者更换损坏硬盘,该过程称为磁盘热拔除。支持热拔除是磁盘阵列的基本功能之一。在双控磁盘阵列中,处于正在读写状态下的阵列,拔除一块磁盘后,触发硬件相关驱动和双控相关驱动,并将磁盘失效通知到逻辑设备驱动层。与此同时,正在读写的逻辑设备因找不到物理磁盘而发送磁盘失效报告,因此,逻辑设备驱动层将同时接 收到三个事件两个控制器的通知事件和读写出错事件。 在现有的技术中,由于只给出了如何发现磁盘热拔除的技术,而没有对热拔除磁 盘而引起的一系列事件及状态进行逻辑处理的技术,从而,使得系统对灾难的及时恢复能 力较弱,缺乏扩展性和灵活性。
技术实现思路
有鉴于此,本专利技术提供了一种磁盘热拔除的处理方法和装置,用以解决现有技术 在磁盘热拔除后由于没有对热拔除磁盘所引起的事件及状态进行逻辑处理,而导致系统对 灾难的及时恢复能力较弱的问题。 根据本专利技术的一个方面,提供了一种磁盘热拔除的处理方法,该方法用于在多控 制器的磁盘阵列中,当处于正在读写状态下的阵列被拔除一块磁盘后,对磁盘热拔除事件 进行处理。 根据本专利技术的磁盘热拔除的处理方法包括在逻辑设备驱动层接收到磁盘失效报 告后,在确定磁盘失效报告来自于主控制器,且当前逻辑设备处于重配置状态的情况下,判 断当前逻辑设备是否为冗余廉价冗余磁盘阵列RAID级别,如果是,则将当前被拔出磁盘对 应的磁盘组成员设置为故障状态,并继续进行重配置操作;否则,将当前被拔出磁盘所在磁 盘组的所有逻辑设备设置为故障状态,停止重配置操作,并将当前逻辑设备的状态信息发送给对端控制器。 根据本专利技术的另一个方面,提供了一种磁盘热拔除的处理装置,该装置应用在多 控制器的磁盘阵列中。 根据本专利技术的磁盘热拔除的处理装置包括接收模块、第一判断模块、第二判断模 块、第三判断模块、配置模块和发送模块。其中,接收模块,用于接收磁盘失效报告;第一判 断模块,用于判断磁盘失效报告是否来自于主控制器事件;第二判断模块,用于判断当前逻 辑设备是否处理重配置状态;第三判断模块,用于判断当前逻辑设备是否为冗余RAID级 别;配置模块,用于在第一判断模块、第二判断模块和第三判断模块的判断结果均为是情况 下,将当前被拔出磁盘对应的磁盘组成员设置为故障状态,执行重配置操作;在第一判断模 块和第二判断模块的判断结果为否、第三判断模块的判断结果为否的情况下,将当前被拔 出磁盘所在磁盘组的所有逻辑设备设置为故障状态,停止重配置操作;发送模块,用于将当 前逻辑设备的状态信息发送给对端控制器。 通过本专利技术的上述至少一个方案,通过对热拔除磁盘所引起的一系列事件及状态 进行逻辑处理,可以提高磁盘系统对灾难的及时恢复能力,并增强其扩展性和灵活性。 本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明 书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明 附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实 施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中 图1是磁盘阵列控制器的结构示意图; 图2是逻辑设备驱动的结构示意图; 图3是本专利技术实施例的磁盘热拔除的处理方法的流程图; 图4是根据本专利技术实施例的热拔除的处理装置的结构示意图; 图5是根据本专利技术优选实施例的热拔除的处理装置的结构示意图; 图6是根据本专利技术另一优选实施例的热拔除的处理装置的结构示意图; 图7是根据本专利技术实施例实现双控磁盘阵列中磁盘热拔除的处理的流程图。具体实施方式 功能概述 在多控制器中,同一磁盘被拔出后,每个控制器都会检测到磁盘被拔出,都通知到 逻辑设备层。所以,当正在读写的磁盘阵列,拔出一块磁盘后,逻辑设备驱动层,会接收到三 种磁盘失效报告。为了避免逻辑设备多次处理这三种磁盘失效报告,影响逻辑设备的处理 结果,本专利技术实施例提供了一种磁盘热拔除的处理方案,用于在多控制器的磁盘阵列中,当 处于正在读写状态下的阵列被拔除一块磁盘后,对磁盘热拔除事件进行处理。在本专利技术实 施例中,通过设置逻辑设备的成员状态和互斥锁机制,解决逻辑设备多次处理上述三种磁 盘失效报告而影响逻辑设备的处理结果的问题。在本专利技术实施例中,首先,对于多个控制 器,逻辑设备只接收主控制器的磁盘失效报告,对于从控的失效报告,直接返回,等主控处理完成后,通知从控,并同步状态。对于主控上的第一次磁盘失效报告进入互斥锁内,将失 效磁盘置为故障,并将逻辑设备置为需重建状态。当由拔出同一磁盘而引起的第二次失效 报告进入后,判断磁盘是故障状态或正在重建状态,直接返回。 在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。 以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。 在对本专利技术实施例提供的技术方案进行说明之前,为了便于理解,先对磁盘阵列 控制器及逻辑设备驱动进行简单介绍。 图l是磁盘阵列控制器的结构示意图,如图l所示,磁盘阵列控制器包括硬件和软 件两部分,硬件支持的环境有I0P342处理器,X86、PPC等多核多路系统或多处理节点系统, 支持DMA、 X0R等硬件加速器;软件的体系结构支持li皿x操作系统,在li皿x内核的基础 上,实现对磁盘阵列的数据处理,所有处理都在内核态实现。软件主要包括硬件相关驱动, 双控相关驱动,逻辑设备驱动和cache相关处理等。 图2是逻辑设备驱动的结构示意图,如图2所示,逻辑设备驱动主要分为以下部 分磁盘管理、磁盘组管理和逻辑设备的处理,其中,阵列中的多个磁盘组成磁盘组,逻辑设 备建立在磁盘上,磁盘组为逻辑设备分配空间。 根据本专利技术实施例,首先提供了一种磁盘热拔除的处理方法,用于在多控制器的 磁盘阵列中,当处于正在读写状态下的阵列被拔除一块磁盘后,对磁盘热拔除事件进行处理。 图3是本专利技术实施例提供的磁盘热拔除的处理方法的流程图,如图3所示,在具体 实施过程中,在逻辑设备驱动层接收到磁盘失效报告后,该方法主要包括以下步本文档来自技高网
...

【技术保护点】
一种磁盘热拔除的处理方法,用于在多控制器的磁盘阵列中,当处于正在读写状态下的阵列被拔除一块磁盘后,对磁盘热拔除事件进行处理,其特征在于,在逻辑设备驱动层接收到磁盘失效报告后,所述方法包括:    在确定所述磁盘失效报告来自于主控制器,且当前逻辑设备处于重配置状态的情况下,判断所述当前逻辑设备是否为冗余RAID级别,如果是,则将当前被拔出磁盘对应的磁盘组成员设置为故障状态,并继续进行重配置操作;否则,    将当前被拔出磁盘所在磁盘组的所有逻辑设备设置为故障状态,停止重配置操作,并将所述当前逻辑设备的状态信息发送给对端控制器。

【技术特征摘要】
一种磁盘热拔除的处理方法,用于在多控制器的磁盘阵列中,当处于正在读写状态下的阵列被拔除一块磁盘后,对磁盘热拔除事件进行处理,其特征在于,在逻辑设备驱动层接收到磁盘失效报告后,所述方法包括在确定所述磁盘失效报告来自于主控制器,且当前逻辑设备处于重配置状态的情况下,判断所述当前逻辑设备是否为冗余RAID级别,如果是,则将当前被拔出磁盘对应的磁盘组成员设置为故障状态,并继续进行重配置操作;否则,将当前被拔出磁盘所在磁盘组的所有逻辑设备设置为故障状态,停止重配置操作,并将所述当前逻辑设备的状态信息发送给对端控制器。2. 根据权利要求1所述的方法,其特征在于,在确定所述磁盘失效报告来自主控制器时,如果所述当前逻辑设备不处于重配置状态,则所述方法还包括判断所述当前逻辑设备是否为冗余RAID级别,如果否,则将所述磁盘组的所有逻辑设备设置为故障状态,结束流程。3. 根据权利要求2所述的方法,其特征在于,在将所述磁盘组的所有逻辑设备设置为故障状态之后,所述方法还包括将所述当前逻辑设备的状态信息发送给对端控制器。4. 根据权利要求2所述的方法,其特征在于,如果所述当前逻辑设备为冗余RAID级别,则所述方法还包括步骤1 ,增加互斥锁,判断所述磁盘组是否处于正常状态,如果是,则修改所述磁盘组的状态为故障状态,并将当前被拔出磁盘对应的磁盘组成员设置为故障状态,增加所述磁盘组的失效磁盘的个数,执行步骤3 ;否则,执行步骤2 ;步骤2,判断所述磁盘组中失效磁盘的状态,如果失效磁盘的状态为磁盘正常或磁盘正在重建状态,则执行步骤5 ;否则,增加所述磁盘组的失效磁盘个数,执行步骤3 ;步骤3,判断所述磁盘组的失效磁盘个数是否超过预设值,如果是,将所述磁盘组上的所有逻辑设备置为故障状态,执行步骤5 ;否则,执行步骤4 ;步骤4,释放所述互斥锁,将所述磁盘组的状态修改为待重建状态;步骤5,释放所述互斥锁,结束流程。5. 根据权利要求4所述的方法,其特征在于,在将所述磁盘组的状态修改为待重建状态之后,所述方法还包括查询系统中是否有能够使用的热备盘,如果是,则将所述热备盘加入到所述磁盘组,并将所述磁盘组的成员设置为正在重建状态,对所述磁盘组进行重配置;否则,将所述当前逻辑设备置为降级运行模式,结束流程。6. 根据权利要求5所述的方法,其特征在于,在对所述磁盘...

【专利技术属性】
技术研发人员:甘春闰
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1