[发明专利]一种逻辑卷管理中raid6缺失磁盘的数据恢复方法有效
申请号: | 202010049603.6 | 申请日: | 2020-01-16 |
公开(公告)号: | CN111258807B | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 梁效宁 | 申请(专利权)人: | 四川效率源科技有限责任公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10;G06F3/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 641000 四川省成都市中国(四川)自由贸易*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 逻辑 管理 raid6 缺失 磁盘 数据 恢复 方法 | ||
1.一种逻辑卷管理中raid6缺失磁盘的数据恢复方法,其特征在于包括以下步骤:
S100:加载逻辑卷管理中raid的各个磁盘,其中,逻辑卷管理的raid分配至一个或多个磁盘上,各个磁盘包含数据条带、校验值P条带及校验值Q条带,所述数据条带用以存储用户数据,所述校验值P条带用以存储校验值P,所述校验值Q条带用以存储校验值Q;
S200:解析逻辑卷管理的配置区域的数据,获取逻辑卷管理的raid类型、磁盘数量、条带大小、组织方式及旋转方向,包括以下步骤:
S201:根据各个物理卷的配置区域的偏移地址,寻址并解析各个物理卷的所述配置区域的描述信息,获取所述配置区域的数据的偏移地址及所述配置区域的数据的字节长度;
S202:寻址所述配置区域的数据的偏移地址,并根据所述配置区域的数据的字节长度获取所述配置区域的数据;
S203:解析所述配置区域的数据,获取逻辑卷管理的raid类型、磁盘数量、条带大小、组织方式及旋转方向;
S300:判断逻辑卷管理的类型是否为raid6系列,如果是,执行步骤S400,否则,结束流程;
S400:获取未缺失磁盘的逻辑卷并记录缺失的逻辑卷的磁盘序号及磁盘个数;
S500:恢复缺失磁盘的数据,包括以下步骤;
S510:伽罗华域GF(28)中,采用本原多项式为0x11d并生成如下表一所示的伽罗华域正表及表二所示的伽罗华域反表,用以恢复逻辑卷管理中raid6缺失磁盘的数据:
表一:伽罗华域正表
表二:伽罗华域反表
S520:获取伽罗华域正表第n个值作为第n个磁盘的系数Kn,其中,n为对应磁盘的序号且n为不小于0、不大于255的整数;
S530:定义伽罗华域的乘法公式为:
X*Y=GFILOG[(GFLOG[X]+GFLOG[Y])mod 255]
定义伽罗华域的除法公式为:
X/Y=GFILOG[(GFLOG[X]-GFLOG[Y])mod 255]
其中,X、Y为伽罗华域中的值且均为不小于0、不大于255的整数;
S540:判断逻辑卷管理中raid6是否缺失一块磁盘,如果是,执行步骤S560,否则执行步骤S550;
S550:判断逻辑卷管理中raid6是否缺失二块磁盘,如果是,执行步骤S570,否则,结束流程;
S560:根据所获取的系数Kn及未缺失磁盘的逻辑卷,对逻辑卷管理中raid6缺失一块磁盘的数据进行恢复,执行步骤S600;步骤S560包括如下步骤:
情况1:对逻辑卷管理中raid6缺失一块磁盘中包含校验值P的情况下进行数据恢复后,执行步骤S600,数据恢复方法包括:
设A、B、C为数据条带中存储的用户数据,分别存储于第i、第j及第m个磁盘中,P为校验值P条带存储的校验值P,按下述第一公式计算并获取缺失的校验值P:
P=A⊕B⊕C
其中,运算符号⊕表示异或加;
情况2:对逻辑卷管理中raid6缺失一块磁盘中包含校验值Q的情况下对校验值Q条带进行数据恢复后,执行步骤S600,数据恢复方法包括:
设A、B、C为数据条带中存储的用户数据,分别存储于第i、第j及第m个磁盘中;Q为校验值Q条带存储的校验值Q;Ki、Kj及Km分别表示从伽罗华域正表中所获取的第i、第j及第m个值,并各个作为第i、第j及第m个磁盘的系数,......以此类推,其中,i、j及m均为磁盘序号且为不小于0、不大于255的整数;
按下述第二公式计算并获取缺失的校验值Q:
Q=A*Ki⊕B*Kj⊕C*Km
其中,运算符号⊕表示异或加,运算符号*表示伽罗华域中的所述乘法;
情况3:对逻辑卷管理中raid6缺失一块磁盘中包含数据条带的情况下进行数据条带数据恢复后,执行步骤S600,数据恢复方法包括:
设B、C为数据条带中存储的用户数据,分别存储于第j及第m个磁盘中,......以此类推,P为校验值P条带存储的校验值P,按所述第一公式的变形进行计算并获取缺失的数据A:
A=P⊕B⊕C
其中,运算符号⊕表示异或减;
S570:根据所获取的系数Kn及未缺失磁盘的逻辑卷,对逻辑卷管理中raid6缺失二块磁盘的数据进行恢复;步骤S570包括以下步骤:
情况1:对逻辑卷管理中raid6缺失二块磁盘中包含校验值P及校验值Q的情况下进行数据恢复后,执行步骤S600,数据恢复方法包括:
采用所述第一公式及第二公式进行计算并获取缺失的校验值P及校验值Q;
情况2:对逻辑卷管理中raid6缺失二块磁盘中包含校验值P及数据条带的情况下进行数据恢复后,执行步骤S600,数据恢复方法包括:
设A、C为数据条带中存储的用户数据,分别存储于第i及第m个磁盘中,Q为校验值Q条带存储的校验值Q,Ki及Km分别表示从伽罗华域正表中所获取的第i及第m个值,并各个作为第i及第m个磁盘的系数,......以此类推,其中,i、m均为磁盘序号且为不小于0、不大于255的整数;按所述第二公式的变形进行计算并获取缺失的数据B:
B=(Q⊕A*Ki⊕C*Km)/Kj
其中,运算符号⊕表示异或减,运算符号*表示伽罗华域中的所述乘法,运算符号/表示伽罗华域中的所述除法;
获取数据B后,按所述第一公式恢复校验值P;
情况3:对逻辑卷管理中raid6缺失二块磁盘中包含校验值Q及数据条带的情况下进行数据恢复后,执行步骤S600,数据恢复方法包括:
设B、C为数据条带中存储的用户数据,分别存储于第j及第m个磁盘中;Kj及Km分别表示从伽罗华域正表中所获取的第j及第m个值,并各个作为第j及第m个磁盘的系数,......以此类推,其中,j及m均为磁盘序号且为不小于0、不大于255的整数,P为校验值P条带存储的校验值P,按所述第一公式的变形进行计算并获取缺失的数据A:
A=P⊕B⊕C
其中,运算符号⊕表示异或减;
获取A后,按所述第二公式计算并获取缺失的校验值Q:
Q=A*Ki⊕B*Kj⊕C*Km
其中,运算符号⊕表示异或加,运算符号*表示伽罗华域中的所述乘法;
情况4:对逻辑卷管理中raid6缺失二块磁盘均为数据条带的情况下进行数据恢复后,执行步骤S600,数据恢复方法包括:
设A、B、C为数据条带中存储的用户数据,分别存储于第i、第j及第m个磁盘中;P为校验值P条带存储的校验值P;Q为校验值Q条带存储的校验值Q;Ki、Kj及Km分别表示从伽罗华域正表中所获取的第i、第j及第m个值,并各个作为第i、第j及第m个磁盘的系数,......以此类推,其中,i、j及m均为磁盘序号且为不小于0、不大于255的整数;已知C、P、Q,按所述第一、第二公式的变形进行计算并获取缺失的数据A、B:
P=A⊕B⊕C
Q=A*Ki⊕B*Kj⊕C*Km
A=P⊕B⊕C
Q=(P⊕B⊕C)*Ki⊕B*Kj⊕C*Km
Q=P*Ki⊕B*Ki⊕C*Ki⊕B*Kj⊕C*Km
Q=P*Ki⊕C*Ki⊕C*Km⊕B*Ki⊕B*Kj
Q⊕P*Ki⊕C*Ki⊕C*Km=(Ki+Kj)*B
根据上述的变形及计算,获取缺失的数据A、B:
B=(Q⊕P*Ki⊕C*Ki⊕C*Km)/(Ki+Kj)
A=P⊕B⊕C
其中,运算符号⊕表示异或加/减,运算符号*表示伽罗华域中的所述乘法,运算符号/表示伽罗华域中的所述除法,运算符号+表示加法;
S600:按照基于元数据的raid数据恢复方法恢复数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川效率源科技有限责任公司,未经四川效率源科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010049603.6/1.html,转载请声明来源钻瓜专利网。