クラスタ
各クラスタサーバーのクラスタマネージャは、各クラスタサーバーに調査を送信して各サーバーの可用性を判断します。クラスタマネージャは、各サーバーで使用できるレプリカを絶えず調べています。ユーザーがアクセスしようとするデータベースが使用できない場合、そのユーザーの要求は、クラスタ内の別のサーバーにあるデータベースのレプリカにリダイレクトされます。別のサーバーにあるレプリカに接続されても、フェイルオーバーされていることはユーザーには分かりません。
例 次の例でフェイルオーバーのプロセスについて説明します。このクラスタには 3 台のサーバーがあります。サーバー 1 は現在使用できません。サーバー 2 とサーバー 3 のクラスタマネージャは、サーバー 1 が使用できないことを認識しています。
1 ある IBM(R) Lotus Notes(R) ユーザーがサーバー 1 のデータベースを開こうとします。
2 Lotus Notes で、サーバー 1 からの応答がないことが分かります。
3 サーバーからの応答がないというメッセージはユーザーには表示されません。Lotus Notes は自身のクラスタキャッシュを参照してサーバー 1 がクラスタのメンバーかどうかを確認し、メンバーであればそのクラスタのほかのサーバー名を検索します。IBM(R) Lotus Notes(R) Client がクラスタ内のサーバーに初めてアクセスすると、クラスタにあるすべてのサーバー名がクライアントのクラスタキャッシュに追加されます。このキャッシュは 15 分ごとに更新されます。
4 IBM(R) Lotus Notes(R) は、クラスタキャッシュで次にリストされているサーバーのクラスタマネージャにアクセスします。
5 クラスタマネージャはクラスタデータベースディレクトリを参照し、クラスタの中で目的のデータベースのレプリカを持つサーバーを検索します。
6 クラスタマネージャは自身のサーバークラスタキャッシュを参照し、レプリカを持つ各サーバーの可用性を確認します。サーバークラスタキャッシュには、クラスタにあるすべてのサーバーの情報が格納されています。この情報は、クラスタサーバーが他のクラスタサーバーに調査を送信して取得します。
7 クラスタマネージャは、クラスタ内で目的のデータベースのレプリカを持つサーバーのリストを作成します。次にサーバーの可用性が高い順番でこのリストをソートし、Lotus Notes に送信します。
8 Lotus Notes はこのリストの先頭にあるサーバー、つまり使用できる可能性が最も高いサーバーにあるレプリカを開きます。そのサーバーが使用できなくなっている場合は、リストで次の順位にあるサーバーでレプリカを開きます。この例で、使用できる可能性が最も高いのはサーバー 2 です。
Lotus Notes Client がシャットダウンするとき、クラスタキャッシュの内容は CLUSTER.NCF というファイルに保存されます。Lotus Notes Client が起動するたびに、CLUSTER.NCF の情報はクラスタキャッシュに書き戻されます。