Solstice Backup 5.1 管理者ガイド

付録 A Backup プロセスの概要

Backup のクライアント/サーバーテクノロジーでは、ネットワーク用の遠隔手続き呼び出し (Remote Procedure Call, RPC) プロトコルを使ってデータをバックアップします。Backup サーバーソフトウェアはデーモンとプログラムから成っていて、バックアップと復旧の処理だけでなく、ストレージ管理クライアントの構成、クライアントファイルインデックスとメディアデータベースの監視も行います。Backup クライアントソフトウェアには、nsrexecd デーモンとユーザーインタフェースプログラムがあります。

この章では、Backup がどのようにバックアップと復旧を行うかについて概説します。バックアップと復旧の処理を図示して、Backup によるストレージ管理のしくみをわかりやすく説明します。

Backup によるデータのバックアップ

Backup は、バックアップ要求を受け取ると、デーモンとプログラムを呼び出します。これらのデーモンがバックアップと復旧に関連するタスクを調整し、バックアップ対象についての情報と、バックアップされたデータを格納しているメディアについての情報を記録します。

Backup のデーモンとプログラム

この節では、Backup サーバーとストレージノードで使われるデーモンとプログラムについて説明します。これらのデーモンとプログラムは、バックアップのためにクライアントと交信し、サーバーが持つクライアントファイルインデックスとメディアデータベースを保守します (ストレージノードの詳細は、「ストレージノードでの Backup の動作」を参照)。Backup のデーモンとプログラムの詳細は、Backup 関連のマニュアルページにも説明されています。表 A-1 に、サーバー側のデーモンとプログラムを示します。

表 A-1 サーバーのデーモンとプログラムの機能

デーモン/プログラム 

機能 

ansrd

アクティブな save セッションまたは recover セッションを監視するデーモン。save セッションまたは recover セッションに応答して nsrd デーモンが生成するエージェントプロセスである

asavegrp

個々のセーブセットの進行状況を監視するデーモン。savegrp プログラムによって起動されるエージェントプロセスである

nsrck

クライアントファイルインデックスの整合性を検査するデーモン。この整合性の確認が必要になった時点で nsrd デーモンによって起動される

nsrd

Backup のクライアントに対して RPC ベースの save サービスと recover サービスを提供する。マスターの Backup デーモンである

nsrim

サーバーが持つクライアントファイルインデックスを自動的に管理するデーモン。savegrp プログラムの終了時に起動される

nsrindexd

save プログラムが渡す情報に基づいて、クライアントファイルインデックスにエントリを挿入するデーモン

nsrmmd

デバイスをサポートし、マウント要求を生成し、マルチクライアントをバックアップする際のセーブセットデータを多重化するデーモン。nsrd デーモンを使って、デバイスの「Target Sessions」属性に指定されている数以下の nsrmmd デーモンを起動できる。メディア多重化デーモンである

nsrmmdbd

ローカルの nsrdnsrmmd の両デーモンに対してメディアデータベースとセーブセットのデータベース管理サービスを行い、メディアデータベースにエントリを記述するデーモン。メディア管理データベースデーモンである

savegrp

save プロセスによって Backup クライアントのグループを実行するプログラム

マスターの Backup サーバーデーモンである nsrd によって、次のタスクが行われます。

スケジュールされた、または必要性に応じたバックアップ要求を受け取ると、Backup サーバーデーモン nsrd は、Backup クライアントデーモン nsrexecd とクライアント側のプログラムを呼び出します。一時的なサーバーエージェントデーモンである ansrd は、Backup サーバー上でバックアップセッションの進行状況を監視します。表 A-2 に、クライアント側のデーモンとプログラムを示します。

表 A-2 クライアントのデーモンとプログラム

デーモン/プログラム 

機能 

nsrexecd

Backup サーバーのリモートからの実行要求を認証し、クライアント上で save コマンドと savefs コマンドを実行するデーモン

recover

Backup サーバーが持つクライアントファイルインデックスをブラウズして、指定されたファイルを主ディスクストレージ上に復旧するプログラム 

