基于RAID备份的数据处理方法及装置制造方法及图纸

技术编号:12350434 阅读:70 留言:0更新日期:2015-11-19 01:30
本发明专利技术公开了一种基于RAID备份的数据处理方法,包括:设定至少一个RAID阵列作为备份阵列;当向业务RAID阵列发送数据处理命令时,判断所述数据处理命令对应的RAID条带是否失效,在失效的情况下查找所述失效的RAID条带到所述备份阵列中数据块的映射关系,并在找到所述映射关系后在备份阵列的对应数据块中执行数据处理命令。本发明专利技术还公开了对应方法的一种数据处理装置。本发明专利技术基于RAID备份的方法及装置优点在于,系统中所有的RAID共享相同的备份空间,备份空间可根据需要进行配置,可以是可以一个或多个RAID阵列,能够提高备份空间的利用率。

【技术实现步骤摘要】

本专利技术涉及存储
,尤其涉及基于RAID备份的数据处理方法及装置
技术介绍
RAID (Redundant Arrays of Independent Disks,独立冗余磁盘阵列)阵列在长 时间使用时,会因振动、腐蚀或磁盘本身的机械故障等影响,出现磁盘无法被识别,或者出 现无法容错的介质故障,导致阵列失效。阵列失效的时候,该阵列上的业务完全中断,对业 务连续性要求较高的应用来说,这是不可接受的。业务中断,对用户的影响可能非常大,甚 至带来很大的损失。 业界有很多的技术来提供阵列失效的备份,保证业务的连续性,如镜像、复制软件 等基于业务层面的N+M备份等。 镜像软件进行的备份方式为,当需要通过LUN(Logical Unit Number,逻辑单元 号)层向业务RAID阵列写入数据时,在LUN层就将接收到的数据进行镜像,在LUN层配置 一个大小完全相同的镜像副本实现数据的备份。复制软件进行的备份方式则是配置一个跟 原LUN层完全相同大小的本地或远端LUN,业务写入的时候,原LUN会将数据同时复制到本 地或远程LUN。 在必须使用与业务RAID阵列相同大小的RAID阵列/逻辑资源作为备份空间进行 镜像、复制,对备份阵列的大小要求严格,同时只有故障的RAID阵列会用到备份空间,没有 故障的RAID阵列的备份空间是闲置的,不能被共享,造成存储资源的浪费。 因此,现有的备份技术存在备份空间利用率低下的问题。
技术实现思路
为了解决现有技术备份存在的利用率低下的问题,本专利技术提供了一种基于RAID 层面备份的数据处理方法。 -种基于RAID备份的数据处理方法,包括: 设定至少一个RAID阵列作为备份阵列; 当向业务RAID阵列发送数据处理命令时,判断所述数据处理命令对应的RAID条 带是否失效,在失效的情况下查找所述失效的RAID条带到所述备份阵列中数据块的映射 关系,并在找到所述映射关系后在备份阵列的对应数据块中执行数据处理命令。 业务RAID阵列为用于业务处理的非备份RAID阵列。失效的RAID条带根据映射关 系映射到备份空间中,多个业务RAID阵列通过建立映射关系可共享一个备份阵列,对备份 阵列的大小没有严格限制,只有失效的RAID条带会将数据备份在备份阵列中,其他正常的 RAID条带可正常使用,因此极大地提高了备份空间的利用率;且上层下发的对失效的RAID 条带进行的数据处理命令可直接在备份空间中进行,上层不会感知,不需要进行上层的处 理。 在建立映射关系后,需要将失效RAID条带与备份阵列中的数据块之间的映射关 系进行保存,以便进行失效RAID条带对应的数据块的查找。 进一步而言,所述失效RAID条带与对应数据块的映射关系存于映射关系表中,每 个具有失效RAID条带的业务RAID阵列对应一张映射关系表。映射关系表记录原失效RAID条带和备份阵列数据块的对应关系。备份阵列与失 效阵列不是一一对应的,可能只有部分RAID条带失效需要重新映射,没有失效的条带还是 在原阵列中提供数据访问,失效条带重新映射到备份空间,从备份空间中访问。映射关系表 位于内存中,可以通过LBA地址为索引进行查找。 进一步而言,所述数据处理命令为数据写入命令,在查找所述映射关系时,如果所 述映射关系不存在,则先在所述备份阵列中查找空闲的数据块,再建立所述失效RAID条带 与所述空闲数据块之间的映射关系。 如果映射关系表中不存在失效RAID条带对应的备份阵列数据块,则表明当前数 据写入命令为当前RAID条带失效后首次进行数据写入,因此此时要去备份阵列中寻找空 闲的数据块并建立对应的映射关系存入映射关系表中。其中映射关系表保存在内存中,每 次内存掉电重启都会丢失内容,因此,每次在映射关系表中增加映射关系后,均对备份阵列 的头部信息更新保存相应的映射关系。在内存上电重启后,均进行备份阵列的头部信息扫 描以重新生成映射关系表。 进一步而言,与失效RAID条带具有映射关系的数据块被划分为多个空间,对应 地,所述映射关系表包含:失效RAID条带的起始LBA地址、备份阵列中对应失效RAID条带 的数据块起始LBA地址以及对应数据块各空间的比特位,每个比特位用于表示对应的数据 块空间是否被占用。 映射关系表中包含了失效RAID条带及其对应数据块两者的LBA地址,且通过表 示各空间的比特位将数据块的占用情况进行记录保存。由于每个数据块被划分为若干个 空间,因此从下发的数据处理命令中存在的失效RAID条带中的LBA地址中,可以根据失效 RAID条带起始LBA地址与备份阵列数据块的起始LBA地址的对应关系,以及被划分的数据 块空间大小,得到在数据块中对应的数据块空间位置(相当于对应数据处理命令中LBA地 址的数据块LBA地址),从而进行相应位置的数据写入。并且由于数据块空间由各比特位表 示,因此易于知道各空间的占用情况。 进一步而言,所述数据写入命令包括待写入数据的LBA地址,向对应失效RAID条 带的数据块执行数据写入命令的方法包括: 根据失效RAID条带起始LBA地址与备份阵列数据块的起始LBA地址的对应关系, 以及被划分的数据块空间大小得到待写入数据在备份阵列中所在数据块空间的位置; 如果待写入的数据块为空闲数据块,则在写入数据后将对应的比特位状态从未占 用更改为已占用;如果待写入的数据块已写入数据时,根据比特位状态判断待写入数据的 数据块空间是否已被占用:如果是,则用待写入数据更新已写入的数据;否则,将待写入数 据写入到数据块空间中并在写入数据后将对应的比特位状态从未占用更改为已占用。 如果待写入的数据块是新建立的空闲数据块,则各数据块空间未被占用,比特位 均为未占用状态,直接写入即可,并在写入以后更改比特位状态为已占用;如果映射关系在 先前已经建立,则表示已有数据写入的命令,数据块中存在被占用的数据,此时,被占用的 数据块空间所表示的比特位为已占用状态,如果数据写入命令中对应LBA地址的数据块空 间位置为已占用状态,则对应地将待写入的数据用来更新已写入的数据块空间,比特位状 态不需要进行更改;如果对应的数据块空间位置未被占用,则与空闲数据块的数据写入方 法一样。 进一步而言,在查找所述映射关系时先查找是否存在对应的映射关系表,如果不 存在,则在查找到所述空闲数据块并建立所述映射关系时建立所述映射关系表。 映射关系表是保存在内存中的,只有在RAID条带失效并进行数据写入时才进行 建立,可以减少内存占用。 进一步而言,所述数据读取命令包括待读取数据的LBA地址,向对应失效RAID条 带的数据块执行数据读取命令的方法包括:根据失效RAID条带起始LBA地址与备份阵列数 据块的起始LBA地址的对应关系,以及被划分的数据块空间大小得到待读取的数据命令在 备份阵列中所在数据块空间的对应位置并读取对应位置的数据。 数据读取命令包含LBA地址,在RAID条带失效的情况下直接从映射关系表中找 到对应的数据块,根据命令中的LBA地址,通过失效RAID条带起始LBA地址与数据块起始 LBA地址的对应关系,换算出所要读取的数据所在数据块位置进行相应的读取,上层也不会 感知到读取位置的变化。 本专利技术还提供了一种数据处理装置,用于实施本发本文档来自技高网...

【技术保护点】
一种基于RAID备份的数据处理方法,其特征在于,包括:设定至少一个RAID阵列作为备份阵列;当向业务RAID阵列发送数据处理命令时,判断所述数据处理命令对应的RAID条带是否失效,在失效的情况下查找所述失效的RAID条带到所述备份阵列中数据块的映射关系,并在找到所述映射关系后在备份阵列的对应数据块中执行数据处理命令。

【技术特征摘要】

【专利技术属性】
技术研发人员:肖永玲郭永强
申请(专利权)人:浙江宇视科技有限公司
类型:发明
国别省市:浙江;33

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

1