9    アーカイブ・サービスの管理

システム管理者の重要な作業の 1 つに,損失または破壊したファイルの回復作業のサポートがあります。 この作業を効果的に行うには,ファイルを頻繁にかつ定期的にバックアップするための手順を設定しておく必要があります。 この章では,常駐のコマンドおよびユーティリティを使用してファイルやディレクトリをバックアップ (アーカイブ) およびリストアする方法について説明します。

重大な障害が発生した場合に,オペレーティング・システム全体およびユーザ・ファイルを正常な動作に復旧させるための手順を,障害復旧計画としてあらかじめ設計し,運用できるようにしておくことが大切です。 障害復旧計画は,サイトの運用形態やビジネスの必要条件によって大きく異なりますので,この章では説明していません。 ただし,バックアップは,このような計画を立てる際の重要な要素です。

この章では,以下の項目について説明します。

9.1    バックアップ作業の概要

この章では,UFS ファイル・システムを使用しているシステムの基本的なバックアップ操作について説明します。 使用しているシステムが次のいずれかの条件に該当する場合は,他のバックアップおよびリストア・ユーティリティも使用する必要があります。

バックアップとリストア操作の主な作業は,以下のとおりです。

9.2    データ・ファイルとシステム・ファイルのバックアップ

基本バックアップでは,dump および restore コマンドを使用できます。 サポートされているすべてのコマンド・オプションについての詳細は, dump(8) を参照してください。 Tru64 UNIX システムでは,アーカイブ,およびスタンドアロン・システム (SAS) のブート可能テープを作成するための,グラフィカル・ツールとコマンド行ツールもサポートされています。

バックアップと復元の手法で重要なこととして,データの損失を防止することがあります。 データの損失につながる可能性のある状況の発生を予防する上で有用な,システムをモニタするツールが各種あります。 たとえば,システムによっては環境のモニタリングをサポートしています。 また,周辺機器のテストや試験を行なうツールもあります。 また,イベントやエラーのロギング・システムもあり,バックアップ障害のような優先イベントに対してシステムをモニタするように構成できます。 自身のシステムやサイトに,イベント報告の手法をセットアップする方法については,Event Manager の使用方法について説明している第 13 章を参照してください。 Event Manager は,バックアップが成功したことの報告にも使えるので,スケージュールどおりにバックアップが行われたことを確認できます。

システムのすべてのファイル,ユーザ・ファイル,およびシステム・ファイルが失われないようにする必要があります。 システム・ソフトウェアを含めて,システム全体をバックアップしておく必要があります。 多くのシステム・ファイルは静的です。 つまり,一度インストールされると,変更されることはありません。 したがって,データ・ファイルほどには頻繁にバックアップする必要がありません。 増分バックアップも可能です。 これは,データが短時間に大きく変化する場合に検討する必要があります。

各ファイル・システムのバックアップは 1 つのプロセスとして実行されます。 バックアップ・プロセスを簡単にするには,定期的にバックアップするファイル・システムに動的なファイルを置き,必要に応じてバックアップするファイル・システムには静的な (システムまたはプログラム) ファイルを置くように,ファイル・システム構成を設定します。 しかし,必要に応じてバックアップを行うファイル・システムの中に,動的なファイルが混ざっていることがあります。 この場合,動的なファイルを定期的にバックアップするには,定期的にバックアップするファイル・システムに動的なファイルをコピーしてから,バックアップを実行する必要があります。 こうすることによって,ファイル・システム全体をバックアップすることなく,動的なファイルをバックアップできます。 シェル・スクリプトを記述してこの処理を自動化することもできます。 また,cron コマンドを使用してスケージュールを自動化することができます。 詳細は, cron(8) を参照してください。

9.3    バックアップ・スケジュールの選択

各ファイル・システムのバックアップの間隔を決定する場合,ユーザの時間やデータが失われた場合の影響の大きさと,バックアップに要する時間を比較検討する必要があります。 最低限保存しておくべき情報量が決まると,最低限のバックアップ間隔が決まります。 ほとんどのシステムではバックアップは毎日行いますが,他の間隔も選択できます。

増分バックアップの場合は,バックアップのたびにファイル・システムの全ファイルをバックアップする必要はありません。 前回のバックアップ以降変更されたファイルのみをバックアップします。 dump コマンドと restore コマンドを使用して,最高で 9 レベルの増分バックアップが実行可能です。 たとえば,レベル 0 のダンプは全体のファイル・システムをバックアップし,レベル 1 のダンプは,前回行ったレベル 0 のダンプ以降変更されたファイルをバックアップし,レベル 7 のダンプは,前回の下位レベルでのダンプ以降変更されたファイルをバックアップします。

ファイル・バックアップのスケジュールに増分バックアップを組み込むには,バックアップに要する時間およびテープ容量と,システム故障の際にシステムをリストアする時間とを比較検討する必要があります。 たとえば,連続する 10 日間のバックアップのバックアップ・レベルは次のようにスケジューリングすることができます。

[0 1 2 3 4 5 6 7 8 9]

最初の日に,全体のファイル・システム (レベル 0) を保存します。 2 日目に最初のバックアップ以降の変更内容を保存し,シーケンスを再開する 11 日目まで,その方式で継続します。 こうすることによって,最初の日以外は,バックアップに費す時間と保存するデータ量を,少なくすることができます。 しかし,10 日目にシステム障害が発生して,システム全体をリストアしなければならないとすると,10 本のテープすべてをリストアする必要があります。

ほとんどのシステムは,一般的なハノイの塔方式の変形バックアップ・スケジュールに従っています。 定期的にバックアップを取るファイル・システムすべてを,レベル 0 で月に 1 回テープにダンプします。 そして週に 1 回,レベル 1 のダンプを行い,それ以外の日は次のようなダンプ・レベルでバックアップを行います。

[...3 2 5 4 7 6 9 8 9 9 ...]

平日にバックアップを日に 1 回だけ行う場合,毎月のバックアップ・スケジュールは次のようになります。

[0 1 3 2 5 4 1 3 2 5 4 ...]

このスケジュールは少し複雑ですが,システム故障が 1 ヶ月のうちいつ発生してファイルが破壊されても,最高 4 本のテープをリストアするだけですみます。 もちろん,毎日レベル 0 のダンプをすれば,いつでも 1 本のテープをリストアするだけですみますが,バックアップごとに大量の時間とテープの記憶領域を必要とします。 ハノイの塔方式のスケジュールでは,ほとんどの日で,バックアップに必要な時間とテープの記憶領域が,非常に小さくなります。

9.4    バックアップの方法

データのバックアップには,必要性やローカル・システムの構成に応じて,次のようにいくつかの選択肢があります。

ツールによっては,スーパユーザ (root) として実行すると,追加のオプションが利用できるものがあります。

9.5    バックアップ実行の準備

以降の項では,バックアップの準備に必要な情報について説明します。 また,バックアップの準備に役立つユーティリティのリスト,および事前に行う作業についても説明します。

第 6 章では,UFS ファイル・システムについて説明しています。 『ハードウェア管理ガイド』では,ディスクおよびテープ・デバイスの使用方法と,バックアップするディスクおよびテープ・デバイスの決定方法について説明しています。 定期的なバックアップのスケジューリングについては,第 3 章cron コマンドの説明も参照してください。 バックアップを実行する際に必要なその他の情報は,以降の項に記載されています。

9.5.1    関連ドキュメント

バックアップ・ユーティリティの使用に関する追加ドキュメントが,マニュアルリファレンス・ページ,および オンライン・ヘルプ にあります。

