[發明專利]一種邏輯卷管理中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.szxzyx.cn/pat/books/202010049603.6/1.html,轉載請聲明來源鉆瓜專利網。





