TOP比較データ> dumpとrestore
バックアップ・ソリューションの選択基準
バックアップ・ソリューションの選択基準

第5回:OSSでのバックアップ手法(後編)

著者:バックボーン・ソフトウエア  青木 浩朗   2005/3/22
1   2  3  4  次のページ
dumpとrestore

   dumpコマンドは前回のtarコマンドとは異なり、ファイル単位ではなく、ファイルシステム単位でバックアップするためのコマンドです。ディスクへのバックアップも可能ですが、主にテープ装置と一緒に使用されます。また、復旧時にはrestoreというコマンドを使用し、dumpコマンドによってバックアップされたイメージからファイルを復元します。

   ファイルシステム単位での取得のため、tarコマンドのようにディレクトリ指定を行うのではなく、デバイスファイルを指定することになります。ファイルシステムとして、ext2/ext3のみがサポートされている事が多く、他のファイルシステムで使用することはできません。このことは、manページに"dump - ext2/3 filesystem backup"と紹介されている事からも明らかです。

   以下の例は、Linuxから読み書き可能なvfatのファイルシステムですが、一度umountコマンドを実行してファイルシステムをアンマウントし、dumpコマンドでバックアップしようとしてもエラーになってしまいます。tarコマンドであれば、ファイルとして認識されていれば問題無くバックアップできるのに対して対照的です。


# mount
/dev/hdd5 on /vfat32 type vfat (rw)
# umount /dev/hdd5
# dump -0uf /dev/st0 /dev/hdd5
DUMP: Date of this level 0 dump: Wed Mar 16 02:10:39 2005
DUMP: Dumping /dev/hdd5 (an unlisted file system) to /dev/st0
/dev/hdd5: Bad magic number in super-block while opening filesystem
DUMP: The ENTIRE dump is aborted.
※編集局注
本記事はRed Hat Enterprise Linux AS 3(RHEL3)で動作の確認を取ったものです。異なるバージョンや他のディストリビューションでは、一部動作しない場合があります。
dumpとfstabの関係

   バックアップ以外では使用することのないdumpコマンドですが、意外なところで目にしているはずです。それは、/etc/fstabファイル内の設定です。第4フィールドまでは見ればわかりますが、第5と第6は、何となく指定している人も多いのではないでしょうか。

   実は、第5フィールドには、dumpコマンドを実行する際に、対象に含めるものと含めないものを区別しています。そのため、通常バックアップに必要ない"swap"や"/proc"は対象から外れているのです。フィールドの値が"1"の場合はdumpの対象に含めることを意味しますが、以下の例では意図的に"/data2"のフラグを立てずdumpの対象外としています。ちなみに、第6フィールドは、fsckを実行する順序になります。同一ディスクに同じ数字を割り当てるとfsckの実行が遅くなりますので、注意が必要です。

LABEL=//ext3defaults1 1
LABEL=/boot/bootext3defaults1 2
none/dev/ptsdevptsgid=5,mode=6200 0
none/procprocdefaults0 0
none/dev/shmtmpfsdefaults0 0
/dev/hdd3swapswapdefaults0 0
/dev/cdrom/mnt/cdromudf,iso9660noauto,owner,kudzu,ro0 0
/dev/fd0/mnt/floppyautonoauto,owner,kudzu0 0
/dev/hdd6/data1ext3defaults1 3
/dev/hdd7/data2ext3defaults0 4

   ファイルシステムレベルでの除外指定だけではなく、ファイルやディレクトリ単位でスキップさせたい場合には、chattrコマンドを使用します。chattrコマンドはファイルの属性を変更するコマンドで、「d」属性は「dumpしない」を表します。

# chattr +d ファイル名

   設定後の状態はlsattrコマンドによって確認できます。以下の例では、testdir2というディレクトリとtestfile2というファイルがスキップの対象であることが確認できます。

# lsattr
------------- ./lost+found
------------- ./testdata.dat
------------- ./testdir1
------d------ ./testdir2
------------- ./testfile1
------d------ ./testfile2

   属性を解除する場合は「+」ではなく「-」オペレータを使います。

1   2  3  4  次のページ


バックボーン・ソフトウエア
著者プロフィール
バックボーン・ソフトウエア株式会社  青木 浩朗
ストレージ専業ベンダーにて、SEおよび企画を担当した後に、2001年にBakBoneSoftware入社。主に大手ベンダーのSEを担当しながら、テクニカル・マーケティングとして、各種講演や執筆活動を行っている。最近は、特にデータベースとクラスタリングに注力し、検証レポートを作成するのをライフワークとしている。


INDEX
第5回:OSSでのバックアップ手法(後編)
dumpとrestore
  dumpコマンド
  restoreコマンド
  cronでスケジュール