XFSファイル・システムのバックアップとリストア
xfsdump
パッケージには、ユーティリティのxfsdumpとxfsrestoreが含まれています。xfsdumpコマンドは、XFSファイル・システム内のファイルを調べ、バックアップが必要なファイルを特定し、それらをストレージ・メディアにコピーします。xfsdumpコマンドを使用して作成するバックアップは、エンディアン・アーキテクチャが異なるシステム間でポータブルです。xfsrestoreコマンドは、XFSファイル・システムの完全バックアップまたは増分バックアップをリストアします。バックアップからは、個別ファイルやディレクトリ階層をリストアすることもできます。
ノート:
LVMスナップショットはボリュームのスパース・クローンをすぐに作成しますが、xfsdumpはそれと異なり、時間をかけてファイル・システム・データのコピーを作成します。
xfsdumpコマンドを使用して、XFSファイル・システムのバックアップをテープ・ドライブなどのデバイスや、様々なファイル・システム上のバックアップ・ファイルに作成できます。バックアップは、同じデバイスに書き込まれる複数の物理メディアにまたがってもかまいません。また、同じメディアに複数のバックアップを書き込むこともできます。ファイルには、単一のバックアップのみを書き込むことができます。このコマンドでは、物理メディアにある既存のXFSバックアップは上書きされません。既存のバックアップを上書きする必要がある場合は、適切なコマンドを使用して物理メディアを消去する必要があります。
たとえば、次のコマンドは、XFSファイル・システム(/myxfs
)のレベル0(ベース)バックアップをデバイス/dev/st0
に書き込み、そのバックアップにセッション・ラベルを割り当てます。
sudo xfsdump -l 0 -L "Backup level 0 of /myxfs `date`" -f /dev/st0 /myxfs
同じコマンドを使用して、既存のバックアップに関連する増分ダンプを作成できます。次に例を示します。
sudo xfsdump -l level -L "Backup level level of /myxfs `date`" -f /dev/st0 /myxfs
レベル1バックアップではレベル0バックアップより後のファイル・システム変更のみが記録され、レベル2バックアップでは最新のレベル1バックアップより後の変更のみが記録され、以後同様にレベル9まで続きます。
[Ctrl]と[C]
を押すことでバックアップを中断し、xfsdumpに-Jオプション(ダンプ・インベントリの抑制)を指定しなかった場合は、-Rオプションを指定することで、後でダンプを再開できます。次に例を示します。
sudo xfsdump -R -l 1 -L "Backup level 1 of /myxfs `date`" -f /dev/st0 /myxfs
前述の例では、以前中断したセッションのバックアップ・セッション・ラベルが上書きされます。
xfsrestoreコマンドを使用して、XFSファイル・システムで作成したバックアップに関する情報の確認や、バックアップからのデータのリストアを実行します。
xfsrestore -Iコマンドを使用すると、セッションIDやセッション・ラベルなど、バックアップに関してわかっている情報が表示されます。バックアップ・メディアから特定のバックアップ・セッションをリストアするには、セッションIDまたはセッション・ラベルを指定します。
たとえば、セッションIDを指定してレベル0バックアップからXFSファイル・システムをリストアするには、次のコマンドを使用します。
sudo xfsrestore -f /dev/st0 -S c76b3156-c37c-5b6e-7564-a0963ff8ca8f /myxfs
-rオプションを指定して、レベル0バックアップからと、そのバックアップに基づいている上位のバックアップから、すべてのデータ累積的にリカバリします。
sudo xfsrestore -r -f /dev/st0 -v silent /myxfs
このコマンドは、レベル0のバックアップに基づいてアーカイブ内のバックアップを検索し、各バックアップを順番にリストアするかどうかを選択するプロンプトを表示します。選択したバックアップのリストア後に、このコマンドは終了します。なお、このコマンドは複数回実行する必要があります。最初にレベル0バックアップのリストアを選択し、その後、ファイル・システムのデータをリストアするために必要な最新のバックアップを含め、より高いレベルのバックアップを選択します。
ノート:
XFSファイル・システムの累積リストアが完了したら、xfsrestoreによってリストア先のディレクトリに作成された、housekeeping
ディレクトリを削除します。
次の例に示すように、選択したファイルやサブディレクトリのコンテンツをバックアップ・メディアからリカバリできます。コマンドを実行すると、指定したセッション・ラベルが付いたバックアップから、/myxfs/profile/examples
のコンテンツが/tmp/profile/examples
にリカバリされます。
sudo xfsrestore -f /dev/sr0 -L "Backup level 0 of /myxfs Sat Mar 2 14:47:59 GMT 2013" \ -s profile/examples /usr/tmp
別の方法として、-iオプションを指定すると、インタラクティブにバックアップを参照できます。次に例を示します。
sudo xfsrestore -f /dev/sr0 -i
前述の形式でコマンドを使用すると、ファイル・システム感覚でバックアップを参照できます。ディレクトリの変更、ファイルの一覧表示、ファイルの追加、ファイルの削除、バックアップからのファイル抽出が可能です。
あるXFSファイル・システムの内容全体を別のファイル・システムにコピーするには、-Jオプションを使用してxfsdumpコマンドとxfsrestoreコマンドを組み合せて、コマンドが実行する通常のダンプ・インベントリ・ハウスキーピングを抑制します。次に例を示します。
sudo xfsdump -J - /myxfs | xfsrestore -J - /myxfsclone
詳細は、xfsdump(8)
とxfsrestore(8)
のマニュアル・ページを参照してください。