インポート時にエラーが発生した ZFS プールを回復する

インポート時にエラーが発生した ZFS プールを回復する

不良 RAM が原因で問題のあるマシンがあります。診断して問題のある RAM スティックを取り外した後、マシンの ZFS プールが不正なデバイス名を使用してドライブにアクセスしようとしていました。プールをエクスポートして再インポートするだけでこの問題を修正できました。しかし、今度はこのエラーが発生します。

プールストレージは自動的にマウントされなくなりました

sqeaky@sqeaky-media-server:/$ sudo zpool status
no pools available

通常の輸入品は破損していると言われています

sqeaky@sqeaky-media-server:/$ sudo zpool import
  pool: Storage
    id: 13247750448079582452
 state: UNAVAIL
status: The pool is formatted using an older on-disk version.
action: The pool cannot be imported due to damaged devices or data.
config:

    Storage                 UNAVAIL  insufficient replicas
      raidz1                UNAVAIL  corrupted data
        805066522130738790  ONLINE
        sdd3                ONLINE
        sda3                ONLINE
        sdc                 ONLINE

特定のインポートでは、vdev 構成が無効であると表示されます

sqeaky@sqeaky-media-server:/$ sudo zpool import Storage
cannot import 'Storage': invalid vdev configuration

プールを開始/インポートできないため、ドライブをオフラインにしたり切断したりできません

sqeaky@sqeaky-media-server:/$ sudo zpool offline Storage 805066522130738790
cannot open 'Storage': no such pool
sqeaky@sqeaky-media-server:/$ sudo zpool detach Storage 805066522130738790
cannot open 'Storage': no such pool

インポートを強制できません

sqeaky@sqeaky-media-server:/$ sudo zpool import -f Storage 
cannot import 'Storage': invalid vdev configuration

ZFS プールには 4 つのデバイスが必要です:

sda3 sdd3 sdc sdb sda4 sdd5 sd6 sd8 sd9 sd10 sd2 sd3 sd11 sd2 sd3 sd2 sd3 sd4 sd5 sd6 sd8 sd12 sd13 sd14 sd15 sd16 sd17
sd18
sd20
s

805066522130738790 が何なのか全く分かりませんが、さらに調査するつもりです。また、プールが何が起きていると考えているかについての詳細情報を取得するために、zdb を使用する方法も考えています。

参考までに、このマシン/プールがセットアップされた時点では特定の Linux 機能が必要であり、Linux では ZFS からのブートがまだサポートされていなかったため、このようにセットアップされました。パーティション sda1 と sdd1 はオペレーティング システム用の RAID 1 にあり、sdd2 と sda2 はスワップ用の RAID 1 にあります。

この ZFS プールを回復する方法について何か手がかりはありますか?

編集 - ステータス更新 805066522130738790 が何であるかが分かりました。これは、ZFS が /dev/sdb を識別するために使用できなかった GUID です。/dev/sdb を物理的に削除すると、プールがマウントされ、オンラインになります。しかし、まだディスクをスワップアウトできません。ファイルを外部メディアにバックアップしてから、破損しすぎて機能し続けることができないため、プール全体を消去することになると思います。最初から適切なバックアップを取っておくべきでした...

答え1

FUSE で ZFS を使用しているようですが、いずれにしても安定するとは思えません。

異常なドライブをオフラインにして、再度追加し、それが役立つかどうかを確認します。プールの再インポートを強制的に実行してみることもできます。 http://docs.huihoo.com/opensolaris/solaris-zfs-管理ガイド/html/ch04s04.html

答え2

実際のデバッグのヘルプが必要な場合は、zfs-discuss リストにアクセスしてください。

http://mail.opensolaris.org/mailman/listinfo/zfs-discuss http://opensolaris.org/jive/forum.jspa?forumID=80

(リストは同じですが、インターフェースが異なります。)

関連情報