はじめに
微妙なライセンスの関係でイマイチ日の目を見れていないzfsですが、使ってみるととても便利この上ないです。
そんなzfsのsnapshotの効率的な削除の方法を紹介したいと思います。
みんみんさんの記事で ZFSのsnapshotをまとめて削除するもございますので、合わせて見てもらえればと思います。
ちなみに私は紹介記事です。
ZFS Prune Snapshots
こちらが公式です
このスクリプトを使う事で秒分時日週月年単位によるsnapshotの始末ができます。
まんまですが、1週間より前のsnapshotを削除する場合は
# zfs-prune-snapshots 1w
で終わり。ちなみにzpool内の全てのsnapshotが対象です。
データセットを指定する事ももちろん可能。並べれば複数同時にもできます。
tank1およびtank2/backupの3週間より前のsnapshotを削除します。
# zfs-prune-snapshots 3w tank1 tank2/backup
snapshotの名前でも指定できます。
"autosnap_"で始まる1ヵ月より前のsnapshotを削除します。
# zfs-prune-snapshots -p 'autosnap_' 1M
prefixがあるという事はsuffixもあります。
"_frequent"で終わる2か月より前のsnapshotを削除します。
# zfs-prune-snapshots -s '_frequent' 2M
日時の引数
s
秒
m
分
h
時
d
日
w
週
M
月
y
年
となっています。
Dry run
そして素敵機能ドライランが出来ます。 n
オプションで削除するsnapshotを確認できます。
1週間より前のsnapshotを削除するリストを確認する。
# zfs-prune-snapshots -vn 1w
おわりに
こういった痒い所に手が届くツールは本当にありがたく使わせて頂いております。
ますますzfsが手放せなくなりますね!