web-dev-qa-db-ja.com

ZFSスナップショットで特定のディレクトリをロールバックする方法は?

スナップショット内の特定のディレクトリにロールバックすることは可能ですか?たとえば、スナップショットtank/home@snapshot_week_01が与えられた場合、tank/home/louis@snapshot_week_01内の他のすべてのファイルディレクトリをロールバックせずに、tank/homeのようなものにロールバックできますか?

7
Louis Waweru

「可能ですか」という質問に答えるには、答えはnoです。 ZFSスナップショットには、ファイルやフォルダーなどの概念はなく、ファイルシステム全体のブロックレベルのスナップショットです。

ただし、duenniの回答に示されているように、スナップショットを参照して個々のファイルにアクセスすることも、スナップショットのクローンを作成して、最初のファイルをロールバックせずにファイルシステムの2番目のコピーを作成することもできます。

3
qasdfdsaq

この場合、/tank/home/.zfs/snapshot/snapshot_week_01に移動して、必要なデータを引き出します。

詳細については、OracleのWebサイトの ZFSスナップショットの表示とアクセス を参照してください。

9
duenni

尋ねられた質問への答えはno;スナップショットはファイルシステムごとであり、スナップショットを操作するときはファイルシステム全体でのみ操作できます。したがって、前のスナップショットにロールバックすると、ファイルシステム全体に影響します。

ZFSスナップショットから特定のファイルまたはディレクトリを復元する方法は、スナップショットディレクトリに移動し、cp -av snapshotfile /home/louis/myfileなどを使用してスナップショットからファイルをコピーすることです。

2
a CVn