14.2. Snapper スナップショットの作成
Snapper では、以下のタイプのスナップショットを作成できます。
- プレスナップショット
- プレスナップショットは、ポストスナップショットの作成元として機能します。この 2 つは密接に関連しており、2 つのポイント間でファイルシステムの修正を追跡するように設計されています。ポストスナップショットを作成する前に、プレスナップショットを作成する必要があります。
- ポストスナップショット
- ポストスナップショットは、プレスナップショットのエンドポイントとして機能します。結合されたプレスナップショットとポストスナップショットは、比較の範囲を定義します。デフォルトでは、すべての新しい snapper ボリュームは、関連するポストスナップショットが正常に作成された後にバックグラウンド比較を作成するように設定されています。
- シングルスナップショット
- 1 つのスナップショットとは、特定の時点で作成されたスタンドアロンのスナップショットのことです。これらを使用すると、修正のタイムラインを追跡し、後で戻るための一般的なポイントを持つために使用することができます
14.2.1. プレスナップショットとポストスナップショットのペアの作成
14.2.1.1. Snapper を使用したプレスナップショットの作成
プレスナップショットの作成には、以下のコマンドを実行します。
#
snapper -c config_name create -t pre
-c config_name オプションは、名前付き設定ファイルの仕様に従ってスナップショットを作成します。設定ファイルが存在しない場合は、「Snapper の初期設定の作成」 を参照してください。
create -t オプションは、作成するスナップショットのタイプを指定します。許可されるエントリーは、
pre
、post
または single
です。
たとえば、「Snapper の初期設定の作成」 で作成した
lvm_config
設定ファイルを使用してプレスナップショットを作成するには、以下のコマンドを実行します。
#
snapper -c SnapperExample create -t pre -p
1
-p
オプションは、作成されたスナップショットの番号を出力しますが、使用するかどうかは任意です。
14.2.1.2. Snapper を使用しポストスナップショットの作成
ポストスナップショットはスナップショットのエンドポイントであり、「Snapper を使用したプレスナップショットの作成」 の手順に従って、親のプレスナップショットの後に作成する必要があります。
手順14.2 ポストスナップショットの作成
- プレスナップショットの数を指定します。
#
snapper -c config_name listたとえば、設定ファイルlvm_config
を使用して作成されたスナップショットの一覧を表示するには、次のコマンドを実行します。#
snapper -c lvm_config list Type | # | Pre # | Date | User | Cleanup | Description | Userdata -------+---+-------+-------------------+------+----------+-------------+--------- single | 0 | | | root | | current | pre | 1 | | Mon 06<...> | root | | |この出力は、プレスナップショットが番号 1 であることを示しています。 - 事前に作成したプレスナップショットにリンクされる、ポストスナップショットを作成します。
#
snapper -c config_file create -t post --pre-num pre_snapshot_number- -t post オプションは、ポストスナップショットの作成を指定します。
- --pre-num オプションは、対応するプレスナップショットを指定します。
たとえば、lvm_config
設定ファイルを使用してポストスナップショットを作成し、プレスナップショット番号 1 にリンクするには、次のコマンドを実行します。#
snapper -c lvm_config create -t post --pre-num 1 -p 2-p
オプションは、作成されたスナップショットの番号を出力しますが、使用するかどうかは任意です。 - プレスナップショット 1 とポストスナップショット 2 が作成され、ペアになりました。list コマンドを使用してこれを確認します。
#
snapper -c lvm_config list Type | # | Pre # | Date | User | Cleanup | Description | Userdata -------+---+-------+-------------------+------+----------+-------------+--------- single | 0 | | | root | | current | pre | 1 | | Mon 06<...> | root | | | post | 2 | 1 | Mon 06<...> | root | | |
14.2.1.3. スナップショット前およびスナップショット後のコマンドのラップ
また、コマンドをプレスナップショットおよびポストスナップショットにラップすることもできます。これはテスト時に役立ちます。手順14.3「スナップショット前およびスナップショット後のコマンドのラップ」 (以下の手順のショートカット) を参照してください。
- snapper create pre snapshot コマンドを実行している。
- コマンドの実行、またはファイルシステムのコンテンツに影響を与える可能性があるアクションを実行するコマンドのリスト。
- snapper create post snapshot コマンドを実行している。
手順14.3 スナップショット前およびスナップショット後のコマンドのラップ
- プレスナップショットとポストスナップショットでコマンドをラップするには、以下のコマンドを実行します。
#
snapper -c lvm_config create --command "command_to_be_tracked"たとえば、/lvm_mount/hello_file
ファイルの作成を追跡するには、次のコマンドを実行します。#
snapper -c lvm_config create --command "echo Hello > /lvm_mount/hello_file" - これを確認するには、status コマンドを使用します。
#
snapper -c config_file status first_snapshot_number..second_snapshot_numberたとえば、最初の手順で行った変更を追跡するには、以下のコマンドを実行します。#
snapper -c lvm_config status 3..4 +..... /lvm_mount/hello_file必要に応じて、list コマンドを使用してスナップショットの番号を確認します。status コマンドの詳細は、「スナップショット間での変更の追跡」 を参照してください。
上記の例で使用されているコマンドが、スナップショットがキャプチャーする唯一のものであるという保証はないことに注意してください。Snapper は、ユーザーが変更したものだけでなく、システムが変更したものも記録します。
14.2.2. 1 つのスナップショットの作成
単一の snapper スナップショットの作成は、プレスナップショットまたはポストスナップショットの作成に似ていますが、create
-t
オプションのみが単一を指定します。1 つのスナップショットを使用すれば、他のスナップショットとは無関係に、1 つのスナップショットを作成できます。ただし、比較を自動的に生成したり、追加情報をリスト表示したりせずに、LVM2 シンボリュームのスナップショットを簡単に作成したい場合は、「スナップショット」 で説明しているように、Red Hat では、この目的で Snapper の代わりに System Storage Manager を使用することを推奨しています。
1 つのスナップショットを作成するには、以下を実行します。
#
snapper -c config_name create -t single
たとえば、次のコマンドは、
lvm_config
設定ファイルを使用して単一のスナップショットを作成します。
#
snapper -c lvm_config create -t single
1 つのスナップショットは変更を追跡するように特別に設計されていませんが、snapper diff コマンド、xadiff コマンド、および status コマンドを使用して、2 つのスナップショットを比較することができます。これらのコマンドの詳細は、「スナップショット間での変更の追跡」 を参照してください。
14.2.3. 自動スナップショットを作成するための Snapper の設定
自動スナップショットの作成は、Snapper の重要な機能の 1 つです。デフォルトでは、ボリュームに Snapper を設定すると、Snapper は 1 時間ごとのボリュームのスナップショットの作成を開始します。
デフォルト設定では、Snapper は以下を保持します。
- 10 時間ごとのスナップショットと、最後の 1 時間ごとのスナップショットは、1 日単位のスナップショットとして保存されます。
- 1 日単位 10 のスナップショットと、1 カ月の最後の 1 日単位のスナップショットは、月単位のスナップショットとして保存されます。
- 月単位 10 のスナップショット、および最後の月単位のスナップショットは年単位のスナップショットとして保存されます。
- 年単位 10 のスナップショット
デフォルトで、Snapper が保持するスナップショットは、合計 50 個以下であることに注意してください。ただし、Snapper は、デフォルトで 1,800 秒未満前に作成されたすべてのスナップショットを保持します。
デフォルト設定は
/etc/snapper/config-templates/default
ファイルで指定されます。snapper create-config コマンドを使用して設定を作成すると、指定されていない値はデフォルト設定に基づいて設定されます。/etc/snapper/configs/config_name
ファイルで定義されているボリュームの設定を編集できます。