ファイルを読み取り専用に設定すると、スナップロックが有効になります。これは、ファイラーで構成されているデフォルトのスナップロック保持期間にデフォルト設定されます。
通常、これは短い間隔に設定されており、ジャンクが誤って長期間にわたってスナップロックされるのを防ぎます。100 TB のアグリゲートを誤って 3 年間ロックしてしまうことほど厄介なことはありません。
アクセス時間を設定して、個々のファイルの保存期間を更新します。デフォルトでは、ファイルを読み取り専用に設定すると、atime は now + デフォルトの保存期間に設定されます。touch
次のコマンドを使用して、これをより長い期間に更新できます (ただし、短くすることはできません) 。
touch -a -t 201411210000 <filename>
(注 - iso 日付形式。YYYYMMDDHHmm)
コマンドを使用しstat
て、保存日を表示できます。
全体のプロセスは、スナップロック コンプライアンス クロックから調整されます。これは改ざん防止クロックであり、通常は「リアルタイム」と一致するはずですが、一致しないさまざまな状況があります。たとえば、ファイラーやボリュームなどの電源を切った場合、時計をリセットしたり、日付を進めたり、スナップロックをいじったりすることはできません。1 年に最大 1 週間ずつ調整されますが、それ以上速くはなりません。
atime が snaplock クロックの値を下回ったら、ファイルを削除できます (ただし、変更しないでください)。
snaplock.autocommit_period
定義された期間静的であったファイルを自動的にスナップロックするように設定できます。
スナップロックの保持期間についてよく考えることを強くお勧めします。これを何年にもわたって設定すると、ほとんどの場合、重要なメンテナンスを行う必要があることに気づき、スナップロックが邪魔でできないことに気づき、悲しみを感じるでしょう. アグリゲート内のすべてのデータのクロックが期限切れになった場合にのみ、アグリゲートを削除できます。(そして、これまでにオフラインになったものがある場合、クロックも歪められます)。つまり、システムが寿命を迎えてから何年も経つと、時計の刻みを見る以外に使用できなくなります。
代わりに、スナップロックを定期的に更新するメカニズムを検討することをお勧めします。たとえば、保持期間を 6 か月に設定します。毎月の cronjob を実行して更新し、別の月を追加します。
「読み取り専用」と「永続的にコミット」の間の時間を変更することはできません。読み取り専用になるとすぐに、スナップロックされます。しかし、前述のとおり、保持期間はデフォルトで適切な数値に設定する必要があります。