web-dev-qa-db-ja.com

ZFSスナップショットをアクティブ化する

Zfsプールからいくつかのファイルを誤って削除し、最新のスナップショットをマウントしようとしましたが、スナップショットがないことがわかりました。スナップショットをアクティブにする方法、構成する方法

Ubuntu 12.04.1サーバーとzfs 0.6.1を使用しています。プールバージョンは28です。

13
Misu Egri

スナップショットを作成していない場合、データが失われました。

スナップショットを撮るには、zfs snapshotコマンドを使用します

http://docs.Oracle.com/cd/E19253-01/819-5461/gbcya/index.html

4
Pasi Suominen

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

デフォルトでは、スクリプトは以下を保存します。

  • 15分ごとの頻繁なスナップショット、4つのスナップショットの保持
  • 1時間ごとのスナップショット、24のスナップショットを保持
  • 毎日のスナップショット、31のスナップショットを保持
  • 毎週のスナップショット、7つのスナップショットを保持
  • 毎月のスナップショット、12のスナップショットを保持
24
Andrey

マニュアルページまたは少なくとも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でこのことについて言及していません。

0
coro