2017-12-01 13 views
3

プールが変更されたかどうかを確認するのにzfs list -t snapshotを使用していました。最後のスナップショットがスペースを使用していることを示していた場合は、プールが変更されたことを確認しました。私は(実際にはスクリプト)別のスナップショットを作成しました。zfs list -tプールが変更されたかどうかを確認するためのsnaphost

ファイル内のファイルを1フォルダからプール内の別のフォルダに移動すると、コマンドzfs list -t snapshotは最後のスナップショットのサイズとして0を返します。私のプールが変更されたかどうかを確認する必要があるので、それは私にとってはうまくありません。何が間違っていますか?プールが実際に変更されたかどうかを確認する他の信頼性の高い方法はありますか?

答えて

3

スナップショットは、ファイルシステムが過去の特定のポイント(サイズを含む)をどのように見ていたかを示します。後でファイルを削除または変更すると、異なるブロック(つまり、削除または変更されたブロックを意味する)はファイルシステム上に残ります(ロックされたものとみなすか、またはUnix上でのハードリンクの動作方法と似ていますファイルへの参照は存在し、削除されません)。

逆に、新しいファイルを追加するだけの場合、古いブロックは同じ状態を維持するため、スナップショットのサイズは変わりません。同じファイルシステム内でフォルダを移動しても新しいデータは追加されないため、サイズは表示されません。

差分を表示するには、zfs diff pool/[email protected] pool/datasetを使用して現在の状態と最後のスナップショットを比較できます。スクリプトでの出力の使用の詳細については、my other answer hereを参照してください。

関連する問題