dump,restore


FreeBSD では、標準のシステムにテープデバイスを使うためのドライバや ユーティリティが含まれていて、簡単に使うことができます。デバイスドライバは フロッピーインターフェース(ft)、SCSI(st)、Archive/Wangtek カートリッジテープ(wt)が用意されています。
テープの用途としては、システムのバックアップ、インストール用テープなどが 考えられます。
ここでは、FreeBSD-3.1Release のシステムで DAT を使う方法について説明します。 なお、使用する DAT は、HEWLETT PACKARD 製の Sure Store 24e です。 SCSI ID を他と重複しない値に設定して、システムを再起動します。 システムの起動時には、以下のように認識されます。
sa0 at ahc0 bus 0 target 3 lun 0
sa0:  Removable Sequential Access SCSI-2 device 
sa0: 10.0MB/s transfers (10.0MHz, offset 32)
DAT が上記のようにシステムに認識されれば、使用することができます。

mt

mt は、テープドライブを操作するためのコマンドです。テープの巻き戻し、 巻き送り、頭出しや、ドライブの稼働状況の確認などができます。書式は以下のように なります。
% mt [-f テープ名] コマンド [カウント]
FreeBSD-3.x では、テープ名はデフォルトで /dev/nrsa0 となっているので、 SCSI テープドライブの場合は省略できます。「カウント」は数値です。 「コマンド」のうちでよく使用するものを以下に示します。
% mt status          ドライブの状態を表示します。
% mt offline         テープの巻き戻し、イジェクトを行います。
% mt rewind          テープを巻き戻します。
% mt erase           テープの中身を消去します。
% mt fsf カウント    ファイルを「カウント」数の分だけ早送りします。
% mt bsf カウント    ファイルを「カウント」数の分だけ巻き戻します。
% mt eom             最後に記録した位置の後ろまで先送りします。
fsf , bsf , eom コマンドは、1本のテープに複数のアーカイブを記録する場合などに 使用します。

tar

tar(tape archiver)は、その名前の通り、もともとはテープデバイスへの読み書きの ためのコマンドでした。もちろん、現在でもその目的で利用できます。FreeBSD の インストール用のテープを作成する場合にも tar を使用します。使用方法は、 アーカイブファイルの作成・展開と変わりません。具体例を挙げると、
# tar cvf /dev/nrsa0 パス
となります。/dev/nrsa0 と /dev/rsa0 は物理的なデバイスとして同じものを 指しますが、/dev/nrsa0 は書き込み/読み込みが終わった後に巻き戻しをしない、 /dev/rsa0 は、処理の終了後にテープの先頭まで巻き戻すという違いがあります。
また、-N オプションを使い、特定の日付より後に作成したファイルのみをアーカイブ したり、listed-incremental bakcup と呼ばれるインクリメンタルバックアップを 行うことができます。
listed-incremental backup を行うには、次のようにして行います。まず、規準と なる full backup を行います。
# tar -cv -g snap_list -f /dev/nrsa0 パス
これを実行すると、snap_list という名前で SNAPSHOT_FILE が作成されます。 次回からは、この snap_list を指定して、同じ形式のコマンドを実行します。

dump

dump と restore は伝統的な UNIX のバックアッププログラムで、ファイルシステム 単位で処理を行うのが特徴です。これらは、ドライブのファイルシステム上の ファイル、リンク、ディレクトリをディスクブロックの集まりとして処理します。
dump は、デバイスやファイルシステム全体をバックアップし、一部分の バックアップや、ln によるシンボリックリンクや、1つ以上のファイルシステムに またがったディレクトリツリーのバックアップはできません。また、 dump は、ファイルやディレクトリを構成するデータブロックをテープに書くだけで、 ファイルやディレクトリをテープに書くことはありません。
tar では、アーカイブ処理中に対象となっているディレクトリ内のファイルを 操作すると問題が起きる場合があります。この点について dump は非常に強靭に 作られており、問題が起きることはほとんどありません。このため、マルチユーザ 環境や作業を行いながらバックアップを行うには dump が適しています。
その反面、ファイルシステム単位でしかバックアップできないこと、ufs 系の ファイルシステムにしか利用できないことなどの制限があります。

