《一种RAID类型判断方法.pdf》由会员分享,可在线阅读,更多相关《一种RAID类型判断方法.pdf(8页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102866933 A (43)申请公布日 2013.01.09 C N 1 0 2 8 6 6 9 3 3 A *CN102866933A* (21)申请号 201210321888.X (22)申请日 2012.09.03 G06F 11/10(2006.01) (71)申请人厦门市美亚柏科信息股份有限公司 地址 361000 福建省厦门市软件园二期观日 路12号102-402单元 (72)发明人高志鹏 阙永明 范鑫 (74)专利代理机构厦门市首创君合专利事务所 有限公司 35204 代理人连耀忠 (54) 发明名称 一种RAID类型判断方法 (57) 摘要 本发。
2、明涉及一种RAID类型判断方法,步骤如 下:1)读取RAID系统中各硬盘相同地址的数据; 2)根据各种RAID类型中,各硬盘相同址的数据间 的关系,确定RAID类型。本发明的有益效果如下: 本发明所述的RAID类型判断方法,填补了本领域 内,关于RAID类型的判断的技术的空白,大大弥 补了某些RAID参数分析软件的不足。采用本发 明所述的技术方案,可以大大增加RAID重组技术 的智能性,节约时间,减少成本,降低工程师压力; 更重要的,可以避免因客户提供错误信息而带来 的更大损失。综上所述,本发明所述的方法作为本 领域内对空白技术的重要补充,而且具备多方面 的优越性,拥有广阔市场前景。 (51)。
3、Int.Cl. 权利要求书2页 说明书5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 5 页 1/2页 2 1.一种RAID类型判断方法,其特征在于,步骤如下: 1)读取RAID系统中各硬盘相同地址的数据; 2)根据各种RAID类型中,各硬盘相同址的数据间的关系,确定RAID类型。 2.根据权利要求1所述的RAID类型判断方法,其特征在于,步骤1)具体为:在RAID系 统中抽取任意一块硬盘,搜寻一个以上非全0扇区,记录地址并读取所述的扇区至内存;在 其余硬盘中搜寻相同地址的非全0扇区至内存,分别保存在内存中的区域S1、S2、S3、 Sn。 3.根据。
4、权利要求2所述的RAID类型判断方法,其特征在于,搜寻非全0扇区的范围为 整个磁盘容量区域。 4.根据权利要求2所述的RAID类型判断方法,其特征在于,步骤2)中,如果S1异或 S2异或S3、等于Sn,则确定当前RAID类型为RAID5。 5.根据权利要求1所述的RAID类型判断方法,其特征在于,步骤1)具体为:查找硬盘 中的主文件表(MFT),记录主文件表(MFT)中的文件记录数组的地址,在每个硬盘上读取文 件记录数组的地址的数据至内存中。 6.根据权利要求5所述的RAID类型判断方法,其特征在于,查找硬盘中的主文 件表(MFT)具体为:在RAID系统中抽取任意一块硬盘,搜索0x460x49。
5、0x4C0x45四个 字节,然后连续搜索32KB的区域,如果所述的32KB的区域中每KB的前四个字节均为 0x460x490x4C0x45,则停止搜索,记录当前地址;读取的文件记录数组的数据为1KB。 7.根据权利要求5所述的RAID类型判断方法,其特征在于,步骤2)具体为: 2.1)在读取的数据中的0x2C偏移处获得一个无符号整型变量; 2.2)对所述的整型变量进行升幂排序; 2.3)判断排序后的的无符号整型数据是否为等差,并且判断其差是否满足2的n次幂, 如果满足,确定该RAID类型为RAID0。 8.根据权利要求2所述的RAID类型判断方法,其特征在于,步骤2)中,排除S1、S2、 S3。
6、、Sn中的一个区域的数据,对其余数据进行异或运算,如果除最后一个数据的其他 在前数据依次异或的结果等于最后一个数据,而且排除的数据满足其它数据的里德-所罗 门编码运算,则确定该RAID类型为RAID6。 9.根据权利要求1所述的RAID类型判断方法,其特征在于,步骤1)具体为:在每个硬 盘上随机读取一个以上地址相同的非全0扇区。 10.根据权利要求9所述的RAID类型判断方法,其特征在于,如果每个硬盘的相同地址 的非全0扇区完全相等,则该RAID类型为RAID1。 11.根据权利要求1所述的RAID类型判断方法,其特征在于,步骤1)具体为:在每个 硬盘上并行搜索主引导(MBR)扇区,如果在某个。
7、硬盘上找到主引导(MBR)扇区,则设该硬盘 为RAID系统的1号盘。 12.根据权利要求11所述的RAID类型判断方法,其特征在于,步骤2)具体为: 2.1)从主引导(MBR)扇区中的0x01D6处提取一个32位整型作为扩展分区的起始地 址; 2.2)从扩展分区的扩展分区引导(EBR)扇区的0x01C6处提取一个32位整型作为第一 个分区的DBR扇区的起始地址; 权 利 要 求 书CN 102866933 A 2/2页 3 2.3)在所述的分区的DOS引导记录(DBR)扇区的0x30处获取其主文件表(MFT)的起 始地址; 2.4)依次读取主文件表(MFT)记录,如果每个记录的0x2C处提取的。
8、32位整型为连续 整数,该RAID类型为JBOD。 权 利 要 求 书CN 102866933 A 1/5页 4 一种 RAID 类型判断方法 技术领域 0001 本发明涉及计算机存储领域,更具体地说,涉及一种RAID类型判断方法。 背景技术 0002 RAID重组属于高端数据恢复技术的一种,涉及面广,技术含量高。但是因为耗费人 力资源众多、工序繁琐,成本奇高,收费也相当可观。 0003 RAID重组中,分析是最重要的环节,注意我们所指的RAID是对RAID0、RAID1、 RAID5、RAID6、JBOD等常用阵列而言。 0004 从RAID的原理来讲,其本质是利用多磁盘并行协作,达到扩容和。
9、增加吞吐量的目 的,所以,RAID必然有一套相当复杂的数据分配机制,既要保证数据按照协议规定的情形被 写在指定磁盘的指定位置,又要保证这种协议不会导致性能的损失,甚至要起到优化性能, 增强安全性的作用。 0005 当RAID系统崩溃时,其赖以生存的数据组织协议就不复存在。这样操作系统识别 RAID的抽象接口也将随之瓦解。此刻RAID由一个存储整体分割成了一个个磁盘单位。我 们无论从任何一块磁盘角度来看,里面的数据都毫无意义。 0006 RAID重组就是根据RAID协议中所描述的算法,利用程序模拟RAID本来面貌,从而 恢复数据的一种有效手段,是灾难拯救中非常重要的一环。 0007 由于RAID。
10、种类众多,大大增减了自动化分析的难度,所以迄今为止,手工分析仍 是RAID重组学科中的主流技术。 0008 即便拥有自动分析的软件,仍有一个主要问题无法解决,那就是RAID种类识别, 据统计80%的RAID数据恢复客户不清楚或错误地判断自己存储系统的RAID类型,给数据 恢复工程师造成误导,大大增加了分析难度。 0009 中国发明专利申请201010140518.7公开了一种远程智能监控与分析RAID故障的 方法,采用分布式数据处理模式,本地实时监视与预测RAID的工作状态,当发出现异常时, 本地计算机将与RAID相关的参数及RAID的工作状态发送至Web服务端,由服务端程序确 定告警的级别和。
11、相应的处理方案,并将告警信息与系统自动产生的故障解决方案及时告知 用户,本发明的有益效果是:RAID发生故障或异常时及时告知用户,避免因数据丢失带来 的损失。为用户提供远程的智能化的故障诊断与问题解决方案,帮助用户快速定位故障,并 迅速有效的解决问题。 0010 可是上述专利申请的技术方案是建立在确定RAID类型的基础上进行操作,如果 在不确定故障RAID类型的情况下进行恢复操作,容易误导数据恢复工程师做出错误的判 断,并造成时间上的浪费。如果依次尝试假设各种类型的RAID,则需要大量的时间进行操 作。特别是对于大存储量的RAID来说,恢复数据往往需要几十小时,或者上百小时。依次 尝试各种类型。
12、,将浪费大量的时间,并不可行。 发明内容 说 明 书CN 102866933 A 2/5页 5 0011 本发明的目的在于克服现有技术的不足,提供一种能够实现RAID类型的自动化 识别,而且速度极快,可以满足大多数数据恢复从业人员需求的RAID类型判断方法。 0012 本发明的技术方案如下: 0013 一种RAID类型判断方法,步骤如下: 0014 1)读取RAID系统中各硬盘相同地址的数据; 0015 2)根据各种RAID类型中,各硬盘相同址的数据间的关系,确定RAID类型。 0016 作为优选,步骤1)具体为:在RAID系统中抽取任意一块硬盘,搜寻一个以上非全 0扇区,记录地址并读取所述的。
13、扇区至内存;在其余硬盘中搜寻相同地址的非全0扇区至内 存,分别保存在内存中的区域S1、S2、S3、Sn。 0017 作为优选,搜寻非全0扇区的范围为整个磁盘容量区域。 0018 作为优选,步骤2)中,如果S1异或S2异或S3、等于Sn,则确定当前RAID 类型为RAID5。 0019 作为优选,步骤1)具体为:查找硬盘中的主文件表(MFT),记录主文件表(MFT)中 的文件记录数组的地址,在每个硬盘上读取文件记录数组的地址的数据至内存中。 0020 作为优选,查找硬盘中的主文件表(MFT)具体为:在RAID系统中抽取任意一块硬 盘,搜索0x460x490x4C0x45四个字节,然后连续搜索32。
14、KB的区域,如果所述的32KB的区域 中每KB的前四个字节均为0x460x490x4C0x45,则停止搜索,记录当前地址;读取的文件记 录数组的数据为1KB。 0021 作为优选,步骤2)具体为: 0022 2.1)在读取的数据中的0x2C偏移处获得一个无符号整型变量,记为a、b、c、 d、; 0023 2.2)对所述的整型变量进行升幂排序; 0024 2.3)判断排序后的的无符号整型数据是否为等差,并且判断其差是否满足2的n 次幂,如果满足,确定该RAID类型为RAID0。 0025 作为优选,步骤2)中,排除S1、S2、S3、Sn中的一个区域的数据,对其余数据 进行异或运算,如果除最后一个。
15、数据的其他在前数据依次异或的结果等于最后一个数据, 而且排除的数据满足其它数据的里德-所罗门编码运算,则确定该RAID类型为RAID6。 0026 作为优选,步骤1)具体为:在每个硬盘上随机读取一个以上地址相同的非全0扇 区。 0027 作为优选,如果每个硬盘的相同地址的非全0扇区完全相等,则该RAID类型为 RAID1。 0028 作为优选,步骤1)具体为:在每个硬盘上并行搜索主引导(MBR)扇区,如果在某个 硬盘上找到主引导(MBR)扇区,则设该硬盘为RAID系统的1号盘。 0029 作为优选,步骤2)具体为: 0030 2.1)从主引导(MBR)扇区中的0x01D6处提取一个32位整型作。
16、为扩展分区的起始 地址; 0031 2.2)从扩展分区的扩展分区引导(EBR)扇区的0x01C6处提取一个32位整型作为 第一个分区的DBR扇区的起始地址; 0032 2.3)在所述的分区的DOS引导记录(DBR)扇区的0x30处获取其主文件表(MFT) 说 明 书CN 102866933 A 3/5页 6 的起始地址; 0033 2.4)依次读取主文件表(MFT)记录,如果每个记录的0x2C处提取的32位整型为 连续整数,该RAID类型为JBOD。 0034 本发明的有益效果如下: 0035 本发明所述的RAID类型判断方法,填补了本领域内,关于RAID类型的判断的技术 的空白,大大弥补了某。
17、些RAID参数分析软件的不足。 0036 采用本发明所述的技术方案,可以大大增加RAID重组技术的智能性,节约时间, 减少成本,降低工程师压力;更重要的,可以避免因客户提供错误信息而带来的更大损失。 0037 综上所述,本发明所述的方法作为本领域内对空白技术的重要补充,而且具备多 方面的优越性,拥有广阔市场前景。 具体实施方式 0038 以下结合实施例对本发明进行进一步的详细说明。 0039 常用RAID种类有JBOD、RAID 0、RAID 1、RAID 5、RAID 6、RAID 10以及RAID 50 等,不同类型的RAID具有各自不同的数据存储规则。因此,本发明在对各种类型的RAID的。
18、 存储规则进行判断,从而进行RAID的类型的确认。步骤如下: 0040 1)读取RAID系统中各硬盘相同地址的数据; 0041 2)根据各种RAID类型中,各硬盘相同址的数据间的关系,确定RAID类型。 0042 RAID5的判断方法: 0043 步骤1、在RAID系统中抽取任意一块硬盘,搜寻一个以上非全0扇区,搜寻非全0 扇区的范围为整个磁盘容量区域;记录地址并读取所述的扇区至内存;在其余硬盘中搜寻 相同地址的非全0扇区至内存,分别保存在内存中的区域S1、S2、S3、Sn。 0044 步骤2、如果S1异或S2异或S3、等于Sn,则确定当前RAID类型为RAID5。 0045 实施例一 004。
19、6 在RAID系统中抽取任意一块硬盘,在整个磁盘容量区域内,搜寻1000个非全0扇 区。记录地址并读取这些扇区至内存; 0047 在其它磁盘的相同地址读取1000个非0扇区至内存中。内存区域我们用A、B、C、 D表示。比如阵列中有4块硬盘,我们就,分别读取到A、B、C、D中; 0048 对这数据进行异或运算,如果满足A异或B异或C等于D,可以确定该阵列是 RAID5,流程中止。 0049 RAID0的判断方法: 0050 步骤1、 0051 查找硬盘中的主文件表(MFT),记录主文件表(MFT)中的文件记录数组的地址,在 每个硬盘上读取文件记录数组的地址的数据至内存中。 0052 查找硬盘中的。
20、主文件表(MFT)具体为:在RAID系统中抽取任意一块硬盘,搜索 0x460x490x4C0x45四个字节,然后连续搜索32KB的区域,如果所述的32KB的区域中每KB 的前四个字节均为0x460x490x4C0x45,则停止搜索,记录当前地址;读取的文件记录数组 的数据为1KB。 0053 步骤2、 说 明 书CN 102866933 A 4/5页 7 0054 2.1)在读取的数据中的0x2C偏移处获得一个无符号整型变量; 0055 2.2)对所述的整型变量进行升幂排序; 0056 2.3)判断排序后的的无符号整型数据是否为等差,并且判断其差是否满足2的n 次幂,如果满足,确定该RAID类。
21、型为RAID0。 0057 实施例二 0058 搜索0x460x490x4C0x45四个字节,也就是MFT记录标记,搜索成功后继续搜索,如 果连续32KB的区域内,每KB中的前4个字节都是0x460x490x4C0x45,搜索停止,记录当前 地址到变量A中,否则继续搜索。 0059 在每块磁盘的变量地址处都读取1KB数据至内存中。 0060 在读取的数据中的0x2C偏移处获得一个无符号整型变量,我们记为a、b、c、d。 0061 对这些整型变量做升幂排序。 0062 判断这些无符号整型彼此的差是否相等,其差是否满足2的次幂,如果满足可以 确定该RAID为RAID0。仍以4块盘为例单位KB、a为。
22、32,b为64,c为96、d为128,它们的 彼此差为32,32又是2的5次方,那么条件满足,这4块硬盘是一个RAID0系统,本步骤同 时得出RAID条带块大小为32KB。 0063 RAID6的判断方法 0064 步骤1、在RAID系统中抽取任意一块硬盘,搜寻一个以上非全0扇区,搜寻非全0 扇区的范围为整个磁盘容量区域;记录地址并读取所述的扇区至内存;在其余硬盘中搜寻 相同地址的非全0扇区至内存,分别保存在内存中的区域S1、S2、S3、Sn。 0065 步骤2、排除S1、S2、S3、Sn中的一个区域的数据,对其余数据进行异或运算, 如果除最后一个数据的其他在前数据依次异或的结果等于最后一个数。
23、据,而且排除的数据 满足其它数据的里德-所罗门编码运算,则确定该RAID类型为RAID6。 0066 实施例三 0067 在RAID系统中抽取任意一块硬盘,在整个磁盘容量区域内,搜寻1000个非全0扇 区。记录地址并读取这些扇区至内存; 0068 在其它磁盘的相同地址读取1000个非0扇区至内存中。内存区域我们用A、B、C、 D表示。比如阵列中有4块硬盘,我们就,分别读取到A、B、C、D中; 0069 并在排除一块磁盘的情况下重复异或运算步骤。 0070 例如A、B、C、D、E、F6块内存区域,我们首先排除A,也就是看B、C、D、E、F是否满 足异或运算关系,如果是进行步骤10,如果不是排除B。
24、看A、C、D、E、F是否满足异或关系,以 此类推。 0071 判断排除掉的数据是否满足其它数据的里德所罗门编码运算,如果是则确定该阵 列为RAID6。 0072 RAID1的判断方法 0073 在每个硬盘上随机读取一个以上地址相同的非全0扇区。如果每个硬盘的相同地 址的非全0扇区完全相等,则该RAID类型为RAID1。 0074 实施例四 0075 如果磁盘数量只有两块,则随机抽取10000个非全0扇区并记录它们的地址。在 另一块磁盘的相同位置处共提取10000个非全0扇区,比较提取数据,如果完全相等,则为 说 明 书CN 102866933 A 5/5页 8 RAID1。 0076 JBOD。
25、的判断方法 0077 步骤1、在每个硬盘上并行搜索主引导(MBR)扇区,如果在某个硬盘上找到主引导 (MBR)扇区,则设该硬盘为RAID系统的1号盘。 0078 步骤2、 0079 2.1)从主引导(MBR)扇区中的0x01D6处提取一个32位整型作为扩展分区的起始 地址; 0080 2.2)从扩展分区的扩展分区引导(EBR)扇区的0x01C6处提取一个32位整型作为 第一个分区的DBR扇区的起始地址; 0081 2.3)在所述的分区的DOS引导记录(DBR)扇区的0x30处获取其主文件表(MFT) 的起始地址; 0082 2.4)依次读取主文件表(MFT)记录,如果每个记录的0x2C处提取的。
26、32位整型为 连续整数,该RAID类型为JBOD。 0083 实施例五 0084 如果磁盘数量大于2块,则在几块硬盘内并行搜索MBR扇区,如果在某块磁盘内找 到MBR扇区,则假设该磁盘为RAID系统的1号盘。 0085 从MBR中0x01D6处提取一个32位整型作为扩展分区的起始地址,从扩展分区的 EBR扇区的0x01C6处提取一个32位整型作为第一个分区的DBR扇区的起始地址,在该分区 DBR扇区的0x30处获取其MFT表的起始地址。依次读取MFT记录,大小1KB,判断每个记录 的0x2C处提取的32位整型是否满足连续的整数特性,如果满足,该RAID为JBOD。 0086 比如第一个记录0x2C处应当为0、第二个记录为1一直连续至N,就认为其满 足JBOD的特性。 0087 上述实施例仅是用来说明本发明,而并非用作对本发明的限定。只要是依据本发 明的技术实质,对上述实施例进行变化、变型等都将落在本发明的权利要求的范围内。 说 明 书CN 102866933 A 。