Backup は、バックアップ要求を受け取ると、デーモンとプログラムを呼び出します。これらのデーモンがバックアップと復旧に関連するタスクを調整し、バックアップ対象についての情報と、バックアップされたデータを格納しているメディアについての情報を記録します。
この節では、Backup サーバーとストレージノードで使われるデーモンとプログラムについて説明します。これらのデーモンとプログラムは、バックアップのためにクライアントと交信し、サーバーが持つクライアントファイルインデックスとメディアデータベースを保守します (ストレージノードの詳細は、「ストレージノードでの Backup の動作」を参照)。Backup のデーモンとプログラムの詳細は、Backup 関連のマニュアルページにも説明されています。表 A-1 に、サーバー側のデーモンとプログラムを示します。
表 A-1 サーバーのデーモンとプログラムの機能
デーモン/プログラム |
機能 |
---|---|
アクティブな save セッションまたは recover セッションを監視するデーモン。save セッションまたは recover セッションに応答して nsrd デーモンが生成するエージェントプロセスである |
|
個々のセーブセットの進行状況を監視するデーモン。savegrp プログラムによって起動されるエージェントプロセスである |
|
クライアントファイルインデックスの整合性を検査するデーモン。この整合性の確認が必要になった時点で nsrd デーモンによって起動される |
|
Backup のクライアントに対して RPC ベースの save サービスと recover サービスを提供する。マスターの Backup デーモンである |
|
サーバーが持つクライアントファイルインデックスを自動的に管理するデーモン。savegrp プログラムの終了時に起動される |
|
save プログラムが渡す情報に基づいて、クライアントファイルインデックスにエントリを挿入するデーモン |
|
デバイスをサポートし、マウント要求を生成し、マルチクライアントをバックアップする際のセーブセットデータを多重化するデーモン。nsrd デーモンを使って、デバイスの「Target Sessions」属性に指定されている数以下の nsrmmd デーモンを起動できる。メディア多重化デーモンである |
|
ローカルの nsrd と nsrmmd の両デーモンに対してメディアデータベースとセーブセットのデータベース管理サービスを行い、メディアデータベースにエントリを記述するデーモン。メディア管理データベースデーモンである |
|
save プロセスによって Backup クライアントのグループを実行するプログラム |
マスターの Backup サーバーデーモンである nsrd によって、次のタスクが行われます。
ほかのデーモンを起動する
サーバーマシンとストレージノードマシンでメディアデーモンを割り当てる
クライアントに対してバックアップサービスと復旧サービスを認証する
スケジュールされたバックアップのためにクライアントと交信する
Backup 構成情報を管理する
バックアップセッションと復旧セッションを監視する
サーバー統計情報とメッセージログを管理する
スケジュールされた、または必要性に応じたバックアップ要求を受け取ると、Backup サーバーデーモン nsrd は、Backup クライアントデーモン nsrexecd とクライアント側のプログラムを呼び出します。一時的なサーバーエージェントデーモンである ansrd は、Backup サーバー上でバックアップセッションの進行状況を監視します。表 A-2 に、クライアント側のデーモンとプログラムを示します。
表 A-2 クライアントのデーモンとプログラム
デーモン/プログラム |
機能 |
---|---|
Backup サーバーのリモートからの実行要求を認証し、クライアント上で save コマンドと savefs コマンドを実行するデーモン |
|
Backup サーバーが持つクライアントファイルインデックスをブラウズして、指定されたファイルを主ディスクストレージ上に復旧するプログラム |
|
nsrmmd デーモンによってメディアにバックアップし、nsrindexd デーモンによってエントリをクライアントファイルインデックスとメディアデータベースに挿入するために、指定されたファイルを多重化データストリームを介して Backup サーバーに送るプログラム |
|
クライアントをバックアップするために、セーブセットについての情報を送るプログラム。前回のレベルの save コマンド以後に変更されたセーブセットのデータを識別する |
Backup サーバー上でバックアップグループを構成するときに、バックアップグループの開始時間をスケジュールします。スケジュールされた時間になると、サーバーデーモン nsrd がサーバープログラム savegrp を起動してバックアップグループを保存します。
savegrp プログラムは、Backup サーバー上で構成済みのクライアントリソースに照会して、次のことを判断します。
サーバー上で構成済みのクライアントのうち、スケジュールされたグループのメンバー
実行しなければならないバックアップ (save) のレベル
並列に実行するセーブセットの数。これは、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 サーバーのコンソールにメッセージを送り、nsrd デーモンが指定したボリュームプールに割り当てられているメディアをマウントするよう依頼する
save プログラムによって送られたデータをストレージメディアに書き込む
Backup サーバーのメディアデータベースに記録するため、保管情報を nsrmmdbd デーモンに転送する
クライアントから起動されるセーブセットの動作が少しでも休止すると、プロセスの動作に、Backup サーバーはグループ内で別のセーブセットを探そうとします。savegrp プログラムは、Backup サーバー構成の並列処理属性で指定されている上限値に達するまで、できるだけ多くのセーブセットを並行してバックアップしようと試みます。これによって、バックアップデバイスを最大限に活用できます。
savegrp プログラムは、サーバーのワークリストにある各項目の処理を、グループのすべてのクライアントがバックアップされるまで繰り返します。savegrp プログラムの処理が終わる前に、Backup サーバーがバックアップ中のグループに属しているか、あるいはこのサーバーが有効などのグループにも属していないことがわかると、nsrim デーモンが起動され、Backup サーバーの「ブートストラップ」ファイルがバックアップされます。ブートストラップファイルのバックアップが終わると、Backup サーバー用に構成されているデフォルトプリンタに、ブートストラップの出力結果が送られます。この出力結果は、Backup サーバーの復旧が必要になる場合に備えて、安全な場所に保管しておいてください。
savegrp プログラムの最終実行結果はサーバーに送り返され、セーブグループ完了レポートに記載されます。このレポートは、電子メールでスーパーユーザーに送られます。
図 A-1 に、スケジュールされた保存処理時に、Backup サーバーとクライアントのすべてのデーモンとプログラムが、どのように関係し合って動作するかを示します。