save

nsrmmd デーモンによってメディアにバックアップし、nsrindexd デーモンによってエントリをクライアントファイルインデックスとメディアデータベースに挿入するために、指定されたファイルを多重化データストリームを介して Backup サーバーに送るプログラム

savefs

クライアントをバックアップするために、セーブセットについての情報を送るプログラム。前回のレベルの save コマンド以後に変更されたセーブセットのデータを識別する

スケジュールされたバックアップでの処理

Backup サーバー上でバックアップグループを構成するときに、バックアップグループの開始時間をスケジュールします。スケジュールされた時間になると、サーバーデーモン nsrd がサーバープログラム savegrp を起動してバックアップグループを保存します。

savegrp プログラムは、Backup サーバー上で構成済みのクライアントリソースに照会して、次のことを判断します。

これらの情報のうち Backup サーバーで入手できないものがあると、savegrp プログラムはクライアント側の nsrexecd デーモンに要求を送り、バックアップグループに割り当てられているクライアントごとに savefs プログラムを実行して、必要な詳細情報を収集するよう依頼します。

savefs プログラムは、各クライアントのバックアップすべきオブジェクトを savegrp プログラムに知らせます。savegrp プログラムが、バックアップすべきオブジェクトの情報を受け取ったら、サーバー用にワークリストを作成します。このワークリストには、バックアップのために各クライアントに交信する順序が指定されています。この順序は、「Clients」リソースの「Client Property」属性で決まります。「Client Property」属性がもっとも小さい値のクライアントが、最初に交信されます。

前のバックアップセッション中にクライアントファイルインデックスに問題が起こった場合には、nsrd デーモンが nsrck デーモンを起動して、Backup サーバーが持つクライアントファイルインデックスとメディアデータベースの整合性と状態を検査します。そのあとで、nsrd デーモンがクライアントファイルインデックスのエントリ挿入デーモン nsrindexd を起動します。

savegrp プログラムは、サーバーのワークリストにある最初のクライアントに交信します。そのクライアントの nsrexecd デーモンが起動され、サーバーのワークリストにある最初のセーブセットの save セッションを起動します。save プログラムは、グループ、クライアント、セーブセット、ストレージノードのアフィニティ、保存データのレベルなどのすべての保存基準を nsrd デーモンに渡します。nsrd デーモンは、これらの情報によってデータを格納するボリュームのプールを決め、Backup サーバー上か、または Backup サーバーが制御しているストレージノード上の適切なメディアデーモンに、これらの情報を転送します。

メディアデーモン nsrmmd は、次の処理をします。

クライアントから起動されるセーブセットの動作が少しでも休止すると、プロセスの動作に、Backup サーバーはグループ内で別のセーブセットを探そうとします。savegrp プログラムは、Backup サーバー構成の並列処理属性で指定されている上限値に達するまで、できるだけ多くのセーブセットを並行してバックアップしようと試みます。これによって、バックアップデバイスを最大限に活用できます。

savegrp プログラムは、サーバーのワークリストにある各項目の処理を、グループのすべてのクライアントがバックアップされるまで繰り返します。savegrp プログラムの処理が終わる前に、Backup サーバーがバックアップ中のグループに属しているか、あるいはこのサーバーが有効などのグループにも属していないことがわかると、nsrim デーモンが起動され、Backup サーバーの「ブートストラップ」ファイルがバックアップされます。ブートストラップファイルのバックアップが終わると、Backup サーバー用に構成されているデフォルトプリンタに、ブートストラップの出力結果が送られます。この出力結果は、Backup サーバーの復旧が必要になる場合に備えて、安全な場所に保管しておいてください。

savegrp プログラムの最終実行結果はサーバーに送り返され、セーブグループ完了レポートに記載されます。このレポートは、電子メールでスーパーユーザーに送られます。

図 A-1 に、スケジュールされた保存処理時に、Backup サーバーとクライアントのすべてのデーモンとプログラムが、どのように関係し合って動作するかを示します。

