UFS Snapshot

日次と週次のバックアップにUFS Snapshotを使ってみた際の設定など。
半年ほど使っていたが、週に1回程度失敗する問題が解消できなかったので、tarによるバックアップに戻した。

雑感

  • 処理中はマウントポイントがロックされるので、そのマウントポイントにアクセスすると処理完了まで待たされる。
    • 処理時間は100GBで約4分、300GBで約12分だった。 (WD Caviar Green WD5000AADS)
  • noatimeを指定していても対象マウントポイントはatimeになる。
  • スケジュール途中で失敗した場合、そのマウントポイント以降は処理されない。
    • 例えば、以下の設定の時、/homeで失敗すると/jailは処理されない。

必要なport

sysutils/freebsd-snapshot

設定

/etc/periodic.conf

snapshot_enable="YES"
snapshot_schedule="/,/usr,/home,/jail:3:6:0"

成功時のmessages (抜粋)

root: snapshot: daily.0 snapshot on filesystem / made (duration: 0 min)
root: snapshot: daily.0 snapshot on filesystem /usr made (duration: 0 min)
root: snapshot: daily.0 snapshot on filesystem /home made (duration: 0 min)
...

失敗時のmessages (抜粋)

kernel: fsync: giving up on dirty
kernel: 0x...: tag devfs, type VCHR
kernel: usecount 1, writecount 0, refcount ... mountedhere 0x...
kernel: flags (VV_COPYONWRITE)
kernel: v_object 0x... ref 0 pages ...
kernel: lock type devfs: EXCL by thread 0x... (pid ...)
kernel: dev ...
root: snapshot: making snapshot on /jail failed