一种用于数据恢复及自修复的raid卡设计方法

文档序号:6398543阅读:171来源:国知局
专利名称:一种用于数据恢复及自修复的raid卡设计方法
技术领域
本发明涉及计算机应用技术领域,具体地说是一种用于数据恢复及自修复的raid卡设计方法。
背景技术
在现在大型存储设备在各行各业的使用已经越来越广泛了,存储设备上使用的磁盘以单盘的形式存在的现象也越来越少见,绝大部分在往磁盘来写数据之前会把多块磁盘新建成raid,这样既扩大了存储块得容量,也提高了读写速度(raidl除外),也有的提高了安全性(raidO除外)。Raid有硬件raid和软件raid两种,硬件raid是使用专门的raid卡对磁盘进行管理;软件raid使用操作系统的raid模块对磁盘进行管理,其作用相当于一个raid卡硬件。使用软件raid成本相对较低,但是增加了系统cpu的负担,会耗费大量的cpu带宽。而使用raid卡管理磁盘,相对来讲能较大的提高存储的性能,降低系统负担,这在将来的存储系统设计的时候会越来越多的使用。现行的raid卡在设计上有缺陷,主要体现在使用raid卡以后,系统不能直接的与磁盘进行交互,这两者之间必须通过raid卡才能通信,也即raid对系统而言把底部的磁盘进行了屏蔽。这会在raid数据盘出现问题,需要进行数据恢复的时候带了麻烦,或者raid系统需要人为干预的时候也将不容易实现。在raid出现故障的时候(如raid5系统出现一块盘掉盘),如果在开始设置了热备盘,raid会重建。raid重建的过程中,会严重影响raid的IO性能。这主要是raid重建的时候,会占用大量的IO带宽,而且易出现重建不成功的情况。在很多情况下,raid掉盘后,raid重建的时候,管理员会把存储业务断开,这固然可以使存储在raid重建的时候更不容易出错,但是对于大型的数据中心来说,把业务断开可能会影响很多用户的工作。现在的raid在重建的时候,一般都是把原先的故障盘完全替换,全盘重建,费时较多,而有时raid掉线并不是磁盘出现了无法使用的错误,有可能仅仅是磁盘在读写数据的时候出现了超时,以至于raid卡没能在规定的时间内接收到磁盘的恢复,使raid以为该磁盘出现了严重的故障,而使磁盘掉线。对于磁盘掉线,进行raid重建问题,应该分清楚磁盘出现故障的严重程度,然后再选择是否重建或者如何重建。

