『FreeBSD』 ZFSでatimeを無効にする

ZFSではsnapshotをとってそれをzfs send/recvして、別Diskや別マシンにバックアップを取ることができます。
1回バックアップを取ったあとは、snapshotの差分だけを転送する形になりますので短時間でのバックアップが可能になります。

このとき、転送先のpoolには変更を加えてはいけません。
なぜなら、差分の元になる部分で不一致が発生したら差分が解らなくなるからです。

しかしですね、何も触っていないpoolに勝手に変更が加えられて差分バックアップを取るときに不一致でエラーが出ることがたまにあります。

この原因でパッと思いついたのだatimeです。
これ、最後にファイルが参照された時間が記録されるので、catやlessしただけでファイルに変更が入ることになります。
おそらく、cronで何かやっちゃっているんだと思われます。

これはバックアップの運用でかなり困ったことになります。
解決方法はzfsでatimeを無効にすることです。
これはコマンド一発でできます。

#zfs set atime=off pool名
# zfs get atime pool名

NAME  PROPERTY  VALUE  SOURCE
vol1  atime     off    local

これで、zfs send/recvの問題も解決するはずなので、しばらく様子を見ようと思います。

実践FreeBSDサーバ構築・運用ガイド
技術評論社 (2013-05-10)
売り上げランキング: 78,250

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です