9.5.1.1    マニュアル

以下のマニュアルは,アーカイブ・サービスについての役に立つ情報を含んでいます。

9.5.1.2    リファレンス・ページ

各ユーティリティには,起動方法とオプションを説明したリファレンス・ページがあります。

以下のリファレンス・ページには,ファイル・システムをテープへダンプし,それをディスクへリストアする基本的なユーティティについての情報があります。

以下のリファレンス・ページには,アーカイブ・ファイルを作成したり操作するための基本的なユーティリティに関する情報があります。

以下のリファレンス・ページには,ブート可能テープ・インタフェースに関する情報があります。

以下のリファレンス・ページには,特定の日時に実行するバックアップ・スクリプトのための cron エントリの作成に関する情報があります。

mcutil(1) のリファレンス・ページは,メディア・チェンジャ操作ユーティリティについて説明しています。

9.5.1.3    オンライン・ヘルプ

アーカイバおよびブート可能テープのグラフィカル・ユーザ・インタフェースには,オンライン・ヘルプがあり,ユーザのオプションを説明するとともに,各ウィンドウのデータ・フィールドに入力するデータを定義しています。

9.5.2    システム・ファイル

指定したファイル・システムや作成したアーカイブ・ファイルの他に,次のファイルがバックアップの作成時に使用または作成されます。

9.5.3    関連ユーティリティ

バックアップを実行するとき,次のユーティリティが便利です。

SysMan Station

SysMan Station を使用すると,システム上の使用可能なストレージ・デバイスをグラフィカルに表示できます。 このインタフェースを使用すると,ディスクおよびテープ・デバイスを識別してそれらのデバイス名を調べるのに便利です。

CDE のディスク使用状況マネージャ

CDE の「アプリケーション・マネージャ -- デスクトップツール」フォルダには,「ディスクの使用状況」ツールがあります。 このツールは,du コマンドを実行してディスク使用量のデータを返します。 /usr/users などのディレクトリのサイズをブロック単位で調べるには,「フォルダのサイズ」オプションを使用してください。 コマンド行ユーティリティの du および df は,それと同じデータを返します。

CDE のアプリケーション・マネージャ

CDE の「アプリケーション・マネージャ -- 日常管理」フォルダには,「システム情報」インタフェースがあります。 このツールは,ファイル使用量など,システム・リソースをグラフィカルに表示します。 事前に設定されたファイル使用量の制限値を超えたときに警告を表示するように,このモニタを設定することができます。 第 1 章の説明にあるように,SysMan Station を使用して,ファイル・システムをモニタすることもできます。

Event Manager

Event Manager は,ファイル・システムの制限を監視して問題を警告したり,自動的にファイル・システムのバックアップとクリーンアップを開始することができます。

dsfmgr および hwmgr

コマンド行インタフェースの dsfmgr および hwmgr により,デバイス名やディスクのパーティション・サイズなどのデバイス情報をシステムに照会することができます。

Disk Configuration GUI を使用しても,同様の情報を得ることができます。 この GUI は,CDE の「アプリケーション・マネージャ - システム設定」フォルダまたは SysMan Menu から呼び出すことができます。 このインタフェースでは,サイズの情報を M バイト,バイトおよびブロック単位で表示します。 disklabel コマンドを使用すると,コマンド行インタフェースでディスクを構成することができます。

9.5.4    事前に行う作業

次に示す事前に行う作業は,すべてのバックアップ方法に共通のものです。

9.6    dump コマンドの使用

dump コマンドは,指定されたすべてのファイル・システムや,指定の日付以降に変更のあった個々のファイルおよびディレクトリを,ファイル,パイプ,磁気テープ,ディスク,またはディスケットにコピーします。 AdvFS ファイル・システムのコピーについての詳細は,『AdvFS 管理ガイド』を参照してください。 dump コマンドを使用するには,スーパユーザの特権を持っていなければなりません。

注意

ファイル・システムを正しくバックアップするには,ファイル・システムがアクティブでないときにバックアップを行う必要があります。 ファイル・システムをアンマウントした後,ファイル・システムの一貫性を確認することをお勧めします。 また,システムをシングルユーザ・モードにしてからバックアップの作業を開始することも,1 つの方法です。 だだし,AdvFS ファイル・システムの場合はこれはあてはまりません。

9.6.1    フル・バックアップの実行

すべてのシステム・ソフトウェアを含むシステム全体の各ファイル・システムのフル・バックアップを実行するスケジュールを設定してください。 システムのフル・バックアップの従来のスケジュールは,レベル 0 ダンプをハノイの塔方式を使用して 1 ヶ月に 1 回実行するというものです。 しかし,記憶媒体の信頼性に応じてスケジュールを設定することができます。 たとえば,磁気テープの信頼性は約 2 年です。 ファイル・システムをバックアップするには,dump コマンドを使用します。 ブロック・サイズ,テープ記録密度,およびテープ長などのテープ・デバイスの特性を指定するために使用するコマンド・オプションについては, dump(8) を参照してください。 dump コマンドを使うときは,絶対パス名でファイル・システムを指定します。 dump コマンドはファイル・システムを一度に 1 つしかバックアップできませんが,数個の dump プロセスを同時に使用して,複数のテープ・デバイスにファイルを書き込むことができます。

以下に,dump コマンドでよく使用されるオプションを説明します。

-integer

ダンプ・レベルを整数 (0〜9) で指定します。 ダンプ・レベル 0 では,指定されたファイル・システムのフル・ダンプが行われます。 他のダンプ・レベルではすべて,増分バックアップが行われます。 つまり,下位のダンプ・レベルで行った前回のダンプ以降変更されたファイルのみがバックアップされます。 /etc/dumpdates ファイルには,各ファイル・システムに対する dump コマンドの使用記録がダンプ・レベルとともに収められています。 dump コマンドに -u オプションを付けると,dumpdates ファイルが更新されます。

-f dump_file

省略時のデバイス /dev/tape/tape0_d0 ではなく,dump_file で指定されたデバイスにダンプを書き込みます。 dump_file にダッシュ (-) を指定すると,dump コマンドは標準出力に書き込みを行います。

-u

バックアップ時に,/etc/dumpdates ファイル内の,ファイル・システムに対するダンプ時間とダンプ・レベルを更新します。 このファイルは,増分バックアップの際にダンプ・レベルを調べるために使用されます。 必要であれば,/etc/dumpdates ファイルを編集して,レコードやフィールドを変更することができます。 詳細については, dump(8) を参照してください。

ファイル・システム全体を省略時のバックアップ・デバイスにバックアップするには,マシンの各ファイル・システムに対して dump コマンドを使用します。 dump -0u コマンド・オプションは,レベル 0 でダンプを実行し,/etc/dumpdates ファイル内の各ファイル・システムのバックアップ時刻と日付を更新します。 これにより,次回のフル・バックアップつまりレベル 0 ダンプまでのすべての増分バックアップの基準となる始点が作成されます。 各ファイル・システムは,別々にバックアップしなければなりません。