dump の書式は、以下のようになります。
% dump オプション パラメータリスト ファイルシステム
「ファイルシステム」の指定は、マウントしているディレクトリ、あるいは raw デバイス名で指定します。
「オプション」については、よく利用するオプションを以下に示します。
0-9    dumpのレベルを指定します。
d      データ密度を指定します。単位は BPI(Bit Per Inch)
f      出力ファイルを指定します。通常のファイルも指定可能です。
s      テープの長さを指定します。単位はフィートです。
u      /etc/dumpdate ファイルをアップデートします。
a      容量の自動設定を行います。メディア終了検出つきのドライブ用です。
出力ファイルで /dev/nrsa0 と /dev/rsa0 については、tar と同様で、 /dev/nrsa0 は書き込み/読み込みが終わった後に巻き戻しをしない、 /dev/rsa0 は処理の終了後にテープの先頭まで巻き戻します。

dump のレベルには 0〜9 があります。0〜9 のレベルを組み合わせて、 インクリメンタルバックアップを行うことができます。u オプションを付けておくと、 dump を行った日時を /etc/dumpdate ファイルに記録します。
レベルは、0 が最高でフルバックアップです。レベル 1 は、最後にレベル 0 の バックアップを行った時点からの差分をバックアップします。同様にレベル 2 は 最後にレベル 1 のバックアップを行った時点からの差分をバックアップします。 レベル 9 まで階層的な差分バックアップができます。

d(データ密度)は、
メディア容量 = データ密度(d) × テープ長さ(s) × トラック数
という計算式より、メディアの容量を検出するために設定します。メディアの終了を 自動検出できないドライブの場合は、適正な値を設定しておく必要があります。 圧縮機能付きのドライブの場合は、単純にデータ密度と長さでは容量は決まりません ので、メディア終了検出機能があります。この場合は、a オプションを指定することに より、メディアの終了検知を行うドライブで、容量の自動設定を行います。
dump の実行例を以下に示します。
  DUMP: Date of this level 0 dump: Sat Feb 12 07:46:30 2000
  DUMP: Date of last level 0 dump: the epoch
  DUMP: Dumping /dev/rda1s1e (/home) to /dev/nrsa0
  DUMP: mapping (Pass I) [regular files]
  DUMP: mapping (Pass II) [directories]
  DUMP: estimated 5080771 tape blocks.
  DUMP: dumping (Pass III) [directories]
  DUMP: dumping (Pass IV) [regular files]
  DUMP: 8.82% done, finished in 0:51
  DUMP: 16.37% done, finished in 0:51
  ...
  DUMP: 95.36% done, finished in 0:02
  DUMP: DUMP: 5080450 tape blocks on 1 volumes(s)
  DUMP: finished in 3823 seconds, throughput 1328 KBytes/sec
  DUMP: level 0 dump on Sat Feb 12 07:46:30 2000
  DUMP: Closing /dev/nrsa0
  DUMP: DUMP IS DONE

restore

restore は、dump と逆の動作を行い、dump を行ったバックアップテープから復元を 行います。ファイルシステムの完全なリストアを行うには、まず、フルバックアップの リストアから始め、続いてその上にインクリメンタルバックアップをリストアします。 また、フルまたは部分バックアップから、単一のファイルやディレクトリの部分ツリー のみをリストアすることも可能です。
restore コマンドでよく利用するオプションを以下に示します。
f     アーカイブのファイル、デバイスを指定します。
r     リストアアーカイブからの復元を行います。特殊なファイルも含めた完全な復元を行います。
x     ファイルの展開を行います。カレントディレクトリ以下にディレクトリ構造などを含めてファイルが展開されます。
t     アーカイブのリストの出力を行います。
例えば、アーカイブに含まれるファイルの一覧を見るには、
% restore tf /dev/rsa0
とします。
アーカイブから復元するには、アーカイブを行ったファイルシステムのマウントされて いるディレクトリをカレントディレクトリにして、root で
# restore rf /dev/rsa0
を実行します。

戻る

sakai@oak.eg.t.kanazawa-u.ac.jp
Last modified: Sun Feb 13 00:29:58 JST 2000