一种raid5系统及在raid5系统失效后继续写数据的方法

文档序号:9865140阅读:443来源:国知局
一种raid5系统及在raid5系统失效后继续写数据的方法
【技术领域】
[0001 ] 本申请涉及数据存储技术领域,特别涉及独立冗余磁盘阵列(Redundant Arrayof Independent Disk,RAID)技术,尤其涉及一种RAID5系统及在RAID5系统失效后继续写数据的方法。
【背景技术】
[0002]独立冗余磁盘阵列(RedundantArray of Independent Disk,RAID)技术将多个单独的物理硬盘以特定方式组合成一个逻辑硬盘,从而提高了硬盘的读写性能和数据安全性。根据不同的组合方式可以分为不同的RAID级别。常用RAID级别有:0、1、2、3、4、5、6、01、10等。
[0003]RAID 5是以数据的校验位来保证数据的安全,但它不是以单独某一个硬盘来存放数据的校验位,而是将数据段的校验位交替存放于各个硬盘上。RAID5磁盘阵列中的数据存放结构如图1所示。图1中示出了由四个磁盘组成的一个RAID5磁盘阵列,每一个圆柱体表示一个磁盘;?(?31';^7)表示校验位,0((^〖3)表示数据段,校验数据的计算方式为异或(101.)。在图1所示例子中,每三个数据段的异或结果作为这三个数据段的校验位。例如,校验位Pi是数据段D1、D2、D3的异或结果,S卩Pl=DleD2?D3。这样任何一个硬盘损坏,都可以根据其它硬盘上的校验位以及数据段来重建损坏的数据。
[0004]根据以上所述的RAID5技术原理,当该磁盘阵列中出现I块硬盘故障,可以通过重建的方式恢复该坏盘上的数据;但是当出现2块硬盘故障后,RAID5磁盘阵列就失效了,这时候就不能再对该RAID5磁盘阵列剩余的正常磁盘做任何读写操作,特别是不能继续写数据,有可能会导致严重的丢失数据事故。因为即使事后把RAID5磁盘数据恢复,也会因为RAID5故障时间段内业务数据没有及时写到RAID组中而导致这段数据的丢失。

【发明内容】

[0005]本申请提供了一种RAID5系统及在RAID5系统失效后继续写数据的方法,可以避免RAID5系统失效后无法继续写数据导致的数据丢失。
[0006]本申请实施例提供的一种在RAID5系统失效后继续写数据的方法,其特征在于,包括:
[0007]A、为RAID5磁盘组配置备用存储设备;
[0008]B、在所述RAID5磁盘组出现2块磁盘故障的情况后,将该RAID5磁盘盘组状态设置为只写;若接收到新的写请求,将该该写请求对应的业务数据写到备用存储设备,通过配置元数据记录该业务数据原本写入RAID5磁盘组中位置和实际存放该业务数据的备用存储设备中位置的对应关系。
[0009]可选地,所述备用存储设备为磁盘或块设备。
[0010]可选地,步骤A为:在创建RAID5磁盘组的时候,为RAID5磁盘组配置备用存储设备。
[0011]可选地,所述元数据记录如下信息:
[0012]块大小:记录在备用存储设备中数据块的大小;
[0013]原地址:记录业务数据在RAID5磁盘组上原本要写的逻辑地址;
[0014]映射地址:记录业务数据实际存放在备用存储设备上的位置;
[0015]偏移量:记录业务数据在指定的数据块中从开始位置偏移的大小。
[0016]可选地,如果业务数据从原地址位置需要写的数据大于块大小,就把业务数据拆分成多个数据块,如果业务数据大小小于一个块大小,就占用整个数据块。
[0017]本申请实施例还提供了一种RAID5系统,该RAID5系统包括备用存储设备,还包括:
[0018]只写设置模块,用于在所述RAID5磁盘组出现2块磁盘故障的情况后,将该RAID5磁盘盘组状态设置为只写;
[0019]重定向写入模块,用于在RAID5磁盘盘组状态设置为只写之后,在若接收到新的写请求,将该该写请求对应的业务数据写到备用存储设备,通过配置元数据记录该业务数据原本写入RAID5磁盘组中位置和实际存放该业务数据的备用存储设备中位置的对应关系。
[0020]可选地,所述备用存储设备为磁盘或块设备。
[0021]可选地,所述元数据记录如下信息:
[0022]块大小:记录在备用存储设备中数据块的大小;
[0023]原地址:记录业务数据在RAID5磁盘组上原本要写的逻辑地址;
[0024]映射地址:记录业务数据实际存放在备用存储设备上的位置;
[0025]偏移量:记录业务数据在指定的数据块中从开始位置偏移的大小。
[0026]可选地,如果业务数据从原地址位置需要写的数据大于块大小,所述重定向写入模块就把业务数据拆分成多个数据块;如果业务数据大小小于一个块大小,就占用整个数据块。
[0027]从以上技术方案可以看出,在RAID5磁盘组失效后,将业务数据写到备用存储设备,通过配置元数据记录该业务数据原本写入RAID5磁盘组中位置和实际存放该业务数据的备用存储设备中位置的对应关系,从而立了备用存储设备中的地址与原RAID磁盘组的地址的映射关系,对于文件系统来说,它“感受”到的仍然是在写入RAID磁盘组,只是如果写入的条带位于故障磁盘,写入的逻辑地址还是该故障磁盘,实际的物理写入地址在备用存储设备。该方法有效解决了部分持续写数据的应用,因为RAID组故障导致后续业务数据不能及时写入磁盘导致大量业务数据丢失情况。
【附图说明】
[0028]图1为RAID5磁盘阵列中的数据存放结构示意图;
[0029]图2为本申请实施例提供的在RAID5系统失效后继续写数据的方法流程示意图。
【具体实施方式】
[0030]为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
[0031]本申请实施例提供的在RAID5系统坏掉2块盘后继续写数据的方法流程如图2所示,包括如下步骤:
[0032]步骤201:创建RAID5磁盘组的时候,配置一个备用存储设备给这个RAID5磁盘组。
[0033]该备用存储设备可以是一个硬盘或者一个块设备。所谓块设备,是指任何未建立文件系统的存储设备。在块设备中,数据是按照数据起始地址以及数据长度依次存储的。只要知道任一数据的起始地址和长度,就可以从块设备中读取该数据。
[0034]步骤202:判断该RAID5磁盘组是否出现失效的情况,若是,执行步骤203,否则继续执行本步骤。
[0035]其中,如果仅出现I块磁盘故障,可以正常工作或者开始做数据重建;数据重建过程中又出现I块磁盘故障,则执行步骤203。
[0036]步骤203:将该RAID5磁盘盘组状态设置为只写(
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1