たとえば,ルート (/),/usr,および /projects ファイル・システムのパーティションに対してレベル 0 のダンプを実行したい場合,次の手順に従ってください。

  1. ルート・ファイル・システムをバックアップするには,以下の手順を実行します。

    1. テープをテープ・ドライブにロードします。

    2. 次のコマンドを実行します。

      # dump -0u /
      

    3. バックアップ終了後,テープをテープ・ドライブから取り出します。

  2. /usr ファイル・システムをバックアップするには,以下の手順を実行します。

    1. 新しいテープをテープ・ドライブにロードします。

    2. 次のコマンドを実行します。

      # dump -0u /usr
      

    3. バックアップ終了後,テープをテープ・ドライブから取り出します。

  3. /projects ファイル・システムをバックアップするには,以下の手順を実行します。

    1. 新しいテープをテープ・ドライブにロードします。

    2. 次のコマンドを実行します。

      # dump -0u /projects
      

    3. バックアップ終了後,テープをテープ・ドライブから取り出します。

各ファイル・システムを個別のテープにバックアップすることも,出力デバイスとして /dev/ntape/tape0_d0 を指定することによって,巻戻しをしないで 1 本のテープに複数のファイル・システムをバックアップすることもできます。 次の例では,ルート (/),/usr,および /projects ファイル・システムを 1 本のテープにバックアップします。

# dump -0uf /dev/ntape/tape0_d0 /
# dump -0uf /dev/ntape/tape0_d0 /usr
# dump -0uf /dev/ntape/tape0_d0 /projects

上記の例では,テープとダンプ・ファイルの相互参照,特に単一のダンプ・ファイルがメディアにまたがっている場合には,さらにメディア管理が必要です。 この種のバックアップ・メディアへのラベル付けにも注意してください。

9.6.2    増分バックアップの実行

バックアップ・スケジュールの一環として,定期的なバックアップが容易にできるように定期的なバックアップのプロセスを確立します。 バックアップとそのダンプ・レベルのログを取り,作成したテープの内容をリストする機構を組み込みます。 システムが壊れる可能性もあるため,この情報はローカル・コンピュータ・システムに保持しない方がよいでしょう。

増分バックアップをするためのプロセスが確立すると,その後のバックアップ作業は簡単になります。 次のバックアップ・スケジュールを使用して,/usr の毎日のバックアップを行うとします。

0 1 9 9 9 1 9 9 9 9 ...
 

月曜日に次のコマンドを使用して,レベル 0 ダンプを実行します。

# dump -0u /usr
 

火曜日に次のコマンドを使用して,レベル 1 ダンプを実行します。

# dump -1u /usr
 

レベル 1 ダンプは,月曜日以降に変更された全ファイルをバックアップします。 水曜日から金曜日までは,次のコマンドを入力してレベル 9 のダンプを実行し,常に,火曜日のレベル 1 ダンプ以後変更された全ファイルをバックアップします。

# dump -9u /usr
 

省略時のテープ・デバイスではなく,/dev/tape/tape1_d0 というテープ・デバイスに同じレベル 9 のダンプを実行するには,次の例に示すように -f オプションを使用します。

# dump -9uf /dev/tape/tape1_d0 /usr
 

-f オプションに対する引数には,ダンプを実行しているシステムのローカルなテープ・デバイスを指定します。

9.6.3    リモート・バックアップの実行

ネットワーク化されたシステム環境では,バックアップを取るために使用できるローカルのテープ・ドライブを持たないマシンもあります。 この場合,rdump コマンドを使用して,リモートに配置されたテープ・デバイスにバックアップを取ることができます。 rdump コマンドは dump コマンドとほとんど同じですが,マシン名およびそれに接続されているバックアップ・デバイスを指定するための -f オプションを必要とする点が異なります。 rdump コマンドのオプションについては, dump(8) を参照してください。

rdump コマンドは,ローカル・マシンの /etc/dumpdates ファイルを dump コマンドと同じ方法で更新します。 rdump コマンドは,リモート・マシン上でリモート・サーバ /usr/sbin/rmt を起動して,記憶媒体をアクセスします このサーバ・プロセスは透過的です。 詳細は, rmt(8) を参照してください。

bhost2 に接続されているテープ・ドライブ /dev/rmt0h に bhost1 から /projects ファイル・システムをバックアップするには,bhost1 で次のコマンドを入力してください。 アクセスするには,bhost1 の名前が bhost2 の /.rhosts ファイルに定義されていなければななりません。

# rdump -0uf bhost2:/dev/tape/tape0_d0 /projects
 

9.6.4    バックアップ・スクリプトの使用

シェル・スクリプトを使用してバックアップ・プロセスを自動化することができます。 このシェル・スクリプトは,システムの変更によって dump コマンドがエラーを起こす可能性が少ない深夜に cron デーモンによって実行します。

バックアップ・シェル・スクリプトは,次のような処理に使用します。

あらかじめテープ・ドライブにテープをロードしておきます。 指定した時刻に,cron デーモンによってバックアップ・シェル・スクリプトが実行されます。 シェル・プロシージャが終了したら,バックアップ・テープを取り外し,保管してください。

バックアップ・シェル・スクリプトは,ダンプが少量で,1 本のテープに収まる場合に最も効率よく使用できます。 dump コマンドに -N オプションおよび非巻戻し型のデバイスを指定して,各ダンプの完了時に自動的にテープがオフラインにならないようにする必要があります。 dump コマンドがテープの終端に達すると,そのテープがオフラインになるため,誰かがテープを交換する必要があります。

9.7    データのリストア

バックアップ・テープからのファイルの取り出しが必要なことがあります。 また,ファイル・システム全体のリストアが必要になることもあります。 効率的なバックアップ手順を設定すると,ファイルまたはファイル・システム全体のリストアが簡単になります。

重大な問題が発生した場合には,システム全体をリストアする必要が生じます。 リストアをする前に,システムの問題の原因を調べてください。

問題の原因が判明した後,最初のブート・テープからシステムを再インストールする方法があります。 システムに付属のインストレーション・ガイドを参照してください。

システムを起動したら,システムをシステム・クラッシュの直前の状態に復元してください。 AdvFS ファイル・システムを使用している場合は vrestore コマンドを使用します。 AdvFS ファイル・システムのリストアについての詳細は『AdvFS 管理ガイド』を参照してください。 UFS ファイル・システムをバックアップするのに vdump コマンドを使用した場合は,リストアするのに vrestore コマンドも使用することができます。 ただし,dump コマンドを使用した場合,ファイルの回復には restore コマンドを使わなければなりません。 dump コマンドは,一度に 1 つのファイル・システムしか保存しないため,リストアしたいファイル・システムそれぞれについて vrestore コマンドを実行しなければなりません。 コマンド構文については, restore(8) を参照してください。

9.7.1    ファイル・システムのリストア

ここでは,ディスク障害またはその他のデータ損失の後などに行う,ファイル・システムのリストアについて一般的な方法を説明します。 個々のファイルのリストアについては9.7.2 項を参照してください。

ファイル・システムをリストアするには,新しくファイル・システムを作成し,以下のコマンドを使ってダンプ・ファイルからファイル・システムをリストアします。

newfs

新規に UFS ファイル・システムを作成する。 詳細は, newfs(8) を参照してください。

mount

ファイル・システムをマウントし,一般に使用できるようにする。 詳細は, mount(8) を参照してください。

cd

現在の作業ディレクトリを変更する。 詳細は, cd(1) を参照してください。

restore

バックアップ媒体からディスクへアーカイブ・ファイルをリストアする。 詳細は, restore(8) を参照してください。

AdvFS のリストアについては『AdvFS 管理ガイド』を参照してください。

ディスクにラベルがない場合は,disklabel コマンドを使用してラベルを書き込んだ後,新しいファイル・システムを作成する必要があります。 詳細は, disklabel(8) を参照してください。

