バックアップの作成とBtrfsの送受信機能の使用

ノート:

Btrfs送受信機能を使用するには、UEK R6以降を使用してシステムを起動する必要があります。

送信操作では、2つのサブボリュームを比較し、1つのサブボリューム(parentサブボリューム)をもう1つのサブボリューム(sentサブボリューム)に変換する方法の説明を記述します。通常は、出力をファイルに保存して後で使用するか、出力を受信操作に送ってすぐに使用します。

最も簡単な形式の送信操作では、サブボリュームの詳しい説明が書き込まれます。次に例を示します。

sudo btrfs send [-v] [-f sent_file] ... subvol
               

-vオプションのインスタンスを多数指定すると、増えてゆくデバッグ出力を表示できます。出力をファイルに保存するには、-fオプションを使用します。これら両方のオプションは、次の使用例に暗黙的に含まれています。

次の形式の送信操作は、1つのサブボリュームをもう1つのサブボリュームに変換する方法の完全な記述です。

sudo btrfs send -p parent_subvol sent_subvol

受信操作中に親ボリュームのスナップショット(クローン・ソースと呼ばれる)などのサブボリュームを使用でき、そこから一部のデータをリカバリできる場合は、次のように、クローン・ソースを指定して出力ファイルのサイズを縮小できます。

sudo btrfs send [-p parent_subvol] [-c clone_src] ... subvol

存在するクローン・ソースごとに-cオプションを指定できます。親サブボリュームを指定しなかった場合は、btrfsでクローン・ソースから適切な親が選択されます。

受信操作を使用して、送信されたサブボリュームを、指定したパスに再生成します。次に例を示します。

sudo btrfs receive [-f sent_file] mountpoint

増分バックアップの作成準備としての参照バックアップの作成

次の手順では、参照バックアップの作成方法について説明します。これは、送信/受信機能を使用してサブボリュームに増分バックアップおよびリストア・プロセスを設定するための前提条件になります。

  1. サブボリュームの読取り専用スナップショットを作成し、バックアップの初期参照ポイントとして使用します。

    sudo btrfs subvolume snapshot -r /vol /vol/backup_0
  2. スナップショットがディスクに書き込まれたことを確認するために、syncコマンドを実行します。

    sudo sync
  3. Btrfsファイル・システムに、スナップショットを受信するためのバックアップ領域として、サブボリュームまたはディレクトリを作成します(例: /backupvol)。

  4. スナップショットを/backupvolに送信します。

    sudo btrfs send /vol/backup_0 | btrfs receive /backupvol

    前のコマンドにより、/backupvol/backup_0サブボリュームが作成されます。

    参照バックアップの作成後、必要に応じて増分バックアップを作成できます。増分バックアップの作成を参照してください。

増分バックアップの作成

次の手順では、送信/受信機能を使用して増分バックアップを作成する方法について説明します。増分バックアップの作成前に、まず、参照バックアップを作成する必要があります。増分バックアップの作成準備としての参照バックアップの作成を参照してください。

増分バックアップを作成するには:

  1. サブボリュームのスナップショットを作成します。

    sudo btrfs subvolume snapshot -r /vol /vol/backup_1
  2. スナップショットがディスクに書き込まれたことを確認するために、syncコマンドを実行します。

    sudo sync
  3. 参照バックアップと新しいバックアップの相違のみをバックアップ領域に送信します。次に例を示します。

    sudo btrfs send -p /vol/backup_0 /vol/backup_1 | btrfs receive /backupvol

    前のコマンドを実行すると、/backupvol/backup_1サブボリュームが作成されます。