zfs “rpool/USERDATA” 中的“永久错误”

zfs “rpool/USERDATA” 中的“永久错误”

zpool statuts -v给了我Permanent errors,我想知道如何修复它们:

❯  sudo zpool status -v
Insert authentication card for user `franck'
[sudo] Mot de passe de franck : 
  pool: bpool
 state: ONLINE
config:

        NAME                                    STATE     READ WRITE CKSUM
        bpool                                   ONLINE       0     0     0
          0f41ddf7-006b-9641-852a-c77eebf4ad89  ONLINE       0     0     0

errors: No known data errors

  pool: rpool
 state: ONLINE
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-8A
  scan: scrub repaired 0B in 00:07:34 with 6 errors on Tue May  9 16:57:56 2023
config:

        NAME                                                 STATE     READ WRITE CKSUM
        rpool                                                ONLINE       0     0     0
          10c839c4-470f-094f-a176-ee56727ec520               ONLINE       8     0     0
          nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0R857127E  ONLINE       0     0     0

errors: Permanent errors have been detected in the following files:

        rpool/USERDATA/franck_4tpcmt:<0x2f1d1c>
        rpool/USERDATA/franck_4tpcmt:<0x3d0d74>
        rpool/USERDATA/franck_4tpcmt:<0x273da2>
        rpool/USERDATA/franck_4tpcmt:<0xcd6ba>
        rpool/USERDATA/franck_4tpcmt:<0x2aadc6>
        rpool/USERDATA/franck_4tpcmt:<0x3d0df0>

我不确定这代表什么,而且我对后面的内容rpool/USERDATA/franck_4tpcmt更加困惑。:<xxxxx>

这是什么意思,以及如何修复“永久性错误”?

答案1

看着类似问题,这似乎是损坏/孤立的 inode(<0x2f1d1c>是 inode ID)的问题,可能是因为该文件已被删除,但该 inode 仍被 ZFS 引用。

解决方案似乎是强制清理:

sudo zpool scrub rpool

如果完整的清理不能清除错误,建议启动清理,让其运行一段时间,然后使用以下命令强制其再次停止:

sudo zpool scrub -s rpool

此外,如果正在运行的应用程序仍在引用已删除文件的 inode,则可能会发生这种情况。在这种情况下,只需重启机器将允许释放 inode,ZFS 错误可能会消失。有关此问题的更多信息,请参见这里

相关内容