カスタマイズしたパーティション・テーブル設定でラベルを書き込むと,ディスク全体に影響する場合がありますので注意してください。 次のコマンドで省略時のディスク・パーティション・テーブルを書き込みます。

# /sbin/disklabel -rw dsk1
 

disklabel コマンドの編集オプションを呼び出して,カスタマイズしたパーティション・テーブル設定を使用します。 詳細については,第 6 章を参照してください。 ディスク設定インタフェースを使用することもできます。 詳細は, diskconfig(8) を参照してください。

次の例は,/usr/projects というファイル・システムをテープからリストアするためのコマンドを示しています。

# disklabel -rw dsk1
# newfs /dev/rdisk/dsk1c
# mount /dev/rdisk/dsk1c /usr/projects
# cd /usr/projects
# restore -Yrf /dev/tape/tape0_d0
 

9.7.2    手動によるファイルのリストア

データ・ファイルが失われた場合,ユーザはシステム管理者に対してファイルをリストアするよう依頼します。 ファイルの以前のバージョンをリストアするように依頼することもあります。 UFS ファイル・システムをリストアする場合,ファイル・リストアの理由にかかわらず,必要なバージョンのファイルの入っているテープを確認する必要があります。 ファイルの損失時期および最後の変更時間を確認し,バックアップ・ログを調べることによって,どのテープに必要なファイルの最新バージョンが入っているかが分かります。

-t オプションを付けて restore コマンドを実行し,選択したテープに必要なファイルがあるかどうかを調べます。 -t オプションは,テープに作成されたファイルとディレクトリのリストを作成します。 たとえば,特定のバックアップ・テープにある /usr ファイル・システムの working サブディレクトリの内容をリストするには,テープをロードして次のコマンドを入力します。

# restore -t ./working
 

バックアップ・テープ全体の内容のリストを作成するには,バックアップ・テープをロードして次のコマンドを入力します。

# restore -t
 

バックアップ・テープ作成後に,それぞれのリストを作成しておいてください。 これによって,バックアップの正常終了が確認され,そのテープにどのようなファイルが存在するか検索できます。

ファイルの位置が判明した後,そのファイル用に新しいディレクトリを作成してください。 ファイルを既存のディレクトリにリストアしようとする場合に,ファイルがすでに存在していると,既存のファイルはリストアされるファイルで上書きされます。

たとえば,working/old.file ファイルを /usr ファイル・システム・バックアップ・テープから現在のディレクトリにリストアするには,バックアップ・テープをロードして次のコマンドを入力します。

# restore -x ./working/old.file
 

同じテープから working サブディレクトリの全内容をリストアするには,次のコマンドを入力します。

# restore -x ./working
 

ダンプ用メディアに複数のダンプ・イメージがある場合,必要なファイルが何番目のダンプ・イメージに存在するかを知っていなければなりません。 メディアの最初のダンプ・イメージの内容を調べるには,テープをロードして,次のコマンドを入力します。

# restore -ts 1
 

-s オプションの後に番号 1 を付けると,最初のダンプ・イメージが指定されます。

たとえば,バックアップ・テープの 3 番目のダンプ・イメージである /usr ファイル・システムの working/old.file ファイルを,現在のディレクトリへリストアするには,バックアップ・テープをロードして,次のコマンドを入力します。

# restore -xs 3 ./working/old.file
 

9.7.3    ファイルの対話式リストア

複数のファイルを簡単にリストアするためには,restore コマンドに -i オプションを付けて実行します。 このオプションは,restore セッションを対話式で開始させます。 対話式モードには,シェル・コマンドと類似したコマンドがあります。

対話式 restore セッションを開始するには,次のコマンドを入力します。

# restore -i
 

次のプロンプトが表示されます。

restore >
 

対話式リストア・モードでは,次のコマンド行オプションが利用可能です。

ls [ directory ]

現在のディレクトリまたは指定されたディレクトリのファイルをリストします。 ディレクトリには後ろに / (スラッシュ) が付きます。 読み取りが指定されているエントリには,先頭にアスタリスク (*) が付きます。

cd [ directory ]

現在のディレクトリを directory 引数で指定されたディレクトリに変更します。

pwd

現在のディレクトリのパス名をリストします。

add [ files ]

現在のディレクトリのファイルまたは files 引数に指定されたファイルを,テープから復元するファイルのリストに追加します。 add コマンドで「読み取るように」指定すると,ファイルにアスタリスク (*) のマークが付きます。 このアスタリスクは,ls コマンドでファイルをリストすると表示されます。

delete [ files ]

テープから復元されるファイルのリストから,現在のディレクトリの全ファイルまたは files 引数で指定されたファイルを削除します。

extract

現在の作業ディレクトリに,「読み取るように」指定されているファイルをテープからリストアします。 extract コマンドは,マウントする論理ボリューム (通常は 1) を尋ねるプロンプトと,ドット(.) つまり現在のディレクトリのアクセス・モードを設定するかどうかを尋ねるプロンプトを表示します。 root ディレクトリ全体をリストアする場合,yes と答えます。

setmodes

読み取りファイル・リストに追加された全ディレクトリについて,所有者,アクセス・モード,およびファイル作成時刻を設定します。 ファイルはテープからまったく復元されません。 restore コマンドが中断した場合に,このコマンドを使用してファイルを整理します。

verbose

詳細報告 (verbose) モードに切り替えます。 詳細報告モードでは,各ファイル名が標準出力にプリントされます。 省略時の設定では,詳細報告モードはオフになっています。 restore コマンドに -v オプションを付けることと同じです。

help

対話式コマンドの一覧をリストします。

?

対話式コマンドの一覧をリストします。

what

テープ・ヘッダ情報をリストします。

quit

対話式リストア・セッションを終了します。

xit

対話式リストア・セッションを終了します。 xit コマンドは,quit コマンドと同じです。

バックアップ・テープからファイル ./working/file1 および ./working/file2 を対話形式でリストアするには,テープをロードして次のコマンドを入力してください。

# restore -i
 

対話式モードに入ったら,抽出したいファイルのリストに必要なファイルを追加し,リストアします。

  1. ディレクトリを working に変更します。

    たとえば,次のように入力します。

    restore > cd working
     
    

  2. プロンプトに対して次のようにファイル名を入力します。

    restore > add file1
     
    

  3. 次のように 2 番目のファイルの名前を入力します。

    restore > add file2
     
    

  4. 次のコマンドを使用して,ファイルを抽出します。

    restore > extract
     
    

  5. マウントする論理ボリュームの入力を求められます。

    次の例のように,通常このプロンプトには 1 と答えます。

    You have not read any tapes yet.
    Unless you know which volume your file(s) are on you can start
    with the last volume and work towards the first.
     
    Specify next volume #: 1
     
    

    次に,リストア時にドット (.) つまり現在のディレクトリのアクセス・モードを設定するかどうかを聞いてきます。 例では n と答えています。

    set owner/mode for '.'? [yn] n
     
    

  6. ファイルが抽出された後,次のコマンドを入力して対話式セッションを終了させます。

    restore > quit
    

上記の手順を実行すると,ファイル file1 および file2 が現在のディレクトリに存在します。

上記の手順を restore コマンドの -F オプションが読み取るコマンド・ファイルに記述して自動化することができます。 たとえば,次の,restore_file というコマンド・ファイルは,前述の例で示したリストア操作を実行します。

cd working
add file1
add file2
extract
1
n
quit
 

このシェル・スクリプトを読み取って実行させるには,次のコマンドを入力します。

