zfs 会在访问文件时记录下问题文件,也可用使用 scrub 来扫描文件,其中 poolname 是卷名。

zpool scrub poolname

问题文件可以通过 status 列出

zpool status -v

错误比较多的话,可以考虑通过镜像还原。

zfs rollback poolname/path@tag

少的话也可以手动恢复问题文件。

错误中不是 / 开头,而且带有 @tag 这样标签的是 ZFS 镜像。镜像本质是备份,备份出错了可能最简单的办法就是删除了,下面的命令用于删除镜像

zfs destroy poolname/path@tag

错误比较少,文件不重要可以删除,如果重要并且有备份可以从备份中恢复。不过被删除或者被覆盖的文件不会立即被释放,如果想请空 zpool status -v 中已删除文件的错误,可以执行 zpool scrub poolname,等几分钟再通过 zpool scrub -s poolname 停止。