发明内容
本发明的技术任务是解决现有技术的不足,提供一种用于数据恢复及自修复的raid卡设计方法。本发明的技术方案是按以下方式实现的,具体步骤如下:
(一)在raid出现严重故障需要人为干预并进行数据恢复时,raid系统与数据恢复系统交互,为了达到方便数据恢复工作更好的进行,raid板卡添加功能设计如下:
a、对于raid系统在正常运行的时候,操作系统不需要与磁盘交互,只是在出现故障的时候,操作系统才需要与磁盘进行交互,对于这种情况,raid卡把与系统cpu连接的接口设计成复用端口;
b、该复用端口用如下方法实现,使用拨接开关进行切换,当将开关拨到某一位置时,操作系统看不到底部的磁盘,只能看到raid,系统不能对接在raid卡上的磁盘进行操作,当开关拨到另一位置时,操作系统同时看到raid以及raid卡上的各个磁盘,并且能对磁盘通过相关软件进行操作;
C、在数据恢复的时候,现有的数据恢复软件基本在windows系统下运行,在数据恢复工程师实施数据恢复的时候,只需要把相关软件安装上去,在本机上进行数据恢复相关操作,以便尽可能地保护用户数据的安全;
d、对于使用unix,Iinux操作系统的设备,存储上的数据盘需要与外界数据恢复工程师的计算设备相连,为了方便数据恢复,raid卡最好能提供对外的如USB的相关接口,该接口在平时不允许对设备进行连接,它的对外工作与否,应使用拨接开关控制,当需要raid卡通过USB接口对外连接时,通过拨接开关断开raid卡与主机一切逻辑连接;
通过上述措施,raid系统在raid —旦崩溃需要进行数据恢复的时候就能提供很大的方便;
(二)在raid系统出现掉盘时,raid系统维护一个有写操作的条带列表,raid系统自行快速重建,包括如下步骤;
a、对于raid系统出现掉盘之后,在没有设置热备盘的情况下,raid会出现降级,这时掉线盘不会进行数据的读写,所有的数据的读写由其他盘承担,并且开始维护一个列表,并记录从掉盘开始的raid各条带的写情况;
b、由于在很多情况下,磁盘掉盘并不是磁盘出现严重问题,有可能是磁盘在做IO操作的是没有来得及响应,以至于raid系统误判该盘已经不能正常工作了 ;
C、因此为了减少投资,raid系统尽快回复正常,raid卡应该保持对掉线盘进行唤醒操作,如果在唤醒多次后,磁盘依然没有正确回应,这时raid卡应该把该磁盘当成出现了严重的故障,后续管理员应该让该盘完全脱离raid,并把掉盘情况,唤醒情况,相关故障诊断情况,采取的措施写入raid卡日志及系统日志,同时把以前维护的掉盘开始的raid各条带的写记录情况清除;
d、如果唤醒通过,raid卡应该把原来掉线的磁盘与其他成员盘一起工作,承担数据的读写,即新写入的数据写入raid当中所有的磁盘,原来掉线期间的数据,根据raid卡维护的列表通过读改写的方式重新进行写入所有的盘,这样就避免需要重新添加新盘,全盘重建的情况;
Raid需要维护的列表就是掉盘时间段具体有哪些条带组中的条带内容进行了改变,假设当raid完成了条带组4的写入,然后磁盘3出现掉盘,这时raid5会降级成raidO,继续的把数据写入磁盘I和磁盘2用P表示校验条带,如PO表示O号条带组的校验条带,条带组η及以后表示raid通过磁盘唤醒,磁盘3又重新加入到raid当中,并且一起与其他盘一起进行了数据存储,这样也就是只有条带组4到条带组η之间的条带组需要进行恢复,因此根据条带数据结构,把掉盘时间段的数据重建就行了,这样就大大节省了 raid重建的时间;
(三)快速raid重建过程实现,raid系统是根据优先级进行读写调度,以便前端系统与存储交互时能继续正常进行,具体重建步骤如下:
a、raid重建是否启动需要对现在raid的io情况进行监测,如果现阶段raid的IO很繁忙,则暂时停止重建,也即raid重建的IO优先级放在最低;
b、当raid的io相对比较空闲的时候,raid卡系统根据前面维护的条带写列表找出在raid掉盘期间那些条带进行了改变,然后读出其中的一个条带组中原来运行良好的磁盘中的数据,由于原来的raid类型是raid5,掉盘以后raid会降级,变成raidO,因此剩余的那些盘的条带当中存储的全部都是数据,没有校验数据;
C、如果要恢复整个raid5系统,必须确定在一个条带组当中,哪个磁盘条带用来存放校验数据,这需要扫描前面的条带组,得出raid系统的数据结构到底是左同步,左异步,右同步,右异步,常规还是非常规的数据存储结构形式,最后确定出条带组中哪个磁盘条带用来存放校验数据,最后确定出该raid的数据结构形式,如要确定需要重建部分的数据存储结构,确定出校验条带如何存放,如能够扫描前面的4个条带组,就能得出这是常规左异步结构,当然也能根据raid开始设定的数据存储结构,计算出各个条带组的数据存放方式;
d、确定出了数据的结构形式后,对刚才读取的数据计算出校验数据,完成后把各条带数据按照前面确定的数据结构形式写入磁盘,这样就完成了维护列表当中的一个条带组数据的重建,重建完成后还需要把该条带组从维护的数据列表当中删除;
e、按照前面的步骤进行下一个条带组的重建过程,直到维护列表中的条带组全部恢复完成。本发明的有益效果:通过本发明的方法可以在硬件raid卡与计算机系统在数据出现损坏的时候如何更好的交互以方便后面的数据修复,以及在数据修复期间如何提高修复速度。


