復元処理の一環として検証を行います。復元されたeDirectoryデータベースと、レプリカリングに属する他のサーバとの間で、遷移ベクトルを比較するというものです。復元処理の詳細については、Backup eMToolによる復元作業の概要および遷移ベクトルと復元後の検証処理を参照してください。
遷移ベクトルが合致しなければ、検証に失敗したことになります。これは一般に、復元処理に使ったファイルのデータが不足していたことを表します。たとえば次のような状況が考えられます。
注: このほか、レプリカリング中に、8.5より古いeDirectoryが稼動するサーバがある場合にも、検証に失敗します。この場合の対処方法については、復元後の検証についてはeDirectory 8.5以降のみで互換性があるを参照してください。
デフォルトでは、復元したeDirectoryデータベースが他のレプリカと整合が取れていない場合、そのままではオープンできません。
バックアップファイルやロールフォワードログの指定を単に忘れただけであれば、正しく指定してもう一度復元処理を実行すればよいはずです。次回に復元が成功すれば、検証に成功し、データベースがオープンされるでしょう。
必要なバックアップファイルやロールフォワードログが揃っていない場合は、以下の手順でサーバを復旧してください。検証に失敗したときの復旧手順の概要を説明します。
このセクションの説明により、検証に失敗した後、サーバの識別情報やファイルシステム権利を復旧し、レプリカリングからいったん外し、再び追加します。この手順でレプリケーションが終了すれば、サーバは元どおりに機能するようになるはずです。ただしレプリカを作っていなかったために復元できなかったパーティションを除きます。
まず、レプリカリングをクリーンアップするに従って作業してください。それが終了したらサーバの復旧とレプリカの再追加に進みます。
この手順では、次の方法について説明します。
マスタレプリカの再割り当て。 障害が発生したサーバが、あるパーティションのマスタレプリカを保持していた場合は、DSRepairを使って、レプリカリストに属する他のサーバ上のレプリカを、マスタとして扱うよう指定します。
障害が発生したサーバに対するレプリカリストの参照の削除。 障害が発生したサーバを含むレプリカリングのメンバーである各サーバに対して、障害が発生したサーバが利用できなくなったことを通知する必要があります。
レプリカリングをクリーンアップするには、次の操作を行います。
DSRepairを起動します。復元対象サーバとレプリカを共有しているサーバのコンソールから、次のオプションを指定して起動してください。
上記のオプションについて詳しくは、DSRepairの詳細オプションを参照してください。
警告: 「-a」オプション、「-Ad」オプションを指定してDSRepairを実行すると、ツリー構造が損なわれることがあります。これらのオプションの詳細については、Novell Support Web site, Solution 2938493を参照してください。
レプリカ操作とパーティション操作の選択
編集したいパーティションを選択します。このパーティションが属するレプリカリングから、障害の起こったサーバを外すことになります。
[レプリカリングの表示]を選択して、このパーティションに関するレプリカを持つサーバのリストを表示します。
(状況によって実行)当該サーバにマスタレプリカがあった場合、[このサーバを新しいマスタレプリカに設定]コマンドで、他のサーバにマスタを切り替えます。
この時点で、対象のレプリカリングは新しいマスタレプリカを保持しています。リングを構成するすべてのレプリカに対して、新しいマスタが存在することが通知されます。
そのまましばらく待ちます。上記のレプリカがマスタになったことが他のサーバに認識されるまで、しばらく待ちます。
[レプリカリングの表示]画面に戻ります。障害の起こったサーバを選択して、[レプリカリングからのサーバの削除]を実行してください。
DSRepairを起動する際に「-a」または「-Ad」(プラットフォームにより選択)を指定していなかった場合、このコマンドは表示されません。
警告: 障害の起こったサーバをマスタレプリカに設定したままで、このコマンドを実行しないでください。リング内のサーバリストを見れば確認できます。マスタレプリカであれば、ステップ 5を参照して、他のサーバにマスタを切り替えてから、当該サーバをレプリカリングから外します。
管理者としてログインします。
説明メッセージを読み、それに対する同意を入力して処理を続行します。
DSRepairを終了します。
レプリカリングを構成するすべてのサーバに通知が行われます。
障害が発生したサーバを含んでいる各レプリカリングごとに、1つのサーバ上で、この手順を繰り返します。
続いて、障害が生じたサーバ上に、新たにレプリカを構築します。サーバの復旧とレプリカの再追加に進んでください。
レプリカ設定を「外部参照」側に書き替え、自分自身はレプリカリングに属していないものとして動作するようにします。その上でサーバからレプリカを削除すると、データベースのロックを解除できるようになります。
レプリカを削除すれば、レプリカをサーバに再追加する作業は終わりです。あとは自動的に、他のサーバから各レプリカの最新版を参照し、再追加していきます。各レプリカが再追加されたら、サーバは元と同じように機能するはずです。
DSRepairを使用してレプリカを削除し、レプリケーション機能により再追加する手順を次に示します。
レプリカリングをクリーンアップするが完了していることを確認します。
eMBoxクライアントの高度な復元機能を使って、上書き復元処理を行います。
eMBoxクライアントを対話式モードで起動します。
edirutilファイルは、eMBoxクライアントを実行するためのショートカットです。Javaの実行形式ファイルと、eMBoxクライアントのインストール先ディレクトリがパラメータとして記述されているほか、NetWareの場合は「-ns」オプションもついています。(Java実行ファイルの場所は、ワークステーションでeMBoxクライアントを実行するで示しているように手動で入力することもできます)。
正常に起動されると、「eMBox Client」というプロンプトが現れます。eMBox Client>
復元の対象サーバにログインします。次のように入力してください。
login -s サーバ名またはIPアドレス -p ポート番号 -u ユーザ名.コンテキスト -w パスワード
たとえばWindowsの場合、次のようになります。
login -s 151.155.111.1 -p 8008 -u admin.mycompany -w mypassword
セキュア接続が確立できないというエラーが表示される場合は、eMBoxクライアントを使用してセキュア接続を確立するに表示されているJSSEファイルがシステム上にない可能性があります。
指定するポート番号が分からない場合は、eDirectoryポート番号を確認するを参照してください。
eMBoxクライアントはログインが成功したかどうかを表示します。
上書き復元コマンドを、次のように実行します。併せてログファイル名も指定してください。
restadv -v -l ログファイル名
高度な復元機能により、RSTデータベース(復元したけれども検証に失敗したもの)の名前をNDSに変更します。ただしロックは解除しません。
サーバコンソールで、DSRepairの高度な復元機能により、レプリカ設定をすべて外部参照に切り替えます。
オプション「-rd」、「-R」は、ローカルデータベースとレプリカを修復する旨の指定です。
警告: DSRepairによる高度な復元機能は、正しく使用しないとツリーが破損することがあります。これらのオプションの詳細については、Novell Support Web site, Solution 2938493を参照してください。
修復が終了したら、ロックを解除してデータベースを開きます。次のように実行してください。
restadv -o -k -l ログファイル名
「-o」オプションはデータベースのオープン、「-k」オプションはロック解除を表します。
iManagerを使って、修復されたサーバをレプリカリングに再追加します。
レプリケーション処理が終わるまでしばらく待ちます。
レプリカの状態が[新規]から[オン]に変われば、レプリケーション処理は終了です。これはiManagerで確認できます。詳細については、レプリカに関する情報を表示するを参照してください。
NICIセキュリティファイルを復元した場合は、復元完了後にNICIを再初期化するため、サーバを再起動します。
(状況によって実行)このサーバでロールフォワードログ機能を使うためには、改めて有効に切り替え、障害対策のための書き出し先も設定し直して、ロールフォワードログの環境設定を再作成する必要があります。ロールフォワードログを有効にしてから、改めてフルバックアップも取る必要があります。
この手順が必要となるのは、復元処理の過程で、ロールフォワードログに関する設定はデフォルトに戻るためです。つまり、ロールフォワードログ機能は無効となり、保存先もデフォルトの場所になるからです。フルバックアップが改めて必要となるのは、スケジュールに従って次に無人でのフルバックアップが取られるまでに、再び障害が起こる可能性があるためです。
ロールフォワードログの詳細については、ロールフォワードログを使用するを参照してください。