web-dev-qa-db-ja.com

ファイルが変更されたときにのみZFSにディレクトリのスナップショットを作成させるにはどうすればよいですか?

ファイルが変更された場合にのみ、ZFSにファイルシステム(つまり、pool/filesystem /)のスナップショットを作成させることは可能ですか? cronなどを使用して5分ごとにスナップショットを自動的に作成する代わりに、ファイルが変更された後にZFSにスナップショットを自動的に取得させることは可能ですか?

これは可能ですか、それは何を含みますか?どうしますか?

前もって感謝します。

6
caleban

複数のオプション:

1)cronベースのzfs diff(Solaris 11 Express ++)および何かが変更された場合-> Snapshot()2)dtracezfsスナップショットトリガー

私は後者をしていませんが、それについて読みました。 1)おそらく何かを行う最も簡単な方法ですが、いくつかの変更を見逃す可能性がありますが、変更が積み重なっていないスナップショットはありません。

よろしく、ロバート

5
Robert

まず、ディレクトリのスナップショットを作成するのではなく、(全体の)ファイルシステム(またはボリューム)をZFSで作成します。さらに、スナップショットはZFSで非常に軽量ですが、ファイルシステムの更新レートが非常に低い場合を除いて、ファイルの変更ごとにスナップショットをトリガーすると、パフォーマンスが低下する可能性があります。ファイルは非常に多くの書き込み操作で更新でき、それぞれが要件に応じてスナップショットを作成します。数千または数百万のスナップショットを管理できるかどうかはわかりません。

5
jlliagre

新しいスナップショットを作成し、それを最後のスナップショットと比較し、何も変更されていない場合は、スナップショットを削除するスクリプトを作成できませんでしたか? 2つのスナップショットの比較がどのように行われるかはわかりませんが、単純なはずです。

0
senorsmile

変更されていないファイルで5分ごとのスナップショットを回避したい場合は、フラグファイルを作成する書き込みが発生するdtraceスクリプトを実装できます。次に、フラグファイルが存在するときにスナップショットを作成するcronを介して定期的に実行されるスクリプト。 Constantin Gonzalezは、これを実装するために必要なもののほとんどをカバーするブログエントリを作成しました。

http://constantin.glez.de/blog/2010/04/how-automatically-update-your-home-media-server-library-dtrace

0
notpeter