Solstice Backup 5.1 管理者ガイド

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