# restore -iF restore_file
 

このコマンドの実行結果は,前の対話式リストア・セッションのものと同じです。

9.7.4    ファイルのリモート・リストア

rrestore コマンドを使用してリモート・テープ・デバイスからローカル・ディレクトリにファイルをリストアします。 rrestore コマンドでリモート・マシン名およびそのバックアップ・デバイスを指定するには,-f オプションが必要です。 詳細は rmt(8) を参照し,rrestore コマンドのオプションについての説明は9.7 節を参照してください。

バックアップ・デバイスが接続されているリモート・システムの名前と,そのリモート・システムのバックアップ・デバイスの名前を system:device の形式で指定します。

バックアップ・デバイス /dev/rmt0h が接続されている system2 にマウントされているバックアップ・テープから ./working/file1 ファイルを system1 にあるローカル・ディレクトリにリストアするには,system1 で次のコマンドを入力します。 system1 から system2 にアクセスできるようにするには,system1 の名前が system2 の /.rhosts ファイルになければならないことに注意してください。

# rrestore -xf system2:/dev/tape/tape0_d0 ./working/file1
 

rrestore コマンドは,リモート・システム上でリモート・サーバ /usr/sbin/rmt を起動して記憶媒体にアクセスします。

9.7.5    システム (ルート) ディスクの回復または複製

以前のバージョンのオペレーティング・システムでは,SCSI バスのターゲットに従い,ドライブの物理的な位置をベースにデバイス名が割り当てられていました。 Version 5.0 以降では,デバイス名は論理的に割り当てられ,データベースに格納されています。 デバイス名とデバイスのバス・アドレスには,何も関連がありません。

ルート・ファイル・システムを正しくリストアしたり,ルート・ディスクを容量がより大きいディスクへ移動するには,デバイス・データベースを回復し,場合によってはアップデートしなければなりません。 デバイスをテープ・バックアップ・メディアからリストアする場合は,デバイス (テープ・デバイスなど) をデバイス・データベースにインストールしなければならないこともあります。

システムをリブートしてリストアしている際に,次のメッセージが表示されることがあります。

Unable to save existing hardware configuration.
New configuration will be used

このメッセージは,デバイス・データベースが回復不可能なため,リストアしなければならないことを示します。

次の手順は,ルート・ディスクの回復または複製 (クローニング) を行う一般的な方法です。 次のシナリオが考えられます。

注意

この手順では,ネットワーク・バックアップからの回復方法は特に示していません。 また,AdvFS ファイル・システムの回復についても特に示していません。 詳細は,『AdvFS 管理ガイド』を参照してください。

次の項については,情報をご存知の場合は読まなくても構いません。

9.7.5.1    回復または複製の準備

システムのセットアップ方法や,システムに対する知識に応じて,次の処理が必要です。

システムの状態は,表 9-1 のとおりでなければなりません。

表 9-1:  回復の準備

要件 説明
最近のフル・バックアップ ルート・ボリューム上にあるオペレーティング・システムのすべてのファイル・セットのフル・バックアップが必要。 このバックアップには,ルート (/),/usr,および /var が含まれる。
システム構成

この手順は,/usr ファイル・システムと /var ファイル・システムも含むことがある,ルート・パーティションに使用されるディスクが 1 つ存在する構成すべてに適用される。 リストアされたルート・ディスクを入れるために,正常に動作するディスク・ドライブが必要。 このディスクは,オペレーティング・システムのリストア・リリースの制限値に定義されている,最小ストレージ・スペースを持たなければならない。 リストア・デバイス (一般的にはテープ・ドライブ) はローカルでなければならず,リモート・バックアップ・デバイスは使用できない。

Logical Storage Manager

Logical Storage manager (LSM) を使用している場合,ルート・ボリュームの回復について,『Logical Storage Manager』を参照。

ユーザ・インタフェース

この手順では,コンソールにログインする必要がある。

システムの可用性への影響

クラスタ・システム以外では,ルート・ディスクの損失により,システムのシャットダウンおよびリブートが必ず 1 回以上必要になる。 この手順は,できるだけ早く完全に操作できる状態に戻すのに役立つ。

ディスクの複製や回復に必要な時間は,ディスクのサイズによって異なる。

特権 システムのストレージ・アレイやバックアップ・デバイスに物理的にアクセスできる,root ユーザでなければならない。

9.7.5.2    リストア要件の判断

ルート・ディスクのリストアを実行するには,次のリソースが必要です。 システムの構成を熟知している場合,または回復を行うのに必要なすべての情報が記録されている回復計画がある場合には,この項を読む必要はありません。 次の項目が必要になる可能性があります。

9.7.5.3    手順の適用

この手順の各ステップには,システムのオリジナルの構成によって異なるものがあります。 ご使用の構成に合わない場合は,そのステップを省略して構いません。 省略可能なステップには,[構成に依存] というマークが付いています。

