admin管理员组

文章数量:1586761

ZFS文件系统数据恢复的方法

  • 前言
  • 通常处理方法
    • 网上的资料介绍还有个尝试的选项:
  • 恢复数据的方法
  • Python的实现:
    • 解析元数据:
    • 恢复文件:

前言

ZFS是一个非常稳定可靠的文件系统,但是还是有一定几率会出现系统坏掉,用户数据不能读取出来的情况。如果一个ZFS存储同时连接到2个控制器,两个控制器同时zpool import池,由于元数据覆盖,就会出现整个文件系统坏掉。

通常处理方法

首先应该参考官网:https://docs.oracle/cd/E26926_01/html/E25826/gbbwl.html#scrolltoc
其中修复 ZFS 存储池范围内的损坏的方法依次如下:
1.可以尝试使用 zpool clear -F 命令或 zpool import - F 命令恢复池。这些命令尝试回滚最后几次池事务,使其回到运行状态。可以使用 zpool status 命令查看损坏的池和建议的恢复步骤.
zpool clear -F tpool
zpool import tpool
zpool import -F tpool

2.您可以在只读模式下导入受损的池。此方法使您可以导入该池,从而可以访问数据。
zpool import -o readonly=on tpool

3.您可以使用 zpool import -m 命令导入缺少日志设备的池。

4.如果无法使用上述池恢复方法恢复池,则必须从备份副本中恢复池及其所有数据。所用的机制通常随池配置和备份策略的不同而有很大差别。首先,保存 zpool status 命令所显示的配置,以便在销毁池后可以重新创建它。然后,使用 zpool destroy -f 命令销毁池。此外,将描述数据

本文标签: 文件系统数据恢复方法zfs