web-dev-qa-db-ja.com

ZFS対応の差分はありますか?

私はよくZFSボリューム(AOSPを含む)のスナップショットを作成し、いくつかの変更を加え(多くの場合、Zipファイルをその上に抽出するか、スクリプトを実行します)、次にdiffを実行して何が変更されたかを確認します。

これはZFSでは本当に簡単です。

diff /mnt/vol /mnt/vol/.zfs/2017-10-18_snapshot

「vol」に63GBのほとんどが小さいファイルが含まれていると、非常に長い時間がかかります。

スナップショットはコピーオンライトであるため、ZFSには明らかにどのファイルが異なるかに関する情報があります。

ZFSに答えを求めることができるZFS対応の差分はありますか?

4
fadedbee

実際にあり、zfs diffという名前もあります( ドキュメントと例

$ zfs diff tank/home/tim@snap1 tank/home/tim@snap2
M       /tank/home/tim/
+       /tank/home/tim/fileB

スナップショットとライブデータセットを区別することもできますが、同じデータセットと子孫の内部で、有効な時間的順序でのみです(つまり、新しいものから古いものではなく、古いものから新しいものへ、最初に機能しない場合は引数を交換するだけです)。考えられる結果は次のとおりです。

M : File or directory has been modified or file or directory link has changed
- : File or directory is present in the older snapshot but not in the more recent snapshot
+ : File or directory is present in the more recent snapshot but not in the older snapshot
R : File or directory has been renamed

結果をフィルタリングしてスクリプトで使用する方法については、StackOverflowの 他の回答 のコメントの例も参照してください。

3
user121391