この章では、障害後のデータ復旧の準備をする際に役立つ概念、手順、情報を説明します。障害によって貴重なデータ、ディスク、またはシステム全体が破壊された場合に備えて、復旧するための計画を立てておくことが重要です。
一般に、発生するおそれのある障害としては、次の 4 種類があります。
オペレーティングシステム (OS) 以外、または Backup ソフトウェア以外の重要なデータが損傷または破壊される障害。この障害は、Backup クライアントとサーバーの両方に起こる可能性があります。
図 1-1 の例では、Backup クライアントに 2 台のディスクが接続されています。オペレーティングシステムと Backup ソフトウェアを格納した 1 台目のディスクは動作しています。しかし、重要なクライアントデータを格納した 2 台目のディスクは、ディスククラッシュによって破壊されています。この障害から復旧するには、Backup 復旧プログラムを使って、失われたアプリケーションとデータを復旧します。
図 1-2の例では、オペレーティングシステムが損傷したかまたは破壊されています。この障害は、Backup クライアントとサーバーに起こる可能性があります。
この例では、1 台の Backup サーバーに物理ディスクが複数台接続されています。電源異常によってディスク 0 のファイルシステムが破壊され、これによってオペレーティングシステムも破壊されました。この障害から復旧するには、ディスクを交換して、オペレーティングシステム、必要な場合は Backup ソフトウェアもインストールし直す必要があります。次に、失われたサーバー構成と、オペレーティングシステムの破壊時に失われたデータを、Backup を使って復旧します。
オペレーティングシステムが破壊された場合は、必ず、オペレーティングシステムと Backup の両方をインストールし直してから Backup を使って残りのデータを復旧しなければなりません。オペレーティングシステムと Backup ソフトウェアをインストールしてからでないと、Backup はバックアップされているデータを復旧できません。
図 1-3では、Backup のソフトウェア、オンラインインデックス、構成ファイルが入っている Backup サーバー上のディレクトリが損傷したか、破壊されています。オペレーティングシステムは、Backup ソフトウェアを格納したディスクとは別のディスクで動作していると考えられます。このような状態になりうるのは、Backup サーバーだけです。
この例では、Backup のソフトウェア、オンラインインデックス、構成ファイルが、Backup サーバーの 1 台のディスクに収められています。この種の障害から復旧するには、ブートストラップのセーブセットの内容を復旧します。
図 1-4の例では、Backup サーバーが壊れています。この障害から復旧するには、元のシステムと同じ名前を付けた新しいシステム上に、すべてのデータを復旧する必要があります。このような復旧手段が必要なのは、Backup サーバーが壊れた場合だけです。
重要なデータを毎日バックアップすることは必要ですが、その他に、ディスククラッシュや重要なデータ消失が起こったときにデータを復旧する手順を定め、それをテストしておくことも必要です。復旧方法の整備とテストに時間と労力をかければかけるほど、障害への備えがより強固になります。
スケジュールされたバックアップ処理の中に Backup サーバーとクライアントのバックアップを組み込んであれば、障害への備えが確かなものとなります。サーバーをバックアップするごとに、ブートストラップと呼ばれる特殊なセーブセットが 1 つ作成されます。このブートストラップは、障害復旧には不可欠です。
ブートストラップ情報とともに、現在のネットワーク構成とシステム構成の正確な記録を保持し、さらにソフトウェアのオリジナルをすべて保存できる安全な場所を確保することが必要です。
破壊されたデータや失われたデータの重要性によって、とるべき作業数が決まります。最大規模の障害からの復旧の実施の場合には、次のものが必要です。
オリジナルのオペレーティングシステムのメディアとパッチ
オリジナルの Backup メディア
デバイスドライバとメディアデバイス名
ファイルシステムの構成
IP アドレスとホスト名
ブートストラップ情報
イネーブラコードと認証コード (必要な場合)
オペレーティングシステムをインストールし直さなければならないような障害から復旧するには、次の 2 つの方法があります。1 つはオペレーティングシステムのファイルをすべてインストールし直して、固有の構成をすべて作成し直します。もう 1 つは、オペレーティングシステムを部分的にインストールし直してシステムが機能するようになってから、Backup を使ってシステム構成ファイルを復旧します。オートチェンジャが設置されている場合は、復旧作業中にオートチェンジャを構成して使うか、あるいは、オートチェンジャにあるドライブを単にスタンドアロンデバイスとして使います。
この項で説明する手順によって、障害復旧に必要なブートストラップ情報と、ディスク構成情報を収集します。
スケジュールされたバックアップ処理においてサーバーをバックアップするたびに、ブートストラップと呼ばれる特殊なセーブセットが 1 つ作成されます。このブートストラップは、正しい障害復旧には不可欠です。ブートストラップには、Backup サーバーファイルインデックス、メディアデータベース、構成ファイルが入っています。
Backup がブートストラップ情報を保存するのは、スケジュールされたバックアップ処理の場合だけであり、手動バックアップの場合には保存されません。
Backup によって、日付、場所、セーブセット識別番号 (ID) から成る最新のブートストラップ情報が、印刷またはファイルに保存されます。スケジュールされたバックアップ処理が Backup によって行われるたびに生成されるブートストラップ情報の例を、例 1-1 に示します。ブートストラップ内容の印刷出力または電子的ファイルは、必ず安全な場所に保管しておいてください。
ブートストラップによって、前の月にバックアップされたブートストラップのセーブセットが一覧表示されます。次に例を示します。
August 20 03:30 1996 Backup bootstrap information Page 1 date time level ssid file record volume 8/19/96 2:29:08 9 1148868949 56 0 mars.005 8/20/96 2:52:25 9 1148868985 77 0 mars.001 |
Backup サーバーインデックスに対しては、savegrp コマンドを使って、スケジュールされたバックアップを行うこともできます。このコマンドは、また、プリンタまたは電子的ファイルに対してブートストラップ情報を送ります。次に、使用例を示します。
# savegrp -O -c server-name |
savegrp -O コマンドを使うには、Backup サーバーでスーパーユーザーになっている必要があります。
ブートストラップデータを印刷またはファイルに保存する機能については、『Solstice Backup 5.1 管理者ガイド』を参照してください。
ブートストラップをもっとも効率よく復旧するには、障害が起こる前にブートストラップ情報を保存しておきます。ただし、ブートストラップ情報が不明な場合は、最新のバックアップボリュームを探して、最新のブートストラップのセーブセット ID (または ssid) を見つけ出さなければなりません。scanner -B コマンドを使って、有効なブートストラップを探します。
最新の日付のブートストラップを検索したら、mmrecov コマンドを実行して、scanner コマンドによって表示されたセーブセットの ID とファイル番号を指定します。
最新のセーブセット ID は、次の手順で検索します。
スケジュールされたバックアップ処理に使用した最新のメディアをサーバーデバイスに置きます。
システムプロンプトで、最初に Backup をインストールしたディレクトリ (通常は /usr/sbin/nsr) に移動します。
scanner -B コマンドを使って、メディア上の最新のブートストラップを検索します。次に例を示します。
# /usr/sbin/nsr/scanner -B /dev/rmt/0hbn |
scanner -B コマンドによって、バックアップボリュームで検索された最新のブートストラップのセーブセット情報が次のように表示されます。
scanner: scanning 8mm tape jupiter.001 /dev/rmt/0hbn scanner: Bootstrap 1148869870 of 8/21/96 7:45:15 located on volume jupiter.001, file 88 |
重要なデータの消失から復旧するためには、さらに予防手段が必要です。つまり、障害復旧が起こる前に、ネットワーク上の各ディスクがどのようにパーティション分割され、フォーマットされているかを調べ、その情報を印刷して保存しておきます。障害によってディスクが損傷または破壊されたら、これらのディスク情報を使って、ディスクをディスククラッシュが生じる前の状態に作成し直します。各システムのディスクシステムとファイルシステムの配置がそれぞれ異なっている場合は、Backup で各システムをバックアップするたびに、同じ作業を繰り返します。
ディスク構成を作成し直す際に、復旧したデータをすべて収められるように、パーティションを大きくしなければならない場合があります。パーティションは、少なくともクラッシュの前と同じ大きさにします。
Backup サーバーのディスクがどのようにパーティション分割され、マウントされているかを調べるには、df を使います。ディスクのパーティション情報を印刷するには、それぞれのオペレーティングシステムの該当するコマンドを使います。ローカルなハードディスクを持っている Backup クライアントに対しても、同様の作業を行います。
df -k コマンドを使うと、次のような情報が得られます。
Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t3d0s0 865678 624020 155098 80% / /dev/dsk/c0t1d0s6 265807 198729 40498 83% /usr /dev/dsk/c0t1d0s4 96103 57468 29025 66% /var swap 107756 8 107748 0% /tmp |
次に、dkinfo コマンドの使用例を示します。SunOS システムでは、このコマンドを使って、各ディスクがどのようにパーティション分割されているかを知ることができます。
例 1-2 の prtvtoc コマンドの使用例は、Solaris システムで各ディスクがどのようにパーティション分割されているかを示しています。デバイス名には、df コマンドで出力されたディスク情報のデバイス名をそのまま使用します。
* /dev/dsk/c0t1d0s3 partition map * * Dimensions: * 512 bytes/sector * 80 sectors/track * 17 tracks/cylinder * 1360 sectors/cylinder * 3500 cylinders * 1965 accessible cylinders * * Flags: * 1: unmountable * 10: read-only * * First Sector Last * Partition Tag Flags Sector Count Sector Mount Directory 2 5 00 0 2672400 2672399 3 6 00 0 1434800 1434799 /export 4 7 00 1434800 205360 1640159 /var 5 6 00 1640160 463760 2103919 /opt 6 4 00 2103920 568480 2672399 /usr |
ディスクが損傷している場合は、これらのディスク情報表示用のコマンドで得られたハードコピー情報を使って、ディスクを復元し、ファイルシステムを元の状態に復旧することができます。
オートチェンジャまたはスタンドアロンのドライブのいずれを使う場合でも、オぺレーティングシステムを復旧する場合は、いくつかの方法を選択できます。この項では、それらの方法の相違点を説明しますので、状況に応じて、もっとも適した方法を選択してください。
障害復旧でオペレーティングシステムを復元するには、2 つの方法があります。全体的再インストールと部分的再インストールです。全体的再インストールでは、オペレーティングシステムのすべてのファイルをインストールして、データの消失またはディスククラッシュの発生以前にあった固有な構成をすべて作成し直します。部分的再インストールでは、十分に機能し得るネットワークシステムの作成に最低限必要な数のファイルだけをインストールおよび作成します。あとで Backup を使って、残りのオペレーティングシステムのファイルと構成ファイルを復旧します。
図 1-5 に、ディスククラッシュによってオペレーティングシステム、Backup ソフトウェア、サーバーインデックスファイル、および構成ファイルが失われた場合に復旧する手順を説明しています。また、この図では、オペレーティングシステムを再インストールするための 2 つの選択肢も説明しています。
Backup サーバーと Backup クライアントとで、障害復旧方法はほとんど同じですが、クライアントシステムではサーバーインデックスと構成ファイルの復旧は不要という点が異なります。
場合によっては、たとえばオペレーティングシステムを CD からインストールしていて、作成し直すべき固有の構成が非常に少ない場合などには、オペレーティングシステムを全体的にインストールし直すほうが迅速に復旧できることがあります。部分的再インストールでは、使用しているバックアップデバイスとネットワークの速度によっては、Backup で残りのファイルと構成を復旧するのに、全体的再インストールよりも時間がかかる場合があります。
オペレーティングシステムによって直接サポートされていないデバイスをデフォルトの構成で使う場合は、インストールの際に、次のようにデバイスの構成ファイルを変更しなければなりません。
DLT (ディジタルリニアテープ) ドライブをサポートするのに、/kernel/drv/st.conf ファイルを変更しなければならないことがあります。
SunOS システムの場合は、/usr/sys/scsi/targets/st_conf.legato.h ファイルを変更します。
残りのデータを復旧する時点で、インストールし直したばかりのオペレーティングシステムのファイルを、Backup でバックアップされたオペレーティングシステムのファイルに置き換えるかどうかを決められます。障害以前と同じ構成に確実に戻したい場合には、再インストール時に作成したファイルと構成を元のものに置き換えます。
一方、部分的再インストールでは、Backup サーバーをすばやく起動できる場合があり、とりあえずサーバーの起動は済ませておいて、続けて障害復旧に専念できます。オペレーティングシステムの残りのファイルは、あとで Backup を使って復旧できます。構成作業が必要なクライアントとデバイスがネットワーク上に多数ある場合は、IP アドレスとホスト名を探して、構成を作成し直すのに時間がかかるので、部分的再インストールによって特に時間を節約できます。
さらに、オペレーティングシステムの残りのファイルを Backup で復旧できるようになってから、サーバー、クライアント、デバイスを障害発生前とまったく同じように構成し直すことができます。
部分的再インストールを選択すると、次の作業が必要になります。
必要に応じて、システムのドメインを選択する
オペレーティングシステムの基本的なファイルとデバイスドライバソフトウェアをインストールする
ネットワーク上でのシステムの正常な通信を確立する
全体的再インストールの場合も部分的再インストールの場合も、オペレーティングシステムをインストールし直したあと、tar コマンドを使って、テープドライブが正常に動作しているかどうかを検証します。
この項では、Backup サーバーインデックスと構成ファイルだけが失われる障害からの復旧に、オートチェンジャをどのように使うかを説明します。構成ファイルは、/nsr/res ディレクトリにあります。
構成ファイルには nsrjb.res ファイルも含まれており、このファイルにオートチェンジャの構成情報があります。
この項の説明では、本来のサーバー上にある Backup サーバーインデックスと構成ファイルが失われた場合、あるいは、Backup を新しいサーバーに移し、既存のインデックスファイルと構成ファイルをその新しいサーバー上に復旧する必要がある場合を想定しています。
詳細は、「システムと Backup ソフトウェアの復旧」と 「Backup インデックスと構成ファイルの復旧方法 」を参照してください。
インデックスと構成ファイルを復旧するプログラムでは、オートチェンジャを認識できません。したがって、オートチェンジャを復旧作業のそれぞれの部分を担当する 1 台のスタンドアロンドライブとして使う必要があります。必要なバックアップボリュームをマウントまたはマウント解除するには、オートチェンジャのコントロールパネルを使います。
インデックスと構成ファイルを復旧したら、元のオートチェンジャの構成ファイルがすべて本来の場所に戻ります。したがって、オートチャンジャを再び残りのデータの復旧に使うことができます。
保存日数が 30 日を超えるサーバーインデックスが失われずに残っている場合、障害復旧時にオートチェンジャを使うためには、サーバーとオートチェンジャをもう一度使用可能な状態に設定しなければなりません。
この項の後半では、オートチェンジャを使うか、またはオートチェンジャ内に設置されているドライブを使うかを選択する際の問題と、サーバーのインデックスと構成ファイルを復旧する方法を説明します。
オートチェンジャを使用しての復旧を選択した場合は、サーバーインデックスと構成ファイルを復元する前にデータを復旧するにあたり、次の点に留意してください。
オートチェンジャに複数台のドライブがある場合は、最初のドライブを復旧用に使う
サーバーインデックスと構成ファイルの復元中は、オートチェンジャの機能の一部しか使用できない。mmrecov コマンドがサポートするのはスタンドアロンデバイスだけであり、オートチェンジャはサポートしていない
無人デバイスは、自動的にボリュームを検出、ロード、マウントすることはできない。ボリュームのマウントとマウント解除には、「Backup Mount」ボタンと「Backup Unmount」ボタン、およびオートチェンジャのコントロールパネルを使う必要がある。オートチェンジャのコントロールパネルを使う場合は、ボリュームの移動先についてのレコードがないので、復旧を完了したらオートチェンジャの内容のインベントリを作成しておく
サーバーインデックスと構成ファイルを復旧するときは、オートチェンジャの構成ファイルを、前回のバックアップ時と同じもの (オートチェンジャのインベントリも含む) に復旧する。障害復旧の際、オートチェンジャの内部でバックアップボリュームを移動させた場合は、各ボリュームの位置は回復後のインベントリの内容と一致しない可能性が大きい。復旧操作が終わったら、オートチェンジャのインベントリを作成する
オートチェンジャを使って障害復旧を行う場合は、次の手順で進めます。
必要に応じて、オペレーティングシステムと Backup ソフトウェアをインストールし直します。
インストールし直す場合、インデックスに対しては、前回のバックアップに使われたパス名を使います。
jbconfig コマンドを使って、オートチェンジャを追加し、構成します。
nsrjb -vHE コマンドを発行します。
このコマンドを使って、操作用にオートチェンジャをリセットし、バックアップボリュームを取り出し、要素状態を初期化し直して、ボリューム用の各スロットを確認します。使用しているオートチェンジャで -E オプションがサポートされていなければ、sjiielm プログラム (/etc/LGTOuscsi/sjiielm パスなど) を使って要素状態を初期化します。
ドライブにボリュームがロードされていれば、そのボリュームは取り除かれてスロットに置かれます。この操作が終わるまでに、数分かかります。
エラーが出た場合、通常は無人デバイスが、ドライブから取り除いたばかりのボリューム用のスロットを探し出せないでいることを示します。いくつかのバックアップボリュームを移動させて、そのボリューム用の空きスロットをつくるか、可能な場合には、そのボリュームを機械式のアームから取り除いて、手動でスロットに置きます。
電子ファイルまたはハードコピーで、ブートストラップデータを探します。
このデータによって、サーバーインデックスと構成ファイルの復旧に必要なボリューム (複数の場合もある) をつきとめます。
nsrjb -I コマンドを入力して、オートチェンジャの内容のインベントリを作成します。これによって、ブートストラップの復旧に必要なボリュームがオートチェンジャ内にあるかどうかを判断できます。
現在ドライブにロードされているボリュームに、最新のブートストラップがある可能性があります。
この操作を速く終わらせたい場合は、-S フラグを使ってコマンドを発行し、必要なバックアップボリュームがあると思われるスロットだけを一覧表示させます。これで、オートチェンジャの内容全体のインベントリを作成せずにすみます。スロットは、たとえば nsrjb -I -S 1-3 のように、スロットの連番で一覧表示させます。また、たとえば 1、3、6 のようにとびとびの番号でスロットのインベントリを作成したい場合は、各スロットに対して、それぞれ nsrjb -I -S コマンドを使います。現在オートチェンジャにロードされているすべてのボリュームにアスタリスクが付けられますが、これは、メディアインデックスがまだ復旧されていないからです。
次のコマンドを入力して、該当するボリュームをロードします。
# nsrjb -l -S slot -f device-name |
slot は第 1 ボリュームが置かれているスロットの番号、device-name は第 1 ドライブのパス名です。「Backup Mount」ボタンを使うこともできます。
mmrecov コマンドを入力します。
ブートストラップが複数のボリュームにまたがっている場合は、次のバックアップボリュームをロードするようプロンプトが表示されます。
インデックスが復旧されたら、次のように nsrjb -u コマンドを入力してボリュームのマウントを解除します。
# nsrjb -u -S slot -f device-name |
「Backup Unmount」ボタンを使うこともできます。
Backup を停止します。
元のディレクトリ名 /nsr/res を /nsr/res.orig に変更します。
復旧されたディレクトリ名 /nsr/res.R を /nsr/res に変更します。
/nsr/res ファイルを復旧して名前を変更したら、インストールし直してオートチェンジャを構成したときに作成した構成ファイルを取り替えます。この手順によって、障害発生前の前回のバックアップ時の構成をすべて復旧することができます。
Backup を再起動します。
サーバーインデックスと構成ファイルが復旧されたら、オートチェンジャは完全に機能できます。オートチェンジャの内容のインベントリを作成します。障害復旧の作業でボリュームを手動で動かした場合は、特にこの作業が必要です。
オートチェンジャ内にあるドライブを使用しての復旧を選択した場合は、インデックスと構成ファイルを復元する前にデータを復旧するにあたり、次の点に留意してください。
オートチェンジャに複数台のドライブがある場合は、最初のドライブを復旧用に使う
サーバーインデックスと構成ファイルの復旧に必要なバックアップボリュームは、手動でマウントする必要がある
オートチェンジャのカートリッジから、Backup インデックスと構成ファイルの復旧に使うバックアップボリュームを取り外す場合は、作業が終了したら、バックアップボリュームを元のスロットに戻す
Backup サーバーのオートチェンジャ内のドライブを使って障害から復旧する場合は、次の手順で進めます。
必要に応じて、オペレーティングシステムと Backup ソフトウェアをインストールし直します。
Backup ソフトウェアをインストールし直さなければならない場合、インデックスには前回のバックアップに使われたパス名を使います。
電子的ファイルまたはハードコピーで、ブートストラップデータを探します。
このデータによって、サーバーインデックスと構成ファイルの復旧に必要なボリュームをつきとめます。
該当するボリュームを、手動でドライブにマウントします。
mmrecov コマンドを入力します。
Backup を停止します。
元のディレクトリ名 /nsr/res を /nsr/res.orig に変更します。
復旧されたディレクトリ名 /nsr/res.R を /nsr/res に変更します。
Backup を再起動します。
nsrjb -vHE コマンドを入力します。
このコマンドを使って、操作用にオートチェンジャをリセットし、バックアップボリュームを取り出し、要素状態を初期化し直して、ボリューム用の各スロットを確認します。ドライブにボリュームがロードされていれば、そのボリュームは取り除かれてスロットに置かれます。この操作が終わるまでに、数分かかります。
nsrjb -I コマンドを使ってオートチェンジャの内容のインベントリを作成します。管理者プログラムにある「Inventory」コマンドを使うこともできます。
サーバーインデックスと構成ファイルを復旧すれば、オートチェンジャは完全に機能します。