<!-- The FreeBSD Documentation Project The FreeBSD Japanese Documentation Project Original revision: 1.26 $FreeBSD: doc/ja_JP.eucJP/books/handbook/backups/chapter.sgml,v 1.13 2000/07/20 12:22:29 hrs Exp $ --> <chapter id="backups"> <title>バックアップ</title> <sect1> <title>この章では</title> <para>この章ではデータのバックアップ方法とバックアップの作成に 使われるプログラムの説明をします. もしあなたがこの章に何かを 付け加えたいのなら, それを &a.doc; へ送ってください.</para> </sect1> <sect1 id="backups-tapebackups"> <title>テープメディア</title> <para>一般的なテープメディアには 4mm, 8mm, QIC, ミニカートリッジ, DLT があります.</para> <sect2 id="backups-tapebackups-4mm"> <title>4mm (DDS: Digital Data Storage)</title> <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> <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> <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> <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> <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> <para>よく使われる3つのプログラムは &man.dump.8;, &man.tar.1;, &man.cpio.1; です.</para> <sect2> <title>ダンプとリストア</title> <para>&man.dump.8; と &man.restore.8; は伝統的な Unixのバックアッププログラムです. これらはドライブのファイルシステム上のファイル, リンク, ディレクトリをディスクブロックの集まりとして処理します. &man.dump.8; はデバイスやファイルシステム全体をバックアップし, 一部分のバックアップや, &man.ln.1; によるソフトリンクや 他のファイルシステムをマウントを行った, 1 つ以上のファイルシステムにまたがる ディレクトリツリーのバックアップはできません. &man.dump.8; はファイルやディレクトリを構成する データブロックをテープに書くだけで, ファイルやディレクトリをテープに書くことはありません. &man.dump.8; には初期の ATT UNIX のバージョン 6 (1975 年ごろ) に由来する癖が残っています. デフォルトのパラメタは 9 トラックテープ (6250 bpi) に適したものになっていて現在の高密度メディア (最大 62,182 ftpi) に適していません. 現在のテープドライブの容量を有効に利用するため, デフォルト値をコマンドラインで置き換えなければなりません. </para> <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>&1</command> として <command>rdump</command>したような場合の restoreに使います) 警告: セキュリティは <literal>rhosts</literal>の管理にかかっています. あなたの状況を注意深く調べてください.</para> </sect2> <sect2> <title>Tar</title> <para>&man.tar.1; ATT Unix のバージョン 6 (1975ごろ) にさかのぼる事ができます. &man.tar.1; はファイルシステムと協調して機能し, ファイルやディレクトリをテープに書きます. &man.tar.1; は &man.cpio.1; で使えるようなフルレンジのオプションは持ちませんが &man.cpio.1; で使うような奇妙なコマンドパイプラインは必要ありません.</para> <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>&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>Cpio</title> <para>&man.cpio.1; は本来, Unix ファイルを磁気メディアで交換するためのプログラムです. &man.cpio.1; はバイトスワッピング, 多くの異なるアーカイブフォーマットの書き込みのオプション (それ以外にも多数のオプションがあります)があり, パイプで他のプログラムにデータを渡す事もできます. この最後に挙げた特徴により, &man.cpio.1; はインストールメディアについては優れた選択です. &man.cpio.1; は <filename>stdin</filename> からの入力でなければならず, ディレクトリツリーの探索や ファイルリストについての機能はありません.</para> <para>&man.cpio.1; はネットワーク経由のバックアップの機能はありません. リモートテープドライブにはパイプラインと &man.rsh.1; を使って送る事ができます. (コマンド使用例はまだです)</para> </sect2> <sect2> <title>Pax</title> <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>Amanda</title> <para><ulink url="../ports/misc.html#amanda-2.4.0">Amanda</ulink> (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> やその他の, コンピュータによってつくり出された ディレクトリツリーについては適切な方法です. 一つの例はこのハンドブックのファイルで, これらは <acronym>SGML</acronym> のファイルより生成された物です. <acronym>HTML</acronym> ファイルのバックアップを作る必要はありません. <acronym>SGML</acronym> のソースファイルは定期的にバックアップします. </para> </sect2> <sect2> <title>どのバックアッププログラムが最適でしょう?</title> <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> <para>ステップ 1では, ファイルシステムテーブル(<filename>/etc/fstab</filename>) やブートメッセージで示されるすべてのディスクの disklabelをそれぞれ2コピーづつプリント (例えば <command>disklabel da0 | lpr</command> を実行します) します.</para> <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> <para>ブートフロッピーディスクを作るスクリプトの一例</para> <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/rfd0c 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/rfd0a # # 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> </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> <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> <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/rfd0 *</userinput></screen> <para>1枚目のフロッピーがいっぱいになると &man.tar.1; は 次のボリュームを入れるようプロンプトを表示します. ( &man.tar.1; は, さまざまなメディアを扱えるので ボリュームと表示します. ここではフロッピーのことです)</para> <screen>Prepare volume #2 for /dev/rfd0 and hit return:</screen> <para>これは(ボリューム番号が増えながら) 指定された全てのファイルが 保存されるまで繰り返されます.</para> </sect2> <sect2 id="floppies-compress"> <title>バックアップを圧縮することはできませんか?</title> <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/rfd0</userinput></screen> <para>指定したファイルのみをリストアするには1枚目のフロッピーを セットして:</para> <screen>&prompt.root; <userinput>tar Mxvf /dev/rfd0 <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: -->