doc/ja_JP.eucJP/books/handbook/backups/chapter.sgml
Hiroki Sato 7d20b3d5c6 Merge the following from the English version:
1.35  -> 1.37 	backups/chapter.sgml
	1.30  -> 1.31 	basics/chapter.sgml
	1.456 -> 1.458	contrib/chapter.sgml
	1.60  -> 1.61 	eresources/chapter.sgml
	1.18  -> 1.19 	kernelopts/chapter.sgml
	1.21  -> 1.22 	policies/chapter.sgml
	1.7   -> 1.9  	sound/chapter.sgml
2001-07-24 16:54:07 +00:00

982 lines
34 KiB
Text

<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.37
$FreeBSD: doc/ja_JP.eucJP/books/handbook/backups/chapter.sgml,v 1.19 2001/07/19 16:25:20 hrs Exp $
-->
<chapter id="backups">
<title>バックアップ</title>
<sect1>
<title>この章では</title>
<para>この章ではデータのバックアップ方法とバックアップの作成に
使われるプログラムについて扱います.</para>
</sect1>
<sect1 id="backups-tapebackups">
<title>テープメディア</title>
<indexterm><primary>テープメディア(tape media)</primary></indexterm>
<para>一般的なテープメディアには 4mm, 8mm, QIC, ミニカートリッジ,
DLT があります.</para>
<sect2 id="backups-tapebackups-4mm">
<title>4mm (DDS: Digital Data Storage)</title>
<indexterm>
<primary>テープメディア(tape media)</primary>
<secondary>DDS (4mm) テープ</secondary>
</indexterm>
<indexterm>
<primary>テープメディア(tape media)</primary>
<secondary>QIC テープ</secondary>
</indexterm>
<para>4mm テープはワークステーションのバックアップメディアとして
QIC から置き換えられつつあります. この傾向は
QICドライブの製造のリーダであった Archiveを Connerが買収し
QICドライブの製造を中止したことで加速しました.
4mmドライブは小型で静かですが 8mm
ドライブの持っているような信頼性の評判はありません.
カートリッジは 8mmカートリッジよりも安価で小型 (3 x 2 x 0.5
インチ; 76 x 51 x 12 mm) です. 4mmドライブ は
8mm同様にヘリカルスキャン (訳注:
VTRと同様の回転ヘッドを使う方式)
を使用しているという理由でヘッドの寿命は短いです.</para>
<para>これらのドライブのデータスループットは
150kB/s程度から最大で500kB/s程度の範囲です. データ容量は
1.3GBから 2.0GBです. ハードウェア圧縮が多くのドライブで可能で,
およそ 2倍の容量になります.
マルチドライブテープライブラリユニットは1つの筐体に
6ドライブを持つことができ自動的にテープを交換します.
ライブラリの容量は 240GBに達します. </para>
<para>現在の DDS-3 規格では, 12GB (圧縮時 24GB)
までのテープ容量をサポートしています.
</para>
<para>4mmドライブは 8mmドライブ同様にヘリカルスキャンを使います.
ヘリカルスキャンの利点と欠点は 4mm ドライブ と 8mm
ドライブ共通です.</para>
<para>テープの寿命は 2000 回のパスあるいは 100
回のフルバックアップです.</para>
</sect2>
<sect2 id="backups-tapebackups-8mm">
<title>8mm (Exabyte)</title>
<indexterm>
<primary>テープメディア(tape media)</primary>
<secondary>Exabyte (8mm) テープ</secondary>
</indexterm>
<para>8mm テープは SCSI
テープドライブとして最もよく使われているもので,
データ交換用として最良の選択です. ほとんどのサイトには Exabyte
の 2GB 8mm テープドライブがあるでしょう (訳注: Unix
ワークステーションを何台も置いているようなサイトには 1
台くらいはあるというような意味です). 8mm
ドライブは信頼性が高く, 使いやすく, 静かです.
カートリッジは安価で小型です (4.8 x3.3 x 0.6 インチ; 122 x 84
x 15 mm). 欠点は, テープとヘッドの相対的な速度が高速なために
比較的ヘッドとテープの寿命が短いことです.</para>
<para>データスループットは 250kB/s 程度から 500kB/s
程度の範囲です. データ容量は 300MB から 7GB です.
ハードウェア圧縮が多くのドライブで可能で,およそ 2
倍の容量になります. 単一のユニットのドライブから, 1
つの筐体に 6 台のドライブと 120
巻のテープを持ったマルチドライブテープライブラリまで
利用することができます. ライブラリではテープはユニットにより
自動的に交換されます. ライブラリの容量は 840GB
以上に達します.</para>
<para>Exabyte 社製の <quote>Mammoth</quote> というモデルは,
テープ一本あたり 12GB (圧縮時 24GB) をサポートしています.
このドライブの価格は, 通常のテープドライブの約 2 倍です.
</para>
<para>データはヘリカルスキャンを使ってテープに記録されます.
ヘリカルスキャン方式ではヘッドはメディアに対してある傾き
(約6度) に配置されます. テープはヘッドのある円筒の周の
270度にわたって接触します. テープが円筒面を走行する間,
円筒は回転しています. この結果,
高密度のデータのつまったトラックは,
狭い間隔でテープの上端と下端の間を斜めに横切ります. </para>
</sect2>
<sect2 id="backups-tapebackups-qic">
<title>QIC</title>
<indexterm>
<primary>テープメディア(tape media)</primary>
<secondary>QIC-150</secondary>
</indexterm>
<para>QIC-150 テープとドライブはたぶん最も一般的に使われている
ドライブとメディアでしょう. QIC
テープドライブは現実的なバックアップドライブとして
少なくとも高価なものではありません.
欠点はメディアのコストです. QIC テープは 8mm や 4mm
テープに比較して GB あたりのデータの保存で 5 倍ほど高価です.
しかしあなたの必要とする量が半ダース程のテープで十分であれば,
QICは正しい選択となるかもしれません. QIC は
<emphasis>最も</emphasis>一般的なテープドライブです.
すべてのサイトに QICドライブのどれかの容量のものがあります.
問題は, QIC は同じようなテープ (まったく同じ場合もある)
に多様な記録密度があることです. QIC
ドライブは静かではありません. これらのドライブはデータ記録を
開始する前に音をたててシークしますし, リード, ライト,
シークの時にはっきりと聞こえる音を出します. QIC
テープの大きさは (6 x 4 x 0.7 インチ; 152 x 102 x 17 mm).
<link
linkend="backups-tapebackups-mini">ミニカートリッジ</link>
で使われている 1/4 インチ幅のテープについては別に議論します.
テープライブラリやチェンジャはありません.</para>
<para>データスループットは 150kB/s から 500kB/s の範囲です.
データ容量の範囲は 40MB から 15GB です. ハードウェア圧縮が
最近の多くのドライブで使えるようになっています. QIC ドライブは
DAT ドライブに置き換えられつつあり,
あまり頻繁には利用されなくなっています.</para>
<para>データは複数のトラックにわかれてテープに記録されます.
トラックはテープメディアの
長さ方向の一端からもう一方の端までです. (訳注: 1トラックの
read/write が終わるとテープの走行方向を反転させ次のトラックの
read/write を行います) トラックの数と,
それに対応するトラックの幅はテープの容量によって変わります.
すべてではありませんがほとんどの最近のドライブは
少なくとも読み出しについては (場合によっては書き込みも)
下位互換性があります. QIC
はデータの安全性についてはよいといわれています
(ヘリカルスキャンドライブに比べて機構は単純でより丈夫です).
</para>
<para>テープは 5000回のバックアップで寿命となるでしょう.</para>
</sect2>
<![ %not.published; [
<sect2 id="backups-tapebackups-mini">
<title>* ミニカートリッジ</title>
<para></para>
</sect2>
]]>
<sect2 id="backups-tapebackups-dlt">
<title>DLT</title>
<indexterm>
<primary>テープメディア(tape media)</primary>
<secondary>DLT</secondary>
</indexterm>
<para>DLTはここに示したドライブのタイプの中で
最高速のデータ転送レートです. 1/2 インチ (12.5mm)
テープが単リールのカートリッジ (4 x 4 x 1 インチ; 100 x 100 x
25 mm) に入っています.
カートリッジのひとつの側面全体がスイングゲートになっています.
ドライブの機構がこのゲートを開け, テープリーダを引き出します.
テープリーダには楕円形の穴があり,
ドライブがテープを引っ掛けるのに使います.
巻き取りのためのリールはドライブの中にあります.
ここに挙げた他のカートリッジはすべて ( 9
トラックテープはただ1つの例外です)
送りだしリールと巻き取りリールの両方がカートリッジの中に
あります.</para>
<para>データスループットは約1.5MB/sで, 4mm, 8mm, QIC
テープドライブの3倍です. データ容量は単一のドライブで 10GBから
20GBの範囲です.
マルチテープチェンジャ,マルチテープドライブ,5から
900巻のテープを1から20ドライブで扱う
マルチドライブテープライブラリがあり, 50GB から 9TB
の容量が得られます.</para>
<para>圧縮機能により, DLT Type IV フォーマットは
70GB までの容量をサポートします.</para>
<para>データは ( QIC テープのように)
テープの走行方向と並行に複数あるトラックへ記録されます. 2
つのトラックに同時書き込みを行います. Read/Write
ヘッドの寿命は比較的長いと言えます.
テープの走行が止まればヘッドと
テープの間の相対運動はありません.</para>
</sect2>
<sect2>
<title id="backups-tapebackups-ait">AIT</title>
<indexterm>
<primary>テープメディア(tape media)</primary>
<secondary>AIT</secondary>
</indexterm>
<para>AIT は, Sony が発表した新しいフォーマットで,
テープ一本あたり 50GB(圧縮時) の容量を持っています.
テープには, 記録データ内容の索引情報が記録可能な
メモリチップが内蔵されています. ドライブがこの索引情報を読みとることで,
テープのどの部分にどのファイルが存在するかを
高速に調べることができるようになっています.
従来のドライブは, この処理に数分の時間を必要としていました.
直接テープのメモリチップと通信することでテープ内容を画面表示する
SAMS:Alexandria のようなソフトウェアを使うことで, 40 を超える
ATI テープライブラリを操作できるのはもちろんのこと,
どのテープのどこに, どのファイルがバックアップされているのか調べたり,
正しいテープをセットしたり,
テープ上のデータをリストアしたりすることが可能です.
</para>
<para>このようなテープライブラリにかかる費用は $20,000 台です.
業務用でないものはもう少し安価でしょう.
</para>
</sect2>
<sect2>
<title>新品のテープを最初に使う場合</title>
<para>新品の完全な空テープを読もうとしたり書き込もうとすると処理
は失敗するでしょう.
次のようなコンソールメッセージが出るでしょう.</para>
<screen>sa0(ncr1:4:0): NOT READY asc:4,1
st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<para>テープに識別ブロック (Identifire Block:block number 0)
がありません.QIC-525標準の採用されている
QICテープドライブのすべてで識別ブロックをテープに書きます.
2つの解決方法があります.</para>
<para>(訳注: 方法1)<command>mt fsf 1</command>
によってテープドライブは識別ブロックをテープに書きます.</para>
<para>(訳注:
方法2)フロントパネルのボタンを押してテープをとりだします.
</para>
<para>再びテープを入れ,データをテープに &man.dump.8; します.</para>
<para>&man.dump.8; はそのうちに <literal>DUMP: End of tape
detected</literal> と表示し, コンソールには
<literal>HARDWARE FAILURE info:280
asc:80,96</literal>と表示されるでしょう.</para>
<para><command>mt
rewind</command>を使ってテープを巻戻します.</para>
<para>この次からはテープの操作は成功するでしょう.</para>
</sect2>
</sect1>
<sect1 id="backup-programs">
<title>バックアッププログラム</title>
<indexterm><primary>バックアッププログラム(backup software)</primary></indexterm>
<para>よく使われる3つのプログラムは &man.dump.8;, &man.tar.1;,
&man.cpio.1; です.</para>
<sect2>
<title>dump と restore</title>
<indexterm>
<primary>バックアッププログラム(backup software)</primary>
<secondary>dump / restore</secondary>
</indexterm>
<indexterm><primary><command>dump</command></primary></indexterm>
<indexterm><primary><command>restore</command></primary></indexterm>
<para>Unixで古くから使われているバックアッププログラムは
&man.dump.8; と &man.restore.8; です.
これらはディスクドライブをディスクブロックの集まりとして,
ファイルシステム上につくられるファイル,
リンク, ディレクトリといった概念よりも低レベルで扱います.
&man.dump.8; はデバイスやファイルシステム全体をバックアップするもので,
ファイルシステムの一部や,
複数のファイルシステムにまたがるディレクトリツリーの一部だけを
バックアップすることはできません.
&man.dump.8; はファイルやディレクトリではなく,
ファイルやディレクトリを構成する生のデータブロックをテープに記録します.</para>
<note>
<para>ルートディレクトリで &man.dump.8; を使った場合,
<filename>/home</filename> や <filename>/usr</filename> など,
他の多くのディレクトリはバックアップされません.
これは, 上にあげたようなディレクトリが通常,
他のファイルシステムへのマウントポイントであったり,
他のファイルシステムへのシンボリックリンクとなっているためです.</para>
</note>
<para>&man.dump.8; には初期の ATT UNIX のバージョン 6 (1975
年ごろ) に由来する癖が残っています.
デフォルトのパラメータは 9 トラックテープ (6250 bpi)
に適したものになっていて,
現在の高密度メディア (最大 62,182 ftpi) に適していません.
現在のテープドライブの容量を有効に利用するため,
これらのデフォルト値をコマンドラインで必ず置き換える必要があります.</para>
<indexterm><primary><filename>rhosts</filename></primary></indexterm>
<para>また, &man.rdump.8; と &man.rrestore.8; を用いると,
他のコンピュータに接続されたテープドライブを使い,
ネットワーク経由でデータをバックアップすることも可能です.
どちらのプログラムもリモートテープドライブにアクセスするために
&man.rcmd.3; と &man.ruserok.3; に依存しています.
このためユーザがバックアップを実行するためには
<literal>rhosts</literal> によるリモートアクセスが必要です.
&man.rdump.8; と &man.rrestore.8;
の引数はリモートコンピュータに適切なものを用います.
&man.rrestore.8;
はリモートコンピュータから使うのに適しています. (例えば
FreeBSD コンピュータより <hostid>komodo</hostid> という名前の
Sun に接続されている Exabyte テープドライブへ
<command>/sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nrsa8
/dev/rda0a 2>&amp;1</command> として
<command>rdump</command>したような場合の restoreに使います)
警告: セキュリティは
<literal>rhosts</literal>の管理にかかっています.
あなたの状況を注意深く調べてください.</para>
<para>&man.ssh.1; を用いると
&man.rdump.8; と &man.rrestore.8;
をより安全な形で利用することができます.</para>
<example>
<title>ssh 経由で <command>rdump</command> を使う</title>
<screen>&prompt.root; <userinput>/sbin/dump -0uan -f - /usr | gzip -2 | ssh1 -c blowfish \
targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz</userinput></screen>
</example>
</sect2>
<sect2>
<title><command>tar</command></title>
<indexterm>
<primary>バックアッププログラム(backup software)</primary>
<secondary><command>tar</command></secondary>
</indexterm>
<para>&man.tar.1; AT&amp;T Unix のバージョン 6 (1975ごろ)
にさかのぼる事ができます. &man.tar.1;
はファイルシステムと協調して機能し,
ファイルやディレクトリをテープに書きます. &man.tar.1; は
&man.cpio.1;
で使えるようなフルレンジのオプションは持ちませんが
&man.cpio.1;
で使うような奇妙なコマンドパイプラインは必要ありません.</para>
<indexterm><primary><command>tar</command></primary></indexterm>
<para>大部分の &man.tar.1;
にはネットワーク経由のバックアップの機能はありませんが,
FreeBSD で使用されている GNU の &man.tar.1; は,
<command>rdump</command>
とおなじ構文でリモートデバイスを扱うことができます.
<hostid>komodo</hostid>
というホスト名の Sun に繋いである Exabyte
のテープデバイスに対して &man.tar.1; を実行するには,
次のようにします.
<command>/usr/bin/tar cf komodo:/dev/nrsa8 .
2>&amp;1</command> リモートデバイスをサポートしていない tar
を使用している場合は, パイプラインと &man.rsh.1; を使うことで,
リモートテープデバイスにデータを送る事ができます.
</para>
<screen>&prompt.root; <userinput>tar cf - . | rsh <replaceable>hostname</replaceable> dd of=<replaceable>tape-device</replaceable> obs=20b</userinput></screen>
<para>もしあなたがネットワークを越えるバックアップのセキュリティに
困っているなら &man.rsh.1; の代わりに &man.ssh.1; を使うべきです.</para>
</sect2>
<sect2>
<title><command>cpio</command></title>
<indexterm>
<primary>バックアッププログラム(backup software)</primary>
<secondary><command>cpio</command></secondary>
</indexterm>
<para>&man.cpio.1; は本来, Unix
ファイルを磁気メディアで交換するためのプログラムです.
&man.cpio.1; はバイトスワッピング,
多くの異なるアーカイブフォーマットの書き込みのオプション
(それ以外にも多数のオプションがあります)があり,
パイプで他のプログラムにデータを渡す事もできます.
この最後に挙げた特徴により, &man.cpio.1;
はインストールメディアについては優れた選択です. &man.cpio.1;
は <filename>stdin</filename> からの入力でなければならず,
ディレクトリツリーの探索や
ファイルリストについての機能はありません.</para>
<indexterm><primary><command>cpio</command></primary></indexterm>
<para>&man.cpio.1;
はネットワーク経由のバックアップの機能はありません.
リモートテープドライブにはパイプラインと &man.rsh.1;
を使って送る事ができます. </para>
<screen>&prompt.root; <userinput>for f in <replaceable>directory_list; do</replaceable></userinput>
<userinput>find $f >> backup.list</userinput>
<userinput>done</userinput>
&prompt.root; <userinput>cpio -v -o --format=newc < backup.list | ssh <replaceable>user</replaceable>@<replaceable>host</replaceable> "cat > <replaceable>backup_device</replaceable></userinput></screen>
<para><replaceable>directory_list</replaceable>
にはバックアップしたいディレクトリのリスト,
<replaceable>user</replaceable>@<replaceable>host</replaceable>
にはバックアップを実行するユーザ/ホスト名の組合せ,
<replaceable>backup_device</replaceable> には
バックアップ内容を保存する場所
(たとえば <filename>/dev/nrsa0</filename>) を指定します.</para>
</sect2>
<sect2>
<title><command>pax</command></title>
<indexterm>
<primary>バックアッププログラム(backup software)</primary>
<secondary><command>pax</command></secondary>
</indexterm>
<indexterm><primary><command>pax</command></primary></indexterm>
<indexterm><primary>POSIX</primary></indexterm>
<indexterm><primary>IEEE</primary></indexterm>
<para>&man.pax.1; は <command>tar</command> と
<command>cpio</command> に対する IEEE/POSIX の回答です.
長年の間, 様々なバージョンの <command>tar</command> や
<command>cpio</command> は,
互いにわずかながら非互換性を有していました.
各々をしらみ潰しに標準化する代わりに, POSIX
は新しいアーカイブユーティリティを作ることにしました.
<command>pax</command>
は専用に開発された新しいフォーマットに加えて, いくつもの cpio
や tar のフォーマットの読み書きに対応しようと試みています.
コマンド群は <command>tar</command> よりも
<command>cpio</command> の方にいくぶん似ています.</para>
</sect2>
<sect2 id="backups-programs-amanda">
<title><application>Amanda</application></title>
<indexterm>
<primary>バックアッププログラム(backup software)</primary>
<secondary><application>Amanda</application></secondary>
</indexterm>
<indexterm><primary><application>Amanda</application></primary></indexterm>
<para>
<application>Amanda</application> (Advanced Maryland Network Disk Archiver)
は単一のプログラムではなくクライアント /
サーバ型のバックアップシステムです. Amanda サーバは, Amanda
クライアントであるネットワークで
サーバに接続された複数のコンピュータから
一つのテープドライブへバックアップをおこないます.
このような場合の一般的な問題はいくつもの大容量の
ディスクからデータディレクトリをテープにバックアップするには
時間がかかりすぎてしまうという事です. Amanda
はこの問題を解決します. Amanda
は同時に複数のファイルシステムのバックアップをおこなう時に
「ホールディングディスク」を使う事ができます.
Amandaの設定ファイルに書いたすべてのファイルシステムの
フルバックアップを特定の間隔でとるために「アーカイブセット」
と呼ばれるテープグループを作ります.
これには夜間に作られるすべてのファイルシステムの増分
(あるいは差分として) のバックアップも含みます.
障害の起きたファイルシステムの回復には最も新しい
フルバックアップと増分のバックアップが必要です. </para>
<para>設定ファイルでバックアップのコントロールと Amanda
によるネットワークトラフィック量を設定します. Amanda
はデータをテープに書くのにバックアッププログラムの
いずれかを使うでしょう. Amanda
はその一部分でもパッケージでも利用可能ですが,
デフォルトではインストールされません. </para>
</sect2>
<sect2>
<title>何もしない</title>
<para><quote>何もしない</quote>
というのはコンピュータのプログラムではありませんが,
バックアップの戦略として最も広く採用されている物です.
これには初期投資が必要ありません.
したがわなければならないバックアップスケジュールもありません.
ただ何もしないだけです. もしデータに何かが起きたら,
苦笑いして耐えてください.</para>
<para>あなたにとって時間やデータの価値が少ないか
あるいはまったくないのであれば <quote>何もしない</quote>
のはあなたのコンピュータに最も適した
バックアッププログラムでしょう. しかし注意してください. Unix
は便利なツールです. 6 ヶ月も使っていれば価値のあるファイルの
山ができ上がっているでしょう.</para>
<para><quote>何もしないこと</quote> は
<filename>/usr/obj</filename> など,
コンピュータが同じものをもう一度作り直すことのできる
ディレクトリツリーに対して適した方法です.
一つの例として, このハンドブックの HTML 版, PostScript
版を構成するファイルが考えられます.
これらは両方とも SGML ファイルから生成されたものなので,
HTML 版と PostScript 版のバックアップをとる必要はありません.
一方, SGML ファイルは定期的にバックアップが行なわれています.</para>
</sect2>
<sect2>
<title>どのバックアッププログラムが最適でしょう?</title>
<indexterm>
<primary>LISA</primary>
</indexterm>
<para><emphasis>定期的に</emphasis> &man.dump.8; しましょう.
Elizabeth D. Zwicky はここで検討したプログラムすべてについて
拷問的なテストをおこないました. すべてのデータと
Unixファイルシステムの状態すべてを保存するには明らかに
&man.dump.8; でしょう. Elizabeth
は大きく変化に富んだ異常な状態
(いくつかはあまり異常でもない状態のものもあります)
になっているファイルシステムで,
それぞれのプログラムでファイルシステムの
バックアップとリストアを行ってテストしました.
特色のある状態には, ホールを持つファイル,
ホールとヌルブロックを持つファイル,
奇妙な文字をファイル名に持つファイル, 読み出し不可,
書き込み不可のファイル, デバイスファイル,
バックアップ中にファイルのサイズを変更する,
バックアップ中にファイルの作成/削除をおこなうなどがあります.
彼女は1991年10月の LISA Vで結果の発表をしています.<ulink
url="http://reality.sgi.com/zwicky_neu/testdump.doc.html">torture-testing Backup and Archive Programs</ulink> を参照してください.</para>
</sect2>
<sect2>
<title>緊急時のリストア手順</title>
<sect3>
<title>災難の起きる前に</title>
<para>起き得るどのような災難に対しても以下の
4ステップだけが必要な準備です.</para>
<indexterm>
<primary><command>disklabel</command></primary>
</indexterm>
<para>ステップ 1では,
ファイルシステムテーブル(<filename>/etc/fstab</filename>)
や起動メッセージで示されるすべてのディスクの
disklabelをそれぞれ2コピーづつプリント (例えば
<command>disklabel da0 | lpr</command> を実行します)
します.</para>
<indexterm><primary>fix-it floppies</primary></indexterm>
<para>ステップ 2では, <filename>boot.flp</filename> と
<filename>fixit.flp</filename>
にそのシステムのすべてのデバイスドライバが
含まれているか確認します. 最も簡単な確認の方法は,
フロッピディスクをドライブに入れて再起動し,
起動メッセージを確認することです.
あなたのシステムのデバイスがすべて含まれ, 機能していれば,
step 3へ飛んでください.</para>
<para>そうでないなら,
そのシステムのすべてのディスクをマウントでき,
テープドライブにもアクセスできる
2種類のカスタム起動フロッピディスクを作る必要があります.
これらのフロッピディスクには &man.fdisk.8;, &man.disklabel.8;,
&man.newfs.8;, &man.mount.8;,
と利用したいバックアッププログラムが
入っていなければなりません.
これらのプログラムはスタティックリンクされた
プログラムである必要があります. &man.dump.8;
を使うのであればフロッピディスクに &man.restore.8;
を入れる必要があります.</para>
<para>ステップ 3では, 通常の方法でバックアップを作ります.
最新のバックアップの後でおこなわれた変更は
回復することはできません.
バックアップテープにライトプロテクトをしてください.</para>
<para>ステップ 4では, フロッピディスク
(<filename>boot.flp</filename> と
<filename>fixit.flp</filename> あるいはステップ
2で作った2枚のカスタム起動フロッピディスクです)
とバックアップテープのテストをします.
手順のノートを作りましょう.
このノートは起動フロッピディスク,
バックアップテープに入れておきプリントアウトしておきます.
あなたがリストアをおこなうような時は
おそらく錯乱状態でしょうからこのノートはバックアップを
破壊してしまうようなことを防ぐのに役立つでしょう
(どのようにして破壊するって? <command>tar xvf
/dev/rsa0</command> とする替りに偶然 <command>tar cvf
/dev/rsa0</command>
とタイプしてバックアップテープに上書きしてしまうかも
しれません).</para>
<para>訳注: 上書きはライトプロテクトをしておけば防げますが,
なんらかの原因でプロテクトがはずれているかもしれません.
ちなみに訳者の経験から言えば上のようなミスタイプは
結構起きます.</para>
<para>安全性を増すために,
毎回起動フロッピディスクを作り, 2
巻のバックアップテープを取ります.
一方を離れた場所に保管します.
離れた場所は同じ建物の地下室ではいけません.
世界貿易センタービルにあった数多くの会社は
苦い経験よりこの教訓を得ました.
離れた場所とはコンピュータやディスクドライブから
かなり離れていて物理的に分離されていなければなりません.</para>
<example>
<title>起動フロッピディスクを作るスクリプトの一例</title>
<programlisting><![ CDATA [#!/bin/sh
#
# create a restore floppy リストアフロッピディスクの作成
#
# format the floppy フロッピディスクのフォーマット
#
PATH=/bin:/sbin:/usr/sbin:/usr/bin
fdformat -q fd0
if [ $? -ne 0 ]
then
echo "Bad floppy, please use a new one"
exit 1
fi
# place boot blocks on the floppy フロッピディスクに起動ブロックを書く
#
disklabel -w -B /dev/fd0c fd1440
#
# newfs the one and only partition ただ1つのパーティションを newfs
#
newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/fd0a
#
# mount the new floppy 新しいフロッピディスクをマウント
#
mount /dev/fd0a /mnt
#
# create required directories 必要なディレクトリの作成
#
mkdir /mnt/dev
mkdir /mnt/bin
mkdir /mnt/sbin
mkdir /mnt/etc
mkdir /mnt/root
mkdir /mnt/mnt # for the root partition
mkdir /mnt/tmp
mkdir /mnt/var
#
# populate the directories
#
# MINIカーネルがない場合は作ります
if [ ! -x /sys/compile/MINI/kernel ]
then
cat << EOM
The MINI kernel does not exist, please create one.
Here is an example config file:
# MINIカーネルの config fileの例
# MINI -- A kernel to get FreeBSD on onto a disk.
#
machine "i386"
cpu "I486_CPU"
ident MINI
maxusers 5
options INET # needed for _tcp _icmpstat _ipstat
# _udpstat _tcpstat _udb
options FFS #Berkeley Fast File System
options FAT_CURSOR #block cursor in syscons or pccons
options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device
options NCONS=2 #1 virtual consoles
options USERCONFIG #Allow user configuration with -c XXX
config kernel root on da0 swap on da0 and da1 dumps on da0
controller isa0
controller pci0
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk fd0 at fdc0 drive 0
controller ncr0
controller scbus0
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
device da0
device da1
device da2
device sa0
pseudo-device loop # required by INET
pseudo-device gzip # Exec gzipped a.out's
EOM
exit 1
fi
cp -f /sys/compile/MINI/kernel /mnt
gzip -c -best /sbin/init > /mnt/sbin/init
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
gzip -c -best /sbin/mount > /mnt/sbin/mount
gzip -c -best /sbin/halt > /mnt/sbin/halt
gzip -c -best /sbin/restore > /mnt/sbin/restore
gzip -c -best /bin/sh > /mnt/bin/sh
gzip -c -best /bin/sync > /mnt/bin/sync
cp /root/.profile /mnt/root
cp -f /dev/MAKEDEV /mnt/dev
chmod 755 /mnt/dev/MAKEDEV
chmod 500 /mnt/sbin/init
chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
chmod 555 /mnt/bin/sh /mnt/bin/sync
chmod 6555 /mnt/sbin/restore
#
# create the devices nodes デバイスノードを作る
#
cd /mnt/dev
./MAKEDEV std
./MAKEDEV sd0
./MAKEDEV sd1
./MAKEDEV sd2
./MAKEDEV st0
./MAKEDEV pty0
cd /
#
# create minimum filesystem table 最小限のファイルシステムテーブル
#
cat > /mnt/etc/fstab <<EOM
/dev/fd0a / ufs rw 1 1
EOM
#
# create minimum passwd file 最小限のパスワードファイル
#
cat > /mnt/etc/passwd <<EOM
root:*:0:0:Charlie &:/root:/bin/sh
EOM
cat > /mnt/etc/master.passwd <<EOM
root::0:0::0:0:Charlie &:/root:/bin/sh
EOM
chmod 600 /mnt/etc/master.passwd
chmod 644 /mnt/etc/passwd
/usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd
#
# umount the floppy and inform the user フロッピディスクを unmount
#
/sbin/umount /mnt
echo "The floppy has been unmounted and is now ready."]]></programlisting>
</example>
</sect3>
<sect3>
<title>災難の後に</title>
<para>重要な問題は, ハードウェアが生き残ったかどうかです.
定期的なバックアップを取っていれば
ソフトウェアについて心配する必要はありません.</para>
<para>ハードウェアがダメージを受けていたら,
最初にそのダメージを受けた部品を交換してください.</para>
<para>ハードウェアに問題がなければ,
フロッピディスクをチェックしてください.
カスタム起動フロッピディスクを使っているのであれば
シングルユーザ(<prompt>boot:</prompt> プロンプトの出た時に
<literal>-s</literal> とタイプしてください)
で起動してください. それから次の
「ファイルシステムを1つずつ回復する」
を読んでください.</para>
<para><filename>boot.flp</filename> と
<filename>fixit.flp</filename>
を使っているのであればこのまま読み続けてください.
<filename>boot.flp</filename> を入れて起動してください.
本来のインストールメニューが表示されるはずです. (ここで)
<literal>Fixit--Repair mode with CDROM or
floppy.</literal>オプションを選びます. 指示の通り
<filename>fixit.flp</filename> を入れてください.
<command>restore</command> とその他の必要なプログラムは
<filename>/mnt2/stand</filename>に置かれています.</para>
<para>ファイルシステムを一つずつ回復する</para>
<indexterm>
<primary><command>mount</command></primary>
</indexterm>
<indexterm><primary>root partition</primary></indexterm>
<indexterm>
<primary><command>disklabel</command></primary>
</indexterm>
<indexterm>
<primary><command>newfs</command></primary>
</indexterm>
<para>最初のディスクのrootパーティションを &man.mount.8;
(例えば <command>mount /dev/da0a /mnt</command> のように)
マウントしてみてください.
ディスクラベルが破壊されている場合は &man.disklabel.8;
を使ってあらかじめプリントしておいた通りに
パーティションを作り直しラベルをつけてセーブしてください.
&man.newfs.8; を使いファイルシステムを作り直します.
ルートパーティションを読み書き可能にマウント (<command>mount
-u -o rw /mnt</command>) しなおします.
バックアッププログラムとバックアップテープを使って
このファイルシステムのデータを回復します (例えば
<command>restore vrf /dev/sa0</command>とします).
ファイルシステムをアンマウント (<command>umount
/mnt</command>など) して,
障害を受けたファイルシステムそれぞれについて
繰り返してください.</para>
<para>システムが動き出したら,
新しいテープにデータをバックアップしてください.
どのような理由で再び事故が起きたりデータが
失われるかはわかりません. これに時間を費す事で,
後々の災難から救われる事になります.</para>
</sect3>
<![ %not.published; [
<sect3>
<title>* 災難対策をしていませんでした.
どうしたらいいでしょう?</title>
<para></para>
</sect3>
]]>
</sect2>
</sect1>
<sect1 id="backups-floppybackups">
<title>フロッピディスクへのバックアップはどうですか?</title>
<sect2 id="floppies-using">
<title>データをフロッピディスクにバックアップすることはできますか?</title>
<indexterm><primary>backup floppies</primary></indexterm>
<indexterm><primary>floppy disks</primary></indexterm>
<para>実はフロッピディスクはバックアップ向きのメディアとは言えません.
というのは:</para>
<itemizedlist>
<listitem>
<para>特に長期間に渡って保存する場合, 信頼性が低い.</para>
</listitem>
<listitem>
<para>バックアップ, リストアがとても遅い.</para>
</listitem>
<listitem>
<para>容量が小さい(ハードディスク全体の日々のバックアップに
1ダース, 長期間なら本当にたくさん).</para>
</listitem>
</itemizedlist>
<para>けれども, データをバックアップする他の手段がない場合には,
まったくバックアップをしないよりもフロッピディスクを使うほうが良い
でしょう.</para>
<para>これを行う場合には, 高品質のものを使うようにしてください.
まわりに何年も転がっていたフロッピディスクは使わない方よいでしょう.
評判のよいメーカの新品を使うことが理想です.</para>
</sect2>
<sect2 id="floppies-creating">
<title>どうやってデータをフロッピディスクにバックアップ
するのですか?</title>
<para>フロッピディスクへバックアップする最も良い方法は tar
&man.tar.1; コマンドに <option>-M</option> (マルチ・ボリューム)
    オプションを付けて, 複数のフロッピディスクにまたがるバックアップも
