
これは、システムがクラッシュしていないため、クラッシュしたシステムからプールをインポートするのとは異なります。OS は正常です (別のプール/ドライブ セット/SATA バス上)。
再起動する前に、いくつかの重要なファイルをコピーしたいと思います (クライアントのサービスが不十分なリモート データセンターの近くに賢い人がいないため、クリーンな状態にならないようにするためです)。
この場合、USB キャディが消えて再接続されました (電源障害/不具合)。しかし、zfs はプールがマウントされたままであると認識しますが、プールへのすべての IO が切断され、sdd と sde が sdf と sdg になりました。
プールは /dev/disk/by-id によってマウントされましたが、もちろんこれらの ID は同じであり (/dev では現在 sd[fg] を指しています)、古いプールはエクスポートされていません。
すべての zpool コマンドは /dev/sdd と sde にアクセスしてシェル全体をハングさせると想定されるため、停止します (現在、スクリーン ウィンドウ内の 10 番目の bash シェルにあります)。
ただし、アレイはdd if=/dev/sdf1 of=/dev/null
正常に動作し、iostat でそのドライブの IO が表示されます (sdg の場合も同様)。つまり、ドライブはウェッジなしで読み取り可能です。
しかし、zpool コマンドは、zpool import -Nd /dev/sdf1 poolname newpoolname
sd[de] ワールドのどこかの何かに触れて、ウェッジします。
他のドライブに絶対にアクセスしないようにするには、どの zpool import コマンドを実行すればよいですか? zpool import -d /dev/sdf1 -N newname
(または 'oldname newname') 単にウェッジします。
最後の手段としては、ドライブ全体を別のシステムに dd して raw イメージとして保存し、そこで zpool を操作する (ループ デバイス経由) という方法がありますが、4 TB の送信には非常に時間がかかります。