发明名称 |
数据恢复方法、存储设备和存储系统 |
摘要 |
本发明实施例提供了一种数据恢复方法,包括:确定所述存储设备的磁盘中发生故障的第一Chunk;将所述第一Chunk的空间属性设置为不能被访问的状态;在所述存储设备的存储空间中查找空闲的第二Chunk,所述第二Chunk的空间属性没有被设置为不能被访问的状态;恢复所述第一Chunk中存储的数据;将所述恢复出的数据写入所述第二Chunk中。可以在存储设备发生局部故障时,保证数据的可靠性。 |
申请公布号 |
CN103534688B |
申请公布日期 |
2016.03.09 |
申请号 |
CN201380000749.X |
申请日期 |
2013.05.29 |
申请人 |
华为技术有限公司 |
发明人 |
雷延钊 |
分类号 |
G06F11/14(2006.01)I;G06F17/30(2006.01)I |
主分类号 |
G06F11/14(2006.01)I |
代理机构 |
|
代理人 |
|
主权项 |
一种数据恢复方法,应用于存储设备中,所述存储设备包含多个磁盘,每个磁盘的存储空间被划分为多个数据块Chunk,其特征在于,所述方法包括:接收主机发送的数据访问请求,所述数据访问请求包括读数据请求或写数据请求或数据修改请求,所述数据访问请求包括主机逻辑单元号LUN的ID,访问地址和数据长度;执行所述数据访问请求;接收所述数据访问请求执行错误的响应请求,所述响应请求包括错误码,所述错误码用于指示所述存储设备的磁盘发生局部故障;根据所述主机LUN的ID获得设备逻辑单元Device LUN的ID;根据所述Device LUN的ID,所述访问地址和所述数据长度获得逻辑卷Logical Volume(LV)的ID、LV的逻辑地址和LV的长度;根据所述LV的ID、所述LV的逻辑地址和所述LV的长度获得数据分层迁移单元Extent的ID、Extent的逻辑地址和Extent的长度;根据所述Extent的ID、所述Extent的逻辑地址和所述Extent的长度确定数据块组CKG的ID,CKG的逻辑地址和CKG的长度;根据所述CKG的ID,所述CKG的逻辑地址和所述CKG的长度,在所述存储设备保存的所述CKG与chunk的对应关系中进行查询并计算,获得所述CKG中发生故障的第一Chunk;在恢复所述第一Chunk中存储的数据之前,将所述第一Chunk的空间属性设置为不能被访问的状态;在所述存储设备的存储空间中查找空闲的第二Chunk,所述第二Chunk的空间属性没有被设置为不能被访问的状态,所述第二Chunk所属的磁盘不同于所述第一Chunk所在的数据块组CKG中未发生故障的Chunk所属的磁盘;恢复所述第一Chunk中存储的数据;将所述恢复出的数据写入所述第二Chunk中。 |
地址 |
518129 广东省深圳市龙岗区坂田华为总部办公楼 |