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

XFS ファイルシステムのバックアップと復元には、xfsdumpxfsrestore の 2 種類のユーティリティーが必要になります。
XFS ファイルシステムのバックアップまたはダンプを実行するには、xfsdump ユーティリティーを使用します。Red Hat Enterprise Linux 7 は、テープドライブや通常のファイルイメージへのバックアップに対応しています。また、同じテープへの複数ダンプの書き込みも可能です。xfsdump ユーティリティーを使用すると、1 つのダンプを複数のテープに記録できますが、通常のファイルに書き込めるのは 1 つのダンプのみになります。さらに、xfsdump は増分バックアップに対応しているため、サイズ、サブツリーまたは inode フラグなどを使用してファイルをフィルターすることで、バックアップからファイルを除外することもできます。
増分バックアップに対応するため、xfsdump では ダンプのレベル を使って特定ダンプの比較対象となるベースダンプを決定します。ダンプレベル (0-9) は -l オプションで指定します。フルバックアップを行うには、次のようにしてファイルシステム (/path/to/filesystem) で レベル 0 のダンプを実行します。
# xfsdump -l 0 -f /dev/device /path/to/filesystem

注記

バックアップ先は -f で指定します。たとえば、テープドライブには通常 /dev/st0 がバックアップ先として使用されます。xfsdump のダンプ先はテープドライブ、通常のファイル、またはリモートテープデバイスのいずれかにできます。
一方、増分バックアップでは最後の レベル 0 ダンプから変更があったファイルのみをダンプします。レベル 1 ダンプは、フルダンプ後に行なわれる最初の増分ダンプです。その次の増分ダンプは レベル 2 となり、最大レベルは レベル 9 です。レベル 1 ダンプをテープドライブに実行するには、次のようにします。
# xfsdump -l 1 -f /dev/st0 /path/to/filesystem
これとは反対に、xfsrestore ユーティリティーは xfsdump で生成したダンプからファイルシステムを復元します。xfsrestore ユーティリティーにはデフォルトの シンプル モードと 累積 モードの 2 種類があります。特定のダンプは、セッション ID または セッションラベル のいずれかを使って行なわれます。このため、ダンプの復元には対応するセッションの ID またはラベルが必要になります。すべてのダンプ (フルダンプと増分ダンプの両方) のセッション ID およびセッションラベルを表示するには、-I オプションを使用します。
# xfsrestore -I
出力は以下のようになります。

例3.4 すべてのダンプのセッション ID とセッションラベル

file system 0:
	fs id:		45e9af35-efd2-4244-87bc-4762e476cbab
	session 0:
		mount point:	bear-05:/mnt/test
		device:		bear-05:/dev/sdb2
		time:		Fri Feb 26 16:55:21 2010
		session label:	"my_dump_session_label"
		session id:	b74a3586-e52e-4a4a-8775-c3334fa8ea2c
		level:		0
		resumed:	NO
		subtree:	NO
		streams:	1
		stream 0:
			pathname:	/mnt/test2/backup
			start:		ino 0 offset 0
			end:		ino 1 offset 0
			interrupted:	NO
			media files:	1
			media file 0:
				mfile index:	0
				mfile type:	data
				mfile size:	21016
				mfile start:	ino 0 offset 0
				mfile end:	ino 1 offset 0
				media label:	"my_dump_media_label"
				media id:	4a518062-2a8f-4f17-81fd-bb1eb2e3cb4f
xfsrestore: Restore Status: SUCCESS

xfsrestore のシンプルモード

シンプル モードを使用すると、ユーザーは レベル 0 のダンプからファイルシステム全体を復元することができます。レベル 0 ダンプのセッション ID (session-ID) を確認してから、次のコマンドを使って /path/to/destination にファイルシステムの完全な復元を行います。
# xfsrestore -f /dev/st0 -S session-ID /path/to/destination

注記

ダンプの場所は -f オプションで指定し、復元するダンプの指定は -S または -L オプションで行います。セッション ID を指定するには -S オプションを使用し、セッションラベルには -L オプションを使用します。各ダンプのセッションラベルとセッション ID の両方を表示させるには -I オプションを使います。

xfsrestore の累積モード

xfsrestore累積 モードを使用すると、レベル 1 から レベル 9 への復元など、特定の増分バックアップからのファイルシステムの復元を行うことができます。増分バックアップからのファイルシステムの復元は、-r オプションを追加するだけで実行できます。
# xfsrestore -f /dev/st0 -S session-ID -r /path/to/destination

インタラクティブな操作

xfsrestore ユーティリティーは、任意のダンプからの特定ファイルの抽出、追加、または削除を実行します。xfsrestore をインタラクティブに使用する場合は以下のように -i オプションを使用します。
xfsrestore -f /dev/st0 -i /destination/directory
xfsrestore による指定デバイスの読み込みが終了すると、インタラクティブなダイアログが開始されます。このダイアログで使用できるコマンドは cdlsadddelete、および extract などになります。コマンドの詳細な一覧については help をご覧ください。
XFS ファイルシステムのダンプおよび復元方法についての詳細は、man xfsdump および man xfsrestore をご覧ください。