Zfsプールからいくつかのファイルを誤って削除し、最新のスナップショットをマウントしようとしましたが、スナップショットがないことがわかりました。スナップショットをアクティブにする方法、構成する方法
Ubuntu 12.04.1サーバーとzfs 0.6.1を使用しています。プールバージョンは28です。
スナップショットを作成していない場合、データが失われました。
スナップショットを撮るには、zfs snapshot
コマンドを使用します
http://docs.Oracle.com/cd/E19253-01/819-5461/gbcya/index.html
Ubuntu 17.04以降では、次のようにzfs-auto-snapshotをインストールできます。
Sudo apt install zfs-auto-snapshot
17.04より前のUbuntuバージョンの場合、リポジトリから自動スナップショットを使用するように zfs-auto-snapshot をセットアップできました
Sudo add-apt-repository ppa:zfs-native/stable; Sudo apt-get install zfs-auto-snapshot
またはgithubから直接
curl -L https://github.com/zfsonlinux/zfs-auto-snapshot/archive/master.tar.gz | tar xz -C /tmp/
pushd /tmp/zfs-auto-snapshot-master && Sudo make install && popd && rm -rf /tmp/zfs-auto-snapshot-master
デフォルトでは、15分ごとに各データセットのスナップショットを作成し、スナップショットを最大1年保存します。ただし、com.Sun:auto-snapshot
データセットプロパティをfalseに設定することにより、特定のデータセットのスナップショットを無効にすることができます
Sudo zfs set com.Sun:auto-snapshot=false tank/tmp
com.Sun:auto-snapshot:...
プロパティを使用して、自動スナップショットの動作を調整することもできます。例えば。タンク/バックアップデータセットのスナップショットを31日間毎日保存します。
Sudo zfs set com.Sun:auto-snapshot=true tank/backup
Sudo zfs set com.Sun:auto-snapshot:monthly=false tank/backup
Sudo zfs set com.Sun:auto-snapshot:weekly=false tank/backup
Sudo zfs set com.Sun:auto-snapshot:daily=true tank/backup
Sudo zfs set com.Sun:auto-snapshot:hourly=false tank/backup
Sudo zfs set com.Sun:auto-snapshot:frequent=false tank/backup
デフォルトでは、スクリプトは以下を保存します。
マニュアルページまたは少なくともzfs-auto-snapshotの調整可能なプロパティのリストをウェブで検索していますが、おそらく盲目ですか?いくつかの単語、またはリンクを追加してください。 a README を見つけましたが、言及されている値を変更したり読み取ったりする方法を理解できません。
それで、単純なタスクを試してください:保持される毎月のスナップショットの数を増やすまたは減らす方法(ディスク容量を考慮して)。
Sunは、ubbuntuでは存在しないように見えるsvcadmまたはタイムスライダーツールを使用していますが、正しいですか?
例えば。:
svccfg -s svc:/system/filesystem/zfs/auto-snapshot:frequent setprop zfs/period = 30
svccfg -s svc:/system/filesystem/zfs/auto-snapshot:frequent refresh
svcadm restart svc:/system/filesystem/zfs/auto-snapshot:frequent
デフォルトが素晴らしいので、この投稿がここに関連することを願っていますが、「ほぼ満杯の」プールを持つ多くのユーザーはディスクスペースを使い果たすことを恐れるでしょう。
編集:私はzfs-auto-snapshotに別の問題がありました。ほぼ稼働日の開始時に、午前8時00分にスナップを作成しました。非常に集中的な操作であり、非常に長い時間がかかる可能性のある古いスナップの破壊を想定すると、なんと悪い考えでしょう。これは、1日の最悪の時間にシステムを使用できなくなる危険性があると考えています。これは、/ etc/cron.daily(毎週、毎月)の単なるエントリのようであるため、crontabの毎日(または何でも)のジョブのanacron行を変更するだけで十分です。
readmeでこのことについて言及していません。