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 status
がzpoolを/ 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の接続または切断は役に立ちません。
上記の状況で単にHDDをOSXにマウントする方法はありますか?
関連:
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
ファイルを削除し(オプション)、コンピュータを再起動します。
関連: