Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.7. XFS ファイルシステムのバックアップおよび復元

XFS ファイルシステムのバックアップと復元には、以下のユーティリティーが含まれます。
  • バックアップを作成するための xfsdump
  • バックアップから復元するための xfsrestore

3.7.1. XFS バックアップおよび復元の機能

バックアップ

xfsdump ユーティリティーを使用して以下を行うことができます。
  • 通常のファイルイメージへのバックアップ
    通常のファイルに書き込むことができるバックアップは 1 つだけです。
  • テープドライブへのバックアップ
    xfsdump ユーティリティーを使用すると、同じテープに複数のバックアップを書き込むこともできます。バックアップは、複数のテープを分割して書き込むことができます。
    複数のファイルシステムのバックアップを 1 つのテープデバイスに作成するには、XFS バックアップがすでに含まれているテープにバックアップを書き込みます。これにより、古いバックアップに、新しいバックアップが追加されます。xfsdump は、デフォルトでは既存のバックアップを上書きしません。
  • 増分バックアップの作成
    xfsdump ユーティリティーは dump レベル を使用して、他のバックアップの相対的なベースバックアップを決定します。0 から 9 までの数字は、ダンプレベルの増加を指します。増分バックアップは、下位レベルの最後のダンプ以降に変更したファイルのみが対象となります。
    • フルバックアップを実行する場合は、ファイルシステムで レベル 0 のダンプを実行します。
    • レベル 1 のダンプは、フルバックアップ後の最初の増分バックアップです。次の増分バックアップはレベル 2 になります。これは、前回のレベル 1 などのダンプ以降に変更したファイルのみが対象となります。最大でレベル 9 までが対象となります。
  • ファイルを絞り込むサイズ、サブツリー、または inode のフラグを使用して、バックアップからファイルを除外

復元

xfsrestore ユーティリティーは、xfsdump によって生成されたバックアップからファイルシステムを復元します。xfsrestore ユーティリティーには 2 つのモードがあります。
  • simple モードでは、ユーザーはレベル 0 のダンプからファイルシステム全体を復元できます。これはデフォルトのモードです。
  • cumulative モードでは、増分バックアップ (つまりレベル 1 からレベル 9) からファイルシステムを復元できます。
各バックアップは、一意の session ID または session label で識別されます。複数のバックアップを含むテープからバックアップを復元するには、対応するセッション ID またはラベルが必要です。
バックアップから特定のファイルを抽出、追加、または削除するには、xfsrestore インタラクティブモードを起動します。インタラクティブモードでは、バックアップファイルを操作する一連のコマンドが提供されます。

3.7.2. XFS ファイルシステムのバックアップ

この手順では、XFS ファイルシステムのコンテンツのバックアップを、ファイルまたはテープに作成する方法を説明します。

手順3.1 XFS ファイルシステムのバックアップ

  • 次のコマンドを使用して、XFS ファイルシステムのバックアップを作成します。
    # xfsdump -l level [-L label] -f backup-destination path-to-xfs-filesystem
    • level をバックアップのダンプレベルに置き換えます。完全バックアップを実行するには 0 を、結果として生じる増分バックアップを実行するには、1 から 9 を使用します。
    • backup-destination を、バックアップを保存する場所のパスに置き換えます。保存場所は、通常のファイル、テープドライブ、またはリモートテープデバイスです。たとえば、ファイルの場合は /backup-files/Data.xfsdump、テープドライブの場合は /dev/st0 です。
    • path-to-xfs-filesystem をバックアップを作成する XFS ファイルシステムのマウントポイントに置き換えます。たとえば、/mnt/data/ です。ファイルシステムをマウントする必要があります。
    • 複数のファイルシステムのバックアップを作成して 1 つのテープデバイスに保存する場合は、復元時にそれらを簡単に識別できるように -L label オプションを使用して、各バックアップにセッションラベルを追加します。label をバックアップの名前(例: backup_data )に置き換えます。

