zpool:池 I/O 当前已暂停

zpool:池 I/O 当前已暂停

我在用着OSX 上的 ZFS并且我的 zpool 处于活动状态并且在线:

NAME      SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
WD_1TB    931G   280G   651G    30%  1.00x  ONLINE  -

但我实际上无法安装它。

$ sudo zfs mount WD_1TB
cannot open 'WD_1TB': pool I/O is currently suspended
cannot open 'WD_1TB': pool I/O is currently suspended

或者卸载它:

$ sudo zfs unmount WD_1TB
cannot open 'WD_1TB': pool I/O is currently suspended
cannot open 'WD_1TB': pool I/O is currently suspended

甚至摧毁它:

$ sudo zpool destroy -f WD_1TB
cannot open 'WD_1TB': pool I/O is currently suspended

做的时候zpool export WD_1TB就冻结了。

清除池中的设备错误时,也会出现错误:

$ sudo zpool clear WD_1TB
cannot clear errors for WD_1TB: I/O error

无论磁盘是否通过 USB 连接,都会发生上述情况。

有趣的是,zpool statuszpool 指向 /dev/disk1,但diskutil list指向 /dev/disk3。

我已经通过以下方式启用了调试消息:sysctl -w zfs.vnops_osx_debug=1并运行sudo dmesg | tail,结果显示如下内容:

0 [Level 3] [Facility com.apple.system.fs] [ErrType IO] [ErrNo 6] [IOType Read] [PBlkNum 0] [LBlkNum 0] 
0 [Level 3] [Facility com.apple.system.fs] [DevNode devfs] [MountPt /dev] [Path /dev/disk1s2] 
disk1s2: media is not present.
0 [Level 3] [Facility com.apple.system.fs] [ErrType IO] [ErrNo 6] [IOType Read] [PBlkNum 512] [LBlkNum 512] 
0 [Level 3] [Facility com.apple.system.fs] [DevNode devfs] [MountPt /dev] [Path /dev/disk1s2] 

zfs_vnop_write(vp 0xffffff804f6303c0, offset 0x12b00000 size 0x10000
zfs_vnop_write(vp 0xffffff804f6303c0, offset 0x12b10000 size 0x10000
zfs_vnop_write(vp 0xffffff804f6303c0, offset 0x12b20000 size 0x10000
zfs_vnop_write(vp 0xffffff804f6303c0, offset 0x12b30000 size 0x10000
zfs_vnop_write(vp 0xffffff8051b031e0, offset 0x1f0000 size 0x10000

连接或断开 HDD 没有帮助。

在上述情况下,有没有简单在 OSX 上安装 HDD 的方法?

有关的:

答案1

如果执行sudo zpool clear WD_1TB不起作用,请尝试:

$ sudo zpool clear -nFX WD_1TB

这些未记录的参数的含义是:

  • -F:(未记录clear,与 相同import)倒回。不可导入池的恢复模式。尝试通过丢弃最后几个事务将池返回到可导入状态。并非所有损坏的池都可以使用此选项恢复。如果成功,则丢弃的事务中的数据将不可挽回地丢失。如果池可导入或已导入,则忽略此选项。
  • -n:(未记录的clear,与 相同import)与恢复选项一起使用 -F。确定是否可以将不可导入的池再次导入,但实际上并不执行池恢复。有关池恢复模式的更多详细信息,请参阅上面的 -F 选项。然后尝试再次重新导入:
  • -X(未记录):极端倒带。-X 的效果似乎是尝试执行一些非常冗长的操作,而这些操作永远不会完成。在某些情况下,需要重新启动才能终止该过程。
  • -V(未记录):UTSLing 的选项,当使用import它时,池会被再次导入,但仍然不会尝试重新镀银。

来源:ZFS 故障池问题man zpool

$ zpool import WD_1TB

如果没有帮助,请尝试以下命令删除无效的 zpool:

$ zpool list -v
$ sudo zfs unmount WD_1TB
$ sudo zpool destroy -f WD_1TB
$ zpool detach WD_1TB disk1s2
$ zpool remove WD_1TB disk1s2
$ zpool remove WD_1TB /dev/disk1s2
$ zpool set cachefile=/etc/zfs/zpool.cache WD_1TB

最后,如果没有任何帮助,请删除该文件/etc/zfs/zpool.cache(可选)并重新启动计算机。


有关的:

相关内容