图1是raid板卡结构示意 图2是raid5掉盘并被唤醒情况示意图。
具体实施例方式下面结合附图对本发明的方法作进一步详细说明。本发明主要从3个方面提出用于数据恢复和自修复的raid系统实现方法。(一)实现在raid出现严重故障,需要人为干预并进行数据恢复时,raid系统与数据恢复系统交互。为了达到方便数据恢复工作更好的进行,raid板卡添加功能设计
a、对于raid系统在正常运行的时候,操作系统不需要与磁盘交互,只是在出现故障的时候,操作系统才需要与磁盘进行交互。对于这种情况,raid卡可以把与系统cpu连接的接口设计成复用端口;
b、该复用端口可以用如下方法实现,使用拨接开关(或者相关类似方法),当拨接开关拨到某一位置(假设为A位置)时,操作系统看不到底部的磁盘,只能看到raid,系统不能对接在raid卡上的磁盘进行操作。当开关拨到另一位置(假设为B位置)时,操作系统可以同时看到raid以及raid卡上的各个磁盘,并且能对磁盘通过相关软件进行操作;
C、上面的设计方式对于windows系统比较实用,在数据恢复的时候,现有的数据恢复软件基本在windows系统下运行,在数据恢复工程师设施数据恢复的时候,只需要把相关软件安装上去,在本机上进行数据恢复相关操作。这可以尽可能的保护用户数据的安全; d、因为现在很多服务器,存储等设备的操作系统都是unix,Iinux等操作系统,现在的数据恢复软件暂时不能在上面运行。而已在很多时候存储上的数据盘还是需要与外界数据恢复工程师的计算设备相连,为了数据恢复的方便,raid卡最好能提供对外的如USB等相关接口。该接口在平时不允许对进行连接,它的对外工作与否也使用通过上面提到的拨接开关控制。当拨接开关拨到假设为C位置时raid卡可以通过USB接口对外连接,并且断开raid卡与主机一切逻辑连接。这样对于raid系统就可以在raid —旦崩溃需要进行数据恢复的时候提供很大的方便。(二)在raid系统出现掉盘,raid系统维护一个有写操作的条带列表,根据数据的有raid系统自行快速重建。(以raid5为例,因为raid5现在使用比较多,安全性,性能各方面相对都比较好。)
a、对于raid系统出现掉盘(单个盘掉盘)之后,在没有设置热备盘的情况下,raid会出现降级,这时掉线盘不会进行数据的读写,所有的数据的读写由其他盘承担。并且开始维护一个列表,并记录从掉盘开始的raid各条带的写情况;
b、由于在很多情况下,磁盘掉盘并不是磁盘出现严重问题,有可能是磁盘在做IO操作的是没有来得及响应,以至于raid系统以为该盘已经不能正常工作了 ;
C、因此为了减少投资,raid系统尽快回复正常,raid卡应该保持对掉线盘进行唤醒操作,如果在唤醒多次后,比如5次,磁盘依然没有正确回应,这时raid卡应该把该磁盘当成出现了严重的故障,让该盘完全脱离raid,并把掉盘情况,唤醒情况,相关故障诊断情况,后续管理员应该采取的措施写入raid卡日志及系统日志。同时把以前维护的掉盘开始的raid各条带的写记录情况清除;
d、如果唤醒通过,raid卡应该把原来掉线的磁盘与其他成员盘一起工作,承担数据的读写。即新写入的数据写入raid当中所有的磁盘,原来掉线期间的数据,根据raid卡维护的列表通过读改写的方式重新进行写入所有的盘。这样就避免需要重新添加新盘,全盘重建的情况。如图2,Raid需要维护的列表就是掉盘时间段具体有哪些条带组中的条带内容进行了改变。假设当raid完成了条带组4的写入,然后磁盘3出现掉盘,这是raid5会降级成raidO,继续的把数据写入磁盘I和磁盘2。图2中P表示校验条带,如PO表示O号条带组的校验条带。表格里的数字表示条带逻辑顺序。条带组η及以后表示raid通过磁盘唤醒,磁盘3又重新加入到raid当中,并且一起与其他盘一起进行了数据存储,这样也就是只有条带组4到条带组η之间的条带组需要进行恢复,因此根据条带数据结构,把掉盘时间段的数据重建就行了,这样就大大节省了 raid重建的时间。(三)快速raid重建过程的具体重建步骤:实现raid系统根据优先级进行读写调度,以便前端系统与存储交互时能继续正常进行。(该重建与现在常用的raid全盘重建是不同的)
a、raid重建是否启动需要对现在raid的io情况进行监测,如果现阶段raid的IO很繁忙,则暂时停止重建。也即raid重建的IO优先级放在最低;
b、当raid的io相对比较空闲的时候,raid卡系统根据前面维护的条带写列表找出在raid掉盘期间那些条带进行了改变,然后读出其中的一个条带组中原来运行良好的磁盘中的数据。由于原来的raid类型是raid5,掉盘以后raid会降级,变成raidO,因此剩余的那些盘的条带当中存储的全部都是数据,没有校验数据;
C、如果要恢复整个raid5系统,必须确定在一个条带组当中,那个磁盘条带用来存放校验数据,这需要扫描前面的条带组,得出raid系统的数据结构到底是左同步,左异步,右同步,右异步,常规还是非常规的数据存储结构形式,最后确定出条带组中哪个磁盘条带用来存放校验数据,最后确定出该raid的数据结构形式。如图2所示,如要确定需要重建部分的数据存储结构,确定出校验条带如何存放,如可以扫描前面的4个条带组,就可以得出这是常规左异步结构。当然也可以根据raid开始设定的数据存储结构,计算出各个条带组的数据存放方式;
d、确定出了数据的结构形式后,对刚才读取的数据计算出校验数据,完成后把各条带数据按照前面确定的数据结构形式写入磁盘。这样就完成了维护列表当中的一个条带组数据的重建,重建完成后还需要把该条带组从维护的数据列表当中删除;
e、按照前面的步骤进行下一个条带组的重建过程,直到维护列表中的条带组全部恢复完成。除本发明的说明书公开的技术特征外均为本专业技术人员的公职技术。
权利要求
1.一种用于数据恢复及自修复的raid卡设计方法,其特征在于,具体步骤如下: (一)在raid出现严重故障需要人为干预并进行数据恢复时,raid系统与数据恢复系统交互,为了达到方便数据恢复工作更好的进行,raid板卡添加功能设计如下: a、对于raid系统在正常运行的时候,操作系统不需要与磁盘交互,只是在出现故障的时候,操作系统才需要与磁盘进行交互,对于这种情况,raid卡把与系统cpu连接的接口设计成复用端口; b、该复用端口用如下方法实现,使用拨接开关进行切换,当将开关拨到某一位置时,操作系统看不到底部的磁盘,只能看到raid,系统不能对接在raid卡上的磁盘进行操作,当开关拨到另一位置时,操作系统同时看到raid以及raid卡上的各个磁盘,并且能对磁盘通过相关软件进行操作; C、在数据恢复的时候,现有的数据恢复软件基本在windows系统下运行,在数据恢复工程师实施数据恢复的时候,只需要把相关软件安装上去,在本机上进行数据恢复相关操作,以便尽可能地保护用户数据的安全; d、对于使用unix,Iinux操作系统的设备,存储上的数据盘需要与外界数据恢复工程师的计算设备相连,为了方便数据恢复,raid卡最好能提供对外的如USB的相关接口,该接口在平时不允许对设备进行连接,它的对外工作与否,应使用拨接开关控制,当需要raid卡通过USB接口对外连接时,通过拨接开关断开raid卡与主机一切逻辑连接; 通过上述措施,raid系统在raid —旦崩溃需要进行数据恢复的时候就能提供很大的方便; (二)在raid系统出现掉盘时,raid系统维护一个有写操作的条带列表,raid系统自行快速重建,包括如下步骤; a、对于raid系统出现掉盘之后,在没有设置热备盘的情况下,raid会出现降级,这时掉线盘不会进行数据的读写,所有的数据的读写由其他盘承担,并且开始维护一个列表,并记录从掉盘开始的raid各条带的写情况; b、由于在很多情况下,磁盘掉盘并不是磁盘出现严重问题,有可能是磁盘在做IO操作的是没有来得及响应,以至于raid系统误判该盘已经不能正常工作了 ; C、因此为了减少投资,raid系统尽快回复正常,raid卡应该保持对掉线盘进行唤醒操作,如果在唤醒多次后,磁盘依然没有正确回应,这时raid卡应该把该磁盘当成出现了严重的故障,后续管理员应该让该盘完全脱离raid,并把掉盘情况,唤醒情况,相关故障诊断情况,采取的措施写入raid卡日志及系统日志,同时把以前维护的掉盘开始的raid各条带的写记录情况清除; d、如果唤醒通过,raid卡应该把原来掉线的磁盘与其他成员盘一起工作,承担数据的读写,即新写入的数据写入raid当中所有的磁盘,原来掉线期间的数据,根据raid卡维护的列表通过读改写的方式重新进行写入所有的盘,这样就避免需要重新添加新盘,全盘重建的情况; Raid需要维护的列表就是掉盘时间段具体有哪些条带组中的条带内容进行了改变,假设当raid完成了条带组4的写入,然后磁盘3出现掉盘,这时raid5会降级成raidO,继续的把数据写入磁盘I和磁盘2用P表示校验条带,如PO表示O号条带组的校验条带,条带组η及以后表示raid通过磁盘唤醒,磁盘3又重新加入到raid当中,并且一起与其他盘一起进行了数据存储,这样也就是只有条带组4到条带组η之间的条带组需要进行恢复,因此根据条带数据结构,把掉盘时间段的数据重建就行了,这样就大大节省了 raid重建的时间; (三)快速raid重建过程实现,raid系统是根据优先级进行读写调度,以便前端系统与存储交互时能继续正常进行,具体重建步骤如下: a、raid重建是否启动需要对现在raid的io情况进行监测,如果现阶段raid的IO很繁忙,则暂时停止重建,也即raid重建的IO优先级放在最低; b、当raid的io相对比较空闲的时候,raid卡系统根据前面维护的条带写列表找出在raid掉盘期间那些条带进行了改变,然后读出其中的一个条带组中原来运行良好的磁盘中的数据,由于原来的raid类型是raid5,掉盘以后raid会降级,变成raidO,因此剩余的那些盘的条带当中存储的全部都是数据,没有校验数据; C、如果要恢复整个raid5系统,必须确定在一个条带组当中,哪个磁盘条带用来存放校验数据,这需要扫描前面的条带组,得出raid系统的数据结构到底是左同步,左异步,右同步,右异步,常规还是非常规的数据存 储结构形式,最后确定出条带组中哪个磁盘条带用来存放校验数据,最后确定出该raid的数据结构形式,如要确定需要重建部分的数据存储结构,确定出校验条带如何存放,如能够扫描前面的4个条带组,就能得出这是常规左异步结构,当然也能根据raid开始设定的数据存储结构,计算出各个条带组的数据存放方式; d、确定出了数据的结构形式后,对刚才读取的数据计算出校验数据,完成后把各条带数据按照前面确定的数据结构形式写入磁盘,这样就完成了维护列表当中的一个条带组数据的重建,重建完成后还需要把该条带组从维护的数据列表当中删除; e、按照前面的步骤进行下一个条带组的重建过程,直到维护列表中的条带组全部恢复完成。
全文摘要
本发明提供一种用于数据恢复及自修复的raid卡设计方法,具体步骤如下在raid出现严重故障需要人为干预并进行数据恢复时,raid系统与数据恢复系统交互,为了达到方便数据恢复工作更好的进行,raid板卡添加功能设计如下a、对于raid系统在正常运行的时候,操作系统不需要与磁盘交互,只是在出现故障的时候,操作系统才需要与磁盘进行交互,对于这种情况,raid卡把与系统cpu连接的接口设计成复用端口;b、该复用端口用如下方法实现,使用拨接开关进行切换,当将开关拨到某一位置时,操作系统看不到底部的磁盘,只能看到raid,系统不能对接在raid卡上的磁盘进行操作,当开关拨到另一位置时,操作系统同时看到raid以及raid卡上的各个磁盘,并且能对磁盘通过相关软件进行操作。
文档编号G06F11/14GK103116474SQ201310028448
公开日2013年5月22日 申请日期2013年1月25日 优先权日2013年1月25日
发明者肖健明 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1