如何删除状态为“Faulted”的池?

如何删除状态为“Faulted”的池?

我有一个名为 test_pool 的池,只有在运行“zfs import”时才能看到它。我如何删除此池并从中分离相关设备?

   # zpool import
       pool: test_pool
         id: 13538020891587345121
      state: FAULTED
     status: One or more devices contains corrupted data.
     action: The pool cannot be imported due to damaged devices or data.
        The pool may be active on another system, but can be imported using
        the '-f' flag.
       see: http://zfsonlinux.org/msg/ZFS-8000-5E
     config:

        data_pool    FAULTED  corrupted data
          raidz1-1   ONLINE
            sdf      UNAVAIL  corrupted data
            sdg      UNAVAIL  corrupted data
            sdh      UNAVAIL  corrupted data

我尝试# zpool import test_pool -f导入并销毁它,但收到以下消息

cannot import 'data_pool': one or more devices is currently unavailable

答案1

如果池未导入,则继续擦除实际块设备上的数据。这实际上会擦除池。

您不必擦除整个设备 - 只需擦除元数据就足够了。

sudo wipefs /dev/sd{f,g,h}

您应该看到类似下面的内容:

DEVICE    OFFSET      TYPE       UUID                 LABEL
sdf       0x3f000     zfs_member 13538020891587345121 ...
sdf       0x3e000     zfs_member 13538020891587345121 ...
sdf       0x3d000     zfs_member 13538020891587345121 ...
...
sdh       0x3ffa2000  zfs_member 13538020891587345121 ...

如果您确实看到每行都只带有zfs_memberUUID匹配的输出,则说明您找到了正确的设备 - 继续将它们清除:

sudo wipefs --all --backup /dev/sd{f,g,h}

此后,zpool import应该找不到任何要导入的池。

PS 您可以使用相同的方法来销毁任何类型的设备 - 软件 raid、DRBD、文件系统等。

相关内容