できるようにする方法です.</para>
<para>カレントディレクトリのすべてのファイルとサブディレクトリを
バックアップするには, 以下のようにします (root で):</para>
<screen>&prompt.root; <userinput>tar Mcvf /dev/fd0 *</userinput></screen>
<para>1枚目のフロッピディスクがいっぱいになると &man.tar.1; は
次のボリュームを入れるようプロンプトを表示します.
( &man.tar.1; は, さまざまなメディアを扱えるので
ボリュームと表示します. ここではフロッピディスクのことです)</para>
<screen>Prepare volume #2 for /dev/fd0 and hit return:</screen>
<para>これは(ボリューム番号が増えながら) 指定されたすべてのファイルが
保存されるまで繰り返されます.</para>
</sect2>
<sect2 id="floppies-compress">
<title>バックアップを圧縮することはできませんか?</title>
<indexterm>
<primary><command>tar</command></primary>
</indexterm>
<indexterm>
<primary><command>gzip</command></primary>
</indexterm>
<indexterm><primary>圧縮</primary></indexterm>
<para>残念ながら, &man.tar.1; はマルチ・ボリュームに保存する場合は
<option>-z</option> オプションを使うことができません.
もちろん, すべてのファイルを &man.gzip.1; してから, フロッピディスクに
&man.tar.1; して, ファイルを &man.gunzip.1;
することはできます!</para>
</sect2>
<sect2 id="floppies-restoring">
<title>リストアはどうしますか?</title>
<para>保存したファイルすべてをリストアするには:</para>
<screen>&prompt.root; <userinput>tar Mxvf /dev/fd0</userinput></screen>
<para>特定のファイルのみをリストアする方法は二つあります.
まず, 一枚目のフロッピディスクを挿入して次のようにします.</para>
<screen>&prompt.root; <userinput>tar Mxvf /dev/fd0 <replaceable>filename</replaceable></userinput></screen>
<para>&man.tar.1; は, 必要なファイルを見つけるまで, 続きのフロッピディスクを
セットするよう表示します.</para>
<para>別の方法として, どのフロッピディスクにファイルが入っているのかが
分かっているなら, そのフロッピディスクを挿入して上記と同じコマンドを
使うこともできます. 最初のファイルが前のフロッピディスクから続いて
いる場合は, &man.tar.1; は, 頼みもしないのに, そのファイルはリストア
できないと警告します!</para>
</sect2>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->