Metadata recovery methods are applied to storage devices, including processors and hard disks. The hard disk includes logical units, and the logic unit has metadata. The hard disk stores the layout information of the metadata, and the address of the layout information stored in the hard disk is the source address. When partial metadata in the metadata of the logical unit is corrupted, the processor backup the layout information of the metadata to the target address to produce a copy of the layout information. The processor then fixes the metadata and verifies that the repaired metadata is correct. If the validation result is incorrect, the processor then writes a copy of layout information to the source address. If the metadata repair fails, you can rollback metadata back to the pre - fix state.
【技术实现步骤摘要】
一种元数据修复方法和装置
本专利技术实施例涉及存储
,特别是一种元数据修复方法和装置。
技术介绍
目前,存储设备面临的普遍问题是元数据的种类多、数量大。元数据一旦损坏,会导致大量数据无法访问,造成用户数据丢失。一般情况下,当元数据发生损坏时会对损坏的元数据进行原址修复,而原址修复是一种破坏性的修改方式,一旦修复过程中有任何异常(如阵列控制器复位、资源申请不到等),整个修复过程不可逆,无法恢复到修复前状态。
技术实现思路
本申请提供的一种元数据修复方法及装置,可以在元数据修复不成功的情况下,将元数据回退到修复前的状态。本申请第一方面提供了一种元数据修复方法该方法应用于存储设备中,该存储设备包括处理器和硬盘。硬盘包括逻辑单元,逻辑单元具有元数据。该硬盘中保存有该元数据的布局信息,布局信息保存在该硬盘中的地址为源地址。当该逻辑单元的元数据中的部分元数据发生损坏时,处理器将该元数据的布局信息备份至目标地址以生成该布局信息的副本。然后,处理器对该元数据进行修复,并验证修复后的元数据是否正确。如果验证结果为不正确,处理器再将布局信息的副本写入该源地址。本申请在对元数据修复之前,先将所述元数据的布局信息备份至目标地址以生成所述布局信息的副本。然后,再对所述元数据进行修复,即使修复出的元数据不正确,也可以将所述布局信息的副本重新写入所述源地址,以将所述元数据回退到修复前的状态。结合第一方面,在第一方面的第一种实现中,该存储设备还包括存储器。该存储器中保存有源B+树,该源B+树的每个节点在该硬盘中分配有一个元数据块。该元数据块中保存有该元数据的子集或者该元数据的索引。该元 ...
【技术保护点】
一种元数据修复方法,其特征在于,所述方法应用于存储设备中,所述存储设备包括处理器和硬盘,所述硬盘包括逻辑单元,所述逻辑单元具有元数据,所述硬盘中保存有所述元数据的布局信息,所述布局信息保存在所述硬盘中的地址为源地址,所述方法由处理器执行,包括:当所述逻辑单元的元数据中的部分元数据发生损坏时,将所述元数据的布局信息备份至目标地址以生成所述布局信息的副本;对所述元数据进行修复;验证所述修复后的元数据是否正确;当所述修复后的元数据不正确时,将所述布局信息的副本写入所述源地址。
【技术特征摘要】
1.一种元数据修复方法,其特征在于,所述方法应用于存储设备中,所述存储设备包括处理器和硬盘,所述硬盘包括逻辑单元,所述逻辑单元具有元数据,所述硬盘中保存有所述元数据的布局信息,所述布局信息保存在所述硬盘中的地址为源地址,所述方法由处理器执行,包括:当所述逻辑单元的元数据中的部分元数据发生损坏时,将所述元数据的布局信息备份至目标地址以生成所述布局信息的副本;对所述元数据进行修复;验证所述修复后的元数据是否正确;当所述修复后的元数据不正确时,将所述布局信息的副本写入所述源地址。2.根据权利要求1所述的方法,其特征在于,所述存储设备还包括存储器,所述存储器中保存有源B+树,所述源B+树的每个节点在所述硬盘中分配有一个元数据块,所述元数据块中保存有所述元数据的子集或者所述元数据的索引,所述元数据的布局信息包括所述源B+树的根节点的标识。3.根据权利要求2所述的方法,其特征在于,所述对所述元数据进行修复包括:对所述源地址中保存的布局信息进行修改;修复所述发生损坏的元数据;根据所述修改后的布局信息、未发生损坏的元数据以及所述修复出的元数据创建目标B+树。4.根据权利要求3所述的方法,其特征在于,还包括:为所述目标B+树的每个节点在所述硬盘中分配元数据块,所述目标B+树的元数据块用于保存所述未发生损坏的元数据、所述修复出的元数据、所述未发生损坏的元数据的索引以及所述修复出的元数据的索引,所述目标B+树的每个节点的元数据块与所述源B+树的每个节点的元数据块不相同。5.根据权利要求4所述的方法,其特征在于,所述验证所述修复后的元数据是否正确包括:接收读数据请求,所述读数据请求包括待读取数据的逻辑地址;判断是否能够根据所述逻辑地址以及所述目标B+树的元数据块中记录的所述修复出的元数据读取待读取数据。6.根据权利要求3-5任一所述的方法,其特征在于,在所述将所述布局信息的副本写入所述源地址之后还包括:删除所述目标B+树;释放所述目标B+树的每个节点的元数据块。7.一种元数据修复装置,其特征在于...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。