破損したzfsスナップショットを修復するのに役立ちます。

破損したzfsスナップショットを修復するのに役立ちます。

Dockerは私をだましました。 sas バックプレーンの問題以降、zfs システムがインストールされていない状態でサーバーが始動しました。これにより、dockerは/data/servers/fsの下にクリーンなディレクトリ構造を作成しました(私のdocker設定はデータの場所を保存した場所です)。 。

バックプレーンの問題を解決した後、システムが起動し、すべてが大丈夫に見えました。ドッカーコンテナがないことを除いて。ディレクトリを調べた結果、「新しい」docker実行のファイルだけがあったので、dockerが何の理由もなくすべてを消したと誤って考えました。

データセットがインストールされていないことを知りませんでした!だから私は以前のスナップショットから復元したいと思います。

再帰的なスナップショットを作成しました。 (これが私を救ってくれることを願っています!)

docker-fsセットの以前のスナップショットを復元しようとすると、スナップショットは最新であるため拒否されます。

docker-fsセットに対してのみ新しいスナップショットを破棄しました。

以前のスナップショットを復元しました。

まだファイルがありません。

この時点で私は私が台無しにされたことを知った。 zfsは空でないディレクトリにデータセットをマウントすることを丁寧に拒否しました。

マウントポイントから自動生成されたファイルを消去し、古いスナップショットが正しくマウントされました。

他に何もしたことがないので、新しいスナップショットに戻す機会があることを願っています...

これは歴史に関連する部分です。私は奇妙なので、私のタンクを木の枝と呼びます。

zpool レコード:

2022-11-26.15:46:50 zfs snapshot -r twig@full-2022-11-26-nodockerfs [user 0 (root) on delta:linux]
2022-11-26.15:47:54 [txg:39471260] destroy twig/servers/fs@full-2022-11-26-nodockerfs (671)  [on delta]
2022-11-26.15:47:56 ioctl destroy_snaps
    input:
        snaps:
            twig/servers/fs@full-2022-11-26-nodockerfs
 [user 0 (root) on delta:linux]
2022-11-26.15:47:56 zfs destroy twig/servers/fs@full-2022-11-26-nodockerfs [user 0 (root) on delta:linux]
2022-11-26.15:47:56 [txg:39471261] clone swap twig/servers/fs/%rollback (704) parent=fs [on delta]
2022-11-26.15:47:56 [txg:39471261] destroy twig/servers/fs/%rollback (704)  [on delta]
2022-11-26.15:48:03 ioctl rollback
    output:
        target: 'twig/servers/fs@2020-10-11-all'
 [user 0 (root) on delta:linux]
2022-11-26.15:48:03 zfs rollback twig/servers/fs@2020-10-11-all [user 0 (root) on delta:linux]

ドッカーを停止し、データセットを削除しました。まだ完全に台無しではありません^_^

関連情報