例3.4 複数の XFS ファイルシステムのバックアップ

  • /boot/ ディレクトリーおよび /data/ ディレクトリーにマウントされた XFS ファイルシステムのコンテンツのバックアップを作成し、それらをファイルとして /backup-files/ ディレクトリーに保存するには、次のコマンドを実行します。
    # xfsdump -l 0 -f /backup-files/boot.xfsdump /boot
    # xfsdump -l 0 -f /backup-files/data.xfsdump /data
  • 1 つのテープデバイスにある複数のファイルシステムのバックアップを作成する場合は、-L label オプションを使用して、各バックアップにセッションラベルを追加します。
    # xfsdump -l 0 -L "backup_boot" -f /dev/st0 /boot
    # xfsdump -l 0 -L "backup_data" -f /dev/st0 /data

関連情報

  • XFS ファイルシステムのバックアップの詳細は、xfsdump(8) の man ページを参照してください。

3.7.3. バックアップからの XFS ファイルシステムの復元

この手順では、XFS ファイルシステムの内容を、ファイルまたはテープのバックアップから復元する方法を説明します。

前提条件

手順3.2 バックアップからの XFS ファイルシステムの復元

  • バックアップを復元するコマンドは、フルバックアップから復元するか、増分バックアップから復元するか、1 つのテープデバイスから複数のバックアップを復元するかによって異なります。
    # xfsrestore [-r] [-S session-id] [-L session-label] [-i]
                 -f backup-location restoration-path
    • backup-location を、バックアップの場所に置き換えます。これは、通常のファイル、テープドライブ、またはリモートテープデバイスになります。たとえば、ファイルの場合は /backup-files/Data.xfsdump、テープドライブの場合は /dev/st0 です。
    • restoration-path を、ファイルシステムを復元するディレクトリーへのパスに置き換えます。たとえば、/mnt/data/ です。
    • ファイルシステムを増分 (レベル 1 からレベル 9) バックアップから復元するには、-r オプションを追加します。
    • 複数のバックアップを含むテープデバイスからバックアップを復元するには、-S オプションまたは -L オプションを使用してバックアップを指定します。
      -S ではセッション ID でバックアップを選択できます。-L ではセッションラベルでバックアップを選択できます。セッション ID とセッションラベルを取得するには、xfsrestore -I コマンドを使用します。
      session-id を、バックアップのセッション ID に置き換えます。たとえば、b74a3586-e52e-4a4a-8775-c3334fa8ea2c です。session-label を、バックアップのセッションラベルに置き換えます。たとえば、my_backup_session_label です。
    • xfsrestore を対話的に使用するには、-i オプションを使用します。
      対話式ダイアログは、xfsrestore が指定のデバイスの読み取りを終了すると開始します。インタラクティブな xfsrestore シェルの使用可能なコマンドには、cdlsadddelete、および extract があります。コマンドの完全なリストについては、help コマンドを使用します。

例3.5 複数の XFS ファイルシステムの復元

XFS バックアップファイルを復元し、そのコンテンツを /mnt/ の下のディレクトリーに保存するには、以下を実行します。
# xfsrestore -f /backup-files/boot.xfsdump /mnt/boot/
# xfsrestore -f /backup-files/data.xfsdump /mnt/data/
複数のバックアップを含むテープデバイスから復元するには、各バックアップをセッションラベルまたはセッション ID で指定します。
# xfsrestore -f /dev/st0 -L "backup_boot" /mnt/boot/
# xfsrestore -f /dev/st0 -S "45e9af35-efd2-4244-87bc-4762e476cbab" /mnt/data/

テープからバックアップを復元する際の情報メッセージ

複数のファイルシステムからのバックアップを使用してテープからバックアップを復元すると、xfsrestore ユーティリティーがメッセージを発行する場合があります。このメッセージは、xfsrestore がテープ上の各バックアップを順番に検査する際に、要求されたバックアップと一致するものが見つかったかどうかを通知します。以下に例を示します。
xfsrestore: preparing drive
xfsrestore: examining media file 0
xfsrestore: inventory session uuid (8590224e-3c93-469c-a311-fc8f23029b2a) does not match the media header's session uuid (7eda9f86-f1e9-4dfd-b1d4-c50467912408)
xfsrestore: examining media file 1
xfsrestore: inventory session uuid (8590224e-3c93-469c-a311-fc8f23029b2a) does not match the media header's session uuid (7eda9f86-f1e9-4dfd-b1d4-c50467912408)
[...]
情報メッセージは、一致するバックアップが見つかるまで継続して表示されます。

関連情報

  • XFS ファイルシステムの復元の詳細は、xfsrestore(8) の man ページを参照してください。