図 A-1 スケジュールされた保存処理での Backup のデーモンとプログラムの動作

Graphic

Backup によるデータの復旧

Backup がクライアントから recover 要求を受け取ると、サーバーデーモン nsrd が、サーバーのメディアデーモン nsrmmd に交信します。nsrmmd デーモンは、サーバーのメディアデータベースデーモン nsrmmdbd に交信して、recover プログラムが要求したセーブセットがどのメディアにあるかを判断します。セーブセットが格納されているメディアがわかったら、nsrmmd デーモンがマウント要求を出し、そのメディアがセーブセットの先頭に移され、マウントされたメディア内のセーブセットが nsrmmd デーモンに渡されます。nsrmmd デーモンは、このセーブセットをクライアントの recover プログラムに転送し、recover プログラムがデータをクライアントのファイルシステムに復旧します。

サーバーのメディアデータベースデーモン nsrmmdbd が必要なボリュームを探せない場合、あるいは Backup ストレージノードまたはサーバー上に nsrmmd デーモン (有効なデバイス) がない場合は、recover 要求は失敗します。recover を要求したクライアントマシンでは、次のような Backup からのメッセージが表示されます。


NSR server client: no matching devices on server-or-storage-node 

同時に、Backup サーバーの「Pending」ディスプレイにも、次のメッセージが表示されます。


media notice: no matching devices on server-or-storage-node for recover
by client client
media notice: enable or check device(s) on server-or-storage-node

図 A-2 に、Backup クライアントにデータを復旧する際に、Backup サーバーとクライアントのデーモンとプログラムがどのように関係し合って動作するかを示します。

図 A-2 復旧セッションでの Backup のデーモンとプログラムの動作

Graphic

ストレージノードでの Backup の動作

ストレージノードは、Backup クライアントと、メディア管理デーモンおよびプログラムが格納されているマシンです。ストレージノードは、バックアップと復旧のための Backup 動作に使われる 1 台または複数台のストレージデバイスに接続されています。ストレージノードマシンのメディア管理デーモンが、ストレージボリューム上のデータを読み書きします。

ストレージノードでのバックアップと復旧の動作は、Backup サーバーでのバックアップと復旧の動作に似ています。大きな相違点は、データが置かれている場所です。

ストレージノードは、Backup サーバーによって制御されます。Backup サーバーのマスターデーモン nsrd が、ストレージノードのメディア管理デーモン nsrmmd を起動します。バックアップ時に、「Clients」リソースで指定されている「Storage Node Affinity」属性に基づいて、Backup サーバーが適切なデータを各メディア管理デーモンに配信します。

ストレージノードマシン (リモートデバイス) に接続されているストレージデバイスにデータが書き込まれると、Backup サーバーがデータの位置を追跡します。Backup サーバーでは、nsrindexd デーモンがクライアントファイルインデックスにエントリを書き込んでセーブセット内の各ファイルの位置を追跡し、nsrmmdbd デーモンがメディアデータベースにエントリを書き込んでメディア上の各セーブセットの位置を追跡します。

図 A-3 に、Backup ストレージノードとリモートストレージデバイスの両方が設定されている場合に、スケジュールされた保存処理時に、Backup サーバー、クライアントおよびストレージノードのデーモンとプログラムがどのように関係し合って動作するかを示します。

図 A-3 ストレージノードを備えた保存セッションでの Backup のデーモンとプログラムの動作

Graphic

Backup サーバーがクライアントの recover プログラムから要求を受けると、Backup サーバーは、サーバーマシン上ではなくストレージノード上のメディア管理デーモン nsrmmd と交信します。nsrmmd デーモンは、メディアのデータを読み取って Backup クライアントに送ります。そこで recover プログラムがデータを復元します。

図 A-4 に、ストレージノードとリモートストレージデバイスの両方が設定されている場合の復旧プロセスでの動作を示します。

図 A-4 ストレージノードを備えた復旧セッションでの Backup のデーモンとプログラムの動作

Graphic