この手順では,行先が明記されていないかぎり,必ず次のステップへと進みます。

  1. 次のいずれかの方法で,オペレーティング・システムの配布メディアからシステムをブートします。

  2. [構成に依存] すでに文字セル・インストレーション・プロシージャを使用している場合は,ステップ 3 に進みます。 使用していない場合は,次の作業を実行します。

    システムにグラフィック・コンソールがある場合,インストレーションは省略時の設定でグラフィック・モードになります。 インストレーション・プロシージャが「Installation Welcome」というタイトルのダイアログ・ボックスが表示されるまで待ちます。

    [ファイル] メニューをプルダウンし,[終了] を選択して,文字セル・モードを起動します。

  3. バックアップ・デバイスとターゲット・ディスク (リストア後のルート・ディスク) のステータスを,次のコマンドを使用して確認します。

    # hwmgr view devices
     
    

    hwmgr コマンドは,次の例のように,現在システムが認識しているすべてのデバイスのリストを表示します。

    HWID: Device Name         Mfg      Model            Location
     ------------------------------------------------------------------------
        4: /dev/kevm
       28: /dev/disk/floppy0c          3.5in floppy      fdi0-unit-0
       31: /dev/disk/dsk0c    DEC      RZ26L    (C) DEC  bus-0-targ-0-lun-0
       32: /dev/disk/dsk1c    DEC      RZ26     (C) DEC  bus-0-targ-1-lun-0
       33: /dev/disk/dsk2c    COMPAQ   HB00931B93        bus-0-targ-3-lun-0
       34: /dev/disk/cdrom0c  DEC      RRD45    (C) DEC  bus-0-targ-4-lun-0
       35: /dev/disk/dsk3c    COMPAQ   HB00931B93        bus-0-targ-5-lun-0
       37:                    DEC      TLZ06    (C)DEC   bus-0-targ-6-lun-0
    

    次のデータを探し,書き留めておきます。

  4. 次のコマンドを使用して,バックアップ・デバイスをインストールします。

    # dn_setup -install_tape
    

    インストールされたこととデバイス名 (たとえば tape0_d0) を確認するには,ステップ 3hwmgr コマンドを繰り返します。

  5. [構成に依存] オリジナルのファイル・システム・フォーマットが分からない場合は,次の手順で,フォーマットと,読み取り可能なバックアップ・テープであることを確認します。

    1. バックアップ (ダンプ) メディアをデバイスにロードします。

    2. ステップ 4 で調べたバックアップ・デバイス名を指定して,restore コマンドを対話型モードで起動します。 たとえば,次のコマンドを入力します。

      # restore -i -f /dev/ntape/tape0_d0
      

    3. バックアップの状態が良い場合は,対話型リストアのプロンプトが表示されます。 what コマンドを入力してヘッダを表示し,情報を書き留めます。

  6. 次の情報を使用して,ディスク・ラベルを作成し適用します。

    1. リカバリ計画の際に作成したパーティション計画 (スワップ領域の要件を含む)。 (9.7.5.2 項を参照)

    2. ステップ 3 で調べた新しいルート・デバイス名。

    a パーティションを指定し,ブート可能デバイスとしてドライブにラベルを付けます。 たとえば,次のコマンドを入力します。

    # disklabel -wr /dev/disk/dsk2a
    

  7. 次のようにして UFS ターゲット・ファイル・システムを作成します。

    リストアする必要のある各ファイル・システムに対して,新しいルート・ドライブ上にファイル・システムを作成しなければなりません。 たとえば,a パーティションと g パーティションに新しいルートと /usr ファイル・システムを作成するには,次のようなコマンドを使用します。

    # newfs /dev/disk/dsk2a
    # newfs /dev/disk/dsk2g
    

  8. 代わりのディスクを,ファイル・システムのタイプに応じて,一時マウント・ポイント /mnt にマウントします。 たとえば,次のコマンドを入力します。

    # mount /dev/disk/dsk2a /mnt
     
    

  9. vrestore コマンドまたは restore コマンドを使用して,ファイルをリストアします。 たとえば,次のコマンドを入力します。

    # cd /mnt
    # vrestore -x device
    

  10. 次のコマンドを使用して,システムをシャットダウンし停止します。

    # shutdown -h now
    

  11. リストアされたルート・ドライブをブート・デバイスとして指定して,シングルユーザ・モードでシステムをブートします。 たとえば,次のコマンドを入力します。

    >>> boot dka2 -flags s
    

    代替ドライブを使用している場合,または新しいドライブをインストールした場合は,システム・デバイス名を適切なブート・デバイス名に変換しなければならないことがあります。 新しいデバイスのデバイス・データベース・エントリは,hwmgr コマンドを使用して,ステップ 3 で調べました。 エントリの例を,次に示します。

    33: /dev/disk/dsk2c    COMPAQ   HB00931B93    bus-0-targ-3-lun-0
    

    デバイスを表示するには,次のコマンドを使用します。

    >>> show device
    

    b/t/l の値 (この場合 0.3.0) を代替デバイスまたは新しいデバイスにマッピングし,dka300 などのブート・デバイス名を確認します。

  12. ブートが成功した場合,次のスクリプトを実行して,デバイス・データベースをアップデートします。

    # /sbin/mountroot
    

    dsfmgr コマンドがデバイス・データベースをアップデートしようとした際に,いくつかのエラーまたは警告のメッセージが表示されることがあります。 このメッセージは無視してください。

  13. [構成に依存] root 用に新しいドライブをインストールした場合や,代替デバイスを指定した場合,デバイスの名前を変更しなければなりません。 ステップ 3 で調べたデバイス名情報を使用して,デバイスの名前を次のように変更します。

  14. vrestore コマンドの対話型モードを使用して,バックアップ・メディアをリストア・デバイスにロードし,デバイスのディレクトリをリストアします。 このステップにより,カスタム・デバイス・ドライバを含む,すべての適切なデバイスが再作成されるようになります。

  15. dsfmgr コマンドを次のように使用して,デバイス・データベースとデバイス特殊ファイル名を確認します。

    # dsfmgr -v
     
     
    

  16. この手順はこれで終わりです。 必要なファイル・システムすべて (/usr および必要であれば /var を含む) のリストアが終わっていれば,次のようにして,システムをシャットットダウンし,ブート・デバイスを再定義し,システムをマルチユーザ・モードでリブートできます。

    # shutdown -h now
    >>> set bootdef_dev dka300
    >>> boot
    

ブート処理でデバイスに関連するエラー・メッセージが表示されていなければ,成功したことを確認できます。 この手順が成功していないと思われる場合は,配布メディアからオペレーティング・システムを再インストールし,カスタマイズされた環境を再作成する方法しかありません。

9.7.5.4    その他のルート・ディスク複製方法の使用

ルート・ディスクのリストアまたは複製の他の方法は,このような障害を想定してシステムを構成しているかどうかにより異なります。 次の方法が利用できます。

9.7.6    /usr および /var ファイル・システムのリストア

/usr ファイル・システムをリストアする前に,9.7.5 項で示すようにルート・ファイル・システムをリストアする必要がある可能性があります。 /var ディレクトリが,/usr 以外のファイル・システムにある場合,/var ファイル・システムのリストアにはこの項の手順を繰り返してください。

この項の手順では,/usr ファイル・システムの最新ダンプ・ファイルへアクセスすることを前提としています。 次の手順では,作業を行うのにテキスト・ベース (つまり,文字セル) のインタフェースを使って,ファイルのレベル 0 ダンプからリストアする方法を示します。

  1. disklabel コマンドを使い,必要に応じてディスクにラベルを付けるには,次のコマンドを入力します。

    # disklabel -rw /dev/disk/dsk0
     
    

    注意

    この手順で disklabel コマンドに指定されているオプションでは,省略時のディスク・パーティション・テーブルがディスクに書き込まれます。 リストア中のディスクがカスタマイズされたパーティション・テーブルを持っている場合は,disklabel コマンドの編集オプションを呼び出します。 または,以前のファイル・ラベルからパーティション・テーブルをリストアします。 詳細は,第 6 章 および disklabel(8) を参照してください。

  2. newfs コマンドを使用して,新しいファイル・システムを作成します。 たとえば,次のコマンドを入力します。

    # newfs /dev/rdisk/dsk1c
     
    

  3. mkdir コマンドを使い,必要に応じてマウント・ポイントを作成します。 たとえば,次のコマンドを入力します。

    # mkdir /usr
     
    

  4. mount コマンドを使い,ファイル・システムをマウントします。 たとえば,前の手順で作成したファイル・システムをマウントするには,次のコマンドを入力します。

    # mount /dev/disk/dsk1c /usr
     
    

  5. ファイル・システムをリストアします。

9.8    コマンド行ユーティリティ tarpax,および cpio の使用

コマンド行ユーティリティ tarpax,および cpio を使用すると,コマンド行からアーカイブを高速に作成したり,ファイルをバックアップするためのスクリプトを記述することができます。 難点は,長いコマンド文字列を入力しなければならないので,大容量のファイルやディレクトリをバックアップしたりリストアする場合に,このインタフェースでは簡単にいかないことです。 これらのユーティリティは,ファイルの小さなアーカイブを作成し,プログラムや,プログラムのソース,および関連ドキュメントなどを小さなアーカイブ・ファイルにして他のユーザに配布する場合に使用されます。

次の例では,コマンド行ユーティティ tarpax,および cpio を使ってアーカイブ・ファイルを作成したり,リストアする方法について,典型的な例を示します。

tar を使用したアーカイブの作成

tar コマンドは,ディスクやテープなどの 1 台 のデバイス上に,複数ファイルを保存したりリストアします。

tar を使ってテープ・ドライブ /dev/tape/tape12_d0 にアーカイブを作成するには,次のようなコマンドを入力します。

# tar cvfb /dev/tape12 -e ./.netscape -C /usr/glenn

作成されたアーカイブには,./.netscape ファイルを除き,/usr/glenn ディレクトリの下のすべてのファイルとディレクトリが含まれます。 詳細については, tar(1) を参照してください。

pax を使用したアーカイブの作成

pax コマンドは,アーカイブ・ファイルのメンバの抽出,書き込み,およびリストを行います。 また,pax コマンドは,ファイルおよびディレクトリの階層をコピーします。

pax コマンドを使って現在のディレクトリのアーカイブを /dev/tape/tape0_d0 デバイスに作成するには,次のように入力します。

# pax -w -f /dev/tape/tape0
 
 

次のコマンドは,a.pax アーカイブを読み取り,ディレクトリ /usr 内のすべてのファイルを抽出して現在のディレクトリ内に置きます。

# pax -r -s ',^//*usr//*,,' -f a.pax

詳細については, pax(1) を参照してください。

cpio を使用したアーカイブの作成

cpio コマンドは,アーカイブ・ストレージとファイル・システム間でファイルをコピーします。 このコマンドは,従来の形式の cpio アーカイブのデータを保存したりリストアするのに使用します。

cpio コマンドを使ってテープ・デバイス /dev/tape/tape12_d0 にアーカイブを作成するには,次のように入力します。

# cpio -ov < file-list -O/dev/tape12_d0

詳細については, cpio(1) を参照してください。

9.9    dxarchiver の使用

アーカイバ (dxarchiver) は,9.8 節 で説明したコマンド行ユーティリティのためのグラフィカル・ユーザ・インタフェース (GUI) です。 このインタフェースは,次のような場合に使用します。

Archiver GUI は CDE アプリケーションなので,長いコマンドを入力することなく,ファイルおよびディレクトリ (フォルダ) をドラッグ・アンド・ドロップ操作で,アーカイブ・セットにまとめることができます。

以下の作業を行なうにあたって,あらかじめ9.5.4 項に示す情報を収集します。 また,オーナーズ・マニュアルに従って,ターゲット・デバイスにテープやその他のメディアをロードまたはアンロードしておきます。 アーカイブを作成するには,以下の手順を行ないます。

  1. 端末からコマンド行を使用して /usr/bin/X11/dxarchiver GUI を呼び出します。 または CDE の「システム管理」アプリケーション・グループを開いて,次に「日常管理」サブ・グループを開き,「アーカイバ」アイコンをクリックします。

  2. アーカイブ・タイプを tarcpiopax の中から選択します。 グラフィカル・ユーザ・インタフェースからは利用できないコマンド行オプションがあります。

  3. アーカイブ・オプションを選択します。 追加は,既存のアーカイブに対してのみ行うことができます。 また,作成時に圧縮してあるアーカイブは,さらに圧縮することはできません。 ディレクトリの格納方法として,絶対パス名または相対パス名のどちらかを指定します。 なお,絶対パス名は完全パスで,/usr/users のようにルート・ディレクトリから始まります。 相対パス名は,たとえばドット (.) または users/chan のように,現在のディレクトリから始まります。

    これらのファイルの今後の復元の際,オリジナルのアーカイブ処理中に相対パスを指定していた場合のみ,これらのファイルを一時的なロケーションに書き込むことができます。 絶対パスを指定していた場合は,ファイルは元のロケーションに書き込まれます。 名前を変えていない場合は,知らないうちに既存のファイルに重ね書きされます。

  4. アーカイブするソース,ファイルおよびディレクトリを指定します。 指定するには,パス名を入力するか,あるいは「ファイル・マネージャ」ビューを開いてファイルとディレクトリ (CDE フォルダ) を「アーカイバ」ウィンドウ内の「ソースの内容」ボックスにドラッグします。 パス名を入力した場合は,OK を選択してコンテナにそれらを追加します。

  5. 必要なファイルをすべて指定した後,[アーカイブ...] オプションを選択すると,「アーカイバ: アーカイブ」ウィンドウが表示されます。

  6. デスティネーション・パスを次のように入力します。

    [了解] を選択すると,「デスティネーションの内容」ボックスの下にデスティネーションが表示されます。

  7. 「アーカイブの作成」をクリックします。 「Archiver working」というタイトルの付いたウィンドウが表示され,緑のボタンが点滅して,アーカイブが書き込み中であることを示します。 アーカイブ中のファイルは,「デスティネーションの内容」に表示されます。

  8. アーカイブが完了したら,オプションでファイル・リストのコピーを出力できるので,テープと一緒に記録を保管しておくことができます。

  9. [取消] を選択してアーカイバのメイン・ウィンドウに戻ります。 アーカイブ・ファイルの名前を入力し,「内容の一覧...」オプションを使用してアーカイブが正しく書き込まれていることを確認できます。 テープまたはアーカイブ・ファイルが読み込まれ,内容が「内容の一覧」ウィンドウに表示されます。

アーカイブを復元するには,ディスクのようなターゲット・デバイス上に,デスティネーションを指定する必要があります。 ディスク・パーティション全体に,損失したファイル・システムを復元する場合以外は,既存のディレクトリに重ね書きするのでなく,一時的なロケーションを使用しても構いません。 その後,個々のファイルやディレクトリを必要に応じてリストアすることができます。 次のように,アーカイブから選択したファイルだけをリストアすることもできます。

  1. 端末からコマンド行で /usr/bin/X11/dxarchiver GUI を呼び出すか,または CDE の「システム管理」アプリケーション・グループを開きます。 次に,「日常管理」サブ・グループを開いて「アーカイバ」アイコンをクリックします。

  2. [内容の一覧...] を選択し,個々のファイルおよびディレクトリを選択します。 テープまたはアーカイブ・ファイルが読み込まれ,内容が「内容の一覧」ウィンドウに表示されます。 次のように個々のファイルまたはディレクトリを選択します。

  3. [展開...] オプションを選択して,「アーカイバ: 展開」ウィンドウを表示します。

  4. デスティネーション・ディレクトリを入力します。 このディレクトリは,ファイルが重ね書きされてもよければ,アーカイブと同じにできます。 または,その代わりに一時的なロケーションのパスを入力します。 このパスは既に存在するディレクトリである必要があります。 存在しないディレクトリを使用する場合は,端末ウィンドウを開いて mkdir コマンドを使ってディレクトリを作成するか,あるいは CDE の「ファイル・マネージャ」の「新規フォルダ」オプションを使ってフォルダを作成します。 選択したデスティネーションは,「デスティネーションの内容」ボックスの下に表示されます。

  5. [内容の展開] を選択して抽出を開始します。 「Archiver Working」というタイトルが付いたウィンドウが表示され,緑のボタンが点滅してアーカイブが抽出中であることを示します。 復元中のファイルは,「デスティネーションの内容」に表示されます。

  6. アーカイブの復元が完了したら,オプションでファイル・リストのコピーを出力できるので,記録として保管しておくことができます。

  7. [取消] を選択してアーカイバのメイン・ウィンドウに戻ります。 終了前に,「ファイル・マネージャ」または端末のウィンドウを使用して,ファイルが正しく復元されファイルの内容が壊れていないことを確認します。

    注意

    テープまたは他のメディアからアーカイブを削除する場合は,その前にこの手順を実行することをお勧めします。

デバイスのオーナーズ・マニュアルの説明に従って,テープまたは他のメディアを取り外し,安全な場所に保管するか,あるいはサイトのバックアップ・ポリシと手順に従います。

9.10    スタンドアロン・システム・カーネルのテープ上での作成

テープにブート可能スタンドアロン・システム (SAS) カーネルを作成できます。 SAS カーネルには組み込みのメモリ・ファイル・システム (mfs) があり,これには,システム・イメージのリストアに必要な最小限のコマンド・ファイル,およびディレクトリが含まれています。 これはミニルート・ファイル・システムと呼ばれます。 テープには,復元システム上で必要なデータまたはプログラム用のファイル・システムを追加することもできます。

SAS カーネルを作成するには,SysMan Menu の [ブータブル・テープの作成] オプションまたは btcreate コマンド行ユーティリティを使用する必要があります。 カーネルを作成すると,btextract ユーティリティを使用して,カスタマイズしたイメージをリストアすることができます。 btcreate ユーティリティは,同時に 1 つだけ呼び出すことができます。 /usr/run/bttape.pid ロック・ファイルにより,このユーティリティが同時に複数起動されるのを防ぎます。

以降の各項では,bttape インタフェースの概要,SysMan Menu タスク,btcreate および btextract コマンド行ユーティリティについて説明します。

9.10.1    テープ・デバイスの必要条件

QIC テープ・ドライブを使用してブート可能テープを作成する場合は,320M バイト以上の高密度テープ以外は使用しないでください。 固定 512 ブロックの QIC-24,QIC-120,および QIC-150 フォーマットのテープは使用できません。 ブート可能テープ用には,QIC-320 および QIC-525 などの可変ブロック・サイズのテープを使用してください。 適切に構成されていない QIC テープ・ドライブを使用して,ブート可能テープを作成すると,I/O エラー,書き込みエラー,またはアクセス許可違反エラーが発生します。 したがって,次のいずれかの処置を必ず行ってください。

btcreate コマンドを使って作成された QIC テープは,ブート時に次のようなエラー・メッセージを表示して失敗することがあります。

failed to send Read to mka... Be sure that the tape is
 write protected before booting.
 

複数のテープにわたるファイル・システムでブート可能テープを作成している場合,/sbin/dump コマンドは,テープを交換する必要がある旨のメッセージを表示します。 テープを適切に交換しないと,テープを交換するまで警告メッセージが定期的に繰り返し表示されます。

テープ・デバイスに対する open 呼び出しの動作は変更されました。 書き込み保護テープをオープンする際に,書き込みモードは使用できなくなりました。 そのようなテープをオープンしようとしても,次のメッセージが表示されて失敗します。

 EACCES (permission denied)
 

テープを読むだけのときに O_RDWR 許可でテープ・デバイスをオープンするように,アプリケーションが作成されている場合は,オープンが失敗します。 O_RDONLY 許可でデバイスをオープンするようにアプリケーションを変更します。 アプリケーションが変更できない場合には,次のコマンドを使用して,open 呼び出しの動作を以前の状態にしてください。

# sysconfig -r cam_tape open_behaviour=0

9.10.2    btcreate ユーティリティの使用

ブート可能 SAS カーネルを UFS または AdvFS ファイル・システムにのみ構築するには,btcreate ユーティリティを使用する必要があります。 以降の項では,テープに SAS カーネルを作成するために必要な情報の概要について説明します。

btcreate コマンドには,非対話式および対話式ユーザ・インタフェースの両方が用意されています。 どちらのインタフェースを使用する場合にも,スーパユーザ (root) の特権が必要です。

9.10.2.1    情報の収集

btcreate コマンドを使うための準備として,次の情報が必要です。

次の追加機能は,ブート可能テープのレイアウトを計画するのに便利です。

9.10.2.2    SAS カーネルの作成

SAS カーネルを作成するため,btcreate コマンドは /usr/sys/conf/YOUR_SYSTEM_NAME 構成ファイルを /usr/sys/conf/YOUR_SYSTEM_NAME.BOOTABLE にコピーして,次のように変更します。

config    vmunix   root  on md
pseudo-device      memd  38000

この変更により,38000 ブロックのメモリ・ファイル・システムが構成されます。 メモリ・ファイル・システムとミニルート・ファイル・システムが格納されるディスク・パーティションは,同じサイズです。

構成ファイルを変更した後,btcreate コマンドは doconfig コマンドを実行して,ブート可能カーネルを /usr/sys/bin ディレクトリに移動します。 コマンド構文およびオプションについては, btcreate(8) を参照してください。

9.10.3    btextract ユーティリティの使用

btextract コマンドは,btextract ユーティリティを使用して作成された SAS カーネルが入っているテープから,ファイル・システムをリストアするシェル・スクリプトです。 ユーザは,システムの省略時設定のリストアまたはアドバンスト・リストアのいずれかを実行できます。

省略時設定のリストアの際に,カスタマイズされたシステムを同一のハードウェア・プラットフォーム・タイプの複数システム上に複製するように選択することができます。 リストア操作に使用するディスク・パーティションを指定することはできません。 代わりに,btcreate セッションの間に収集したディスク・パーティション情報を使用して,btextract コマンドがファイル・システムをリストアします。 このとき既存のパーティション情報はすべて上書きされます。 アドバンスト・リストアを実行する場合は,使用するディスク・パーティションをオプションで指定できます。 ただし,カスタマイズしたシステムは,同一ハードウェア・プラットフォーム・タイプのシステム上でのみ複製できます。

btextract コマンドを使用するには,システムを停止状態にして,システムを初期化した後,次のようにテープからブートします。

>>> init
>>> show dev
>>> boot -fl "nc" MKA500

この例では,show dev コマンドが BOOTDEV のデバイス名を表示します。 MKA500BOOTDEV です。

初期ブートが完了すると,シェルは btextract ユーティリティを起動します。 btcreate セッション中に /usr/lib/sabt/sbin/custom_install.sh スクリプトを作成した場合には,btextract コマンドは,終了する前に custom_install.sh スクリプトを呼び出します。 custom_prerestore 応答ファイルを作成して回復手順を自動化することもできます。 詳細については, btcreate(8) を参照してください。

btextract コマンドが作業を完了した後は,シャットダウンして,次のように,リストアしたディスクからシステムをリブートしなければなりません。

# shutdown -h now
>>> boot DKA100

この例では,DKA100BOOTDEV です。

詳細および例については, btextract(8) を参照してください。

9.10.4    SysMan Menu の [ブータブル・テープの作成] オプションの使用

ブート可能テープの基本的な作成手順を以下に示します。 ここでは,9.10.2.1 項 で説明されている,必要なデバイス・データの収集が完了し,格納用のテープが用意できていることを前提にしています。

  1. SysMan Menu から [ブータブル・テープの作成] タスクを起動するか,プロンプトで次のコマンドを入力します。

    # sysman boot_tape
    

  2. 「ブータブル・テープの作成: hostname」ウィンドウが表示されます。 次のようにして,フィールドへの入力またはオプションの選択を行ないます。

  3. 必要なフィールドへの入力が完了すると,テープ作成の準備完了です。 「ブータブル・テープの作成」のメイン・ウィンドウで [了解] を選択して先に進みます。 作業の開始を示すメッセージ・ウィンドウがオープンします。 テープの作成には,使用するデバイスの速度によって 20 分またはそれ以上かかることがあります。

    作業が完了できない場合には,メッセージが表示され,エラー・ログが /var/adm/btcreate.log にあることを知らせます。

  4. テープに正常に書き込まれると,正常終了とログ・ファイル /var/adm/btcreate.log のローケーションを確認するメッセージが表示されます。

    btextract(8) を印刷して,後で参照できるようにテープと一緒に保管してください。

  5. ブート可能 SAS カーネルをリストアする際は,9.10.3 項 の手順および btextract(8) を参照してください。 意図したとおりに以後の回復が行われるように,テスト回復の実行を検討してください。