Ndsrepairを使用する

このセクションでは次について説明します。

サーバコンソールでのndsrepairユーティリティの用途は次のとおりです。


構文

ndsrepairを実行するには、次の構文を使用します。

ndsrepair {-U| -P| -S| -C| -E| -N| -T| -J entry_id}  
[-A yes|no] [-O yes|no] [-F filename] [-Ad]

または

ndsrepair -R [-l yes|no [-u yes|no] [-m yes|no] [-i yes|no] [-f yes|no] [-d yes|no] [-t yes|no] [-o yes|no] [-r yes|no] [-v yes|no] [-c yes|no] [-A yes|no] [-O yes|no] [-F filename]

重要:  -Adオプションは、Novellサポート担当者からの事前の指示がない限り使用しないでください。


Ndsrepairのオプション

オプション 説明

-U

[標準修復]オプションです。ユーザの操作なしにndsrepairを実行または終了します。Novellサポート担当者から特定の操作を手動で実行するように指示された場合を除き、この修復方法の使用をお勧めします。修復が完了したらログファイルをチェックして、ndsrepairで変更された内容を確認します。

-P

[レプリカ操作とパーティション操作]オプションです。現在のサーバのeDirectoryデータベースファイルにレプリカが保存されているパーティションが表示されます。[レプリカオプション]メニューには、「レプリカの修復」、「パーティション操作のキャンセル」、「同期のスケジュール」、および「ローカルレプリカをマスタレプリカとして指定」を実行するオプションがあります。

詳細については、「[レプリカ操作とパーティション操作]オプション」を参照してください。

-S

[グローバルスキーマの操作]オプションです。このオプションには、このサーバのスキーマをTreeオブジェクトのマスタに準拠させるのに必要なスキーマ操作がいくつか含まれています。ただし、これらの操作は必要なときだけ使用してください。スキーマは、ローカル修復操作および標準修復操作によってすでに検査されています。

-C

[外部参照オブジェクトのチェック]オプションです。各外部参照オブジェクトをチェックして、そのオブジェクトを含むレプリカがあるかどうかを調べます。オブジェクトのあるパーティションレプリカを含むすべてのサーバがアクセス不能の場合、オブジェクトは見つかりません。オブジェクトが見つからない場合、警告が表示されます。

-E

[レプリカ同期のレポート]オプションです。現在のサーバ上にレプリカを持つすべてのパーティションのレプリカ同期ステータスをレポートします。この操作により、パーティションのレプリカを保持する各サーバ上のレプリカのTreeオブジェクトから同期ステータス属性が読み込まれます。レポートには、すべてのサーバに対して正常に同期が行われた最終時刻と、最終同期以降発生したエラーが表示されます。12時間以内に同期が完了していない場合は、警告メッセージが表示されます。

-N

[このデータベースに認識されているサーバ]オプションです。ローカルeDirectoryデータベースに認識されているすべてのサーバが表示されます。現在のサーバにTreeパーティションのレプリカがある場合、このサーバにはeDirectoryツリー内のすべてのサーバのリストが表示されます。 サーバオプションを実行するサーバを1つ選択します。

-J

ローカルサーバ上の1つのオブジェクトを修復します。修復するオブジェクトのエントリID(16進形式で)を指定する必要があります。破損している1つの特定のオブジェクトを修復するには、[標準修復(-U)]オプションの代わりに、このオプションを使用できます。データベースのサイズによっては、[標準修復]オプションの完了に何時間もかかる場合があります。このオプションを使用して、時間を節約することができます。

-T

[時刻同期]オプションです。ローカルeDirectoryデータベースに登録されているすべてのサーバにアクセスして、各サーバの時刻同期ステータスの情報を要求します。このサーバにTreeパーティションのレプリカがある場合は、eDirectoryツリー内のすべてのサーバがポーリングされます。各サーバ上で実行されているeDirectoryのバージョンもレポートされます。

-A

既存のログファイルに付加します。既存のログファイルに情報が追加されます。このオプションは、デフォルトで有効に設定されています。

-O

出力をファイルに記録します。このオプションは、デフォルトで有効に設定されています。

-F ファイル名

出力を指定したファイルに記録します。

-R

[ローカルデータベースの修復]オプションです。ローカルeDirectoryデータベースを修復します。eDirectoryでオープンおよびアクセスできるように、修復操作を使用してローカルデータベースの矛盾を解決します。このオプションには、データベースの修復操作を容易にするサブオプションがあります。このオプションにはファンクション修飾子があります。ファンクション修飾子については、「-Rオプションで使用するファンクション修飾子」で説明されています。


-Rオプションで使用するファンクション修飾子

Modifier 説明

-l

修復操作中にeDirectoryデータベースをロックします。

-u

修復操作中に一時eDirectoryデータベースを使用します。

-m

修復されていない元のデータベースを維持します。

-i

eDirectoryデータベース構造とインデックスをチェックします。

-f

データベースの空き領域を増やします。

-d

データベース全体を再構築します。

-t

ツリー構造のチェックを実行します。データベース内での接続状況が正しいかどうかを調べるため、ツリー構造のリンクをすべてチェックするには、「はい」を設定します。チェックを省略するには、「いいえ」を設定します。

デフォルト値は「はい」です。

-o

オペレーショナルスキーマを再構築します。

-r

すべてのローカルレプリカを修復します。

-v

ストリームファイルを検証します。

-c

ローカル参照をチェックします。


グローバルスキーマ操作

ndsrepair -S([-Ad]詳細設定スイッチ)オプションを使用して、実行できるすべてのスキーマ操作のリストを表示できます。次の表では、使用可能なオプションについて説明します。

オプション 説明

マスタサーバからスキーマを要求

このサーバのスキーマを同期するようツリーのルートのマスタレプリカに要求します。スキーマの変更内容は、Treeオブジェクトのマスタレプリカからこのサーバに24時間以内に伝えられます。すべてのサーバがマスタレプリカのスキーマを要求すると、ネットワークトラフィックが増加します。

ローカルスキーマをリセット

ローカルスキーマのタイムスタンプをクリアし、インバウンドスキーマの同期を要求するスキーマリセット機能が呼び出されます。Treeパーティションのマスタレプリカから実行する場合、このオプションは使用できません。これは、ツリー内のすべてのサーバが同時にリセットされないようにするためです。

Post NetWare 5スキーマの更新

post-NetWare 5 DSの変更に伴い、互換性を確保するためにスキーマを拡張および変更します。このオプションを使用するには、ndsrepairが実行されているサーバがTreeパーティションのレプリカを保持していて、レプリカのステータスがオンである必要があります。

オプションスキーマ拡張機能

包含やその他の拡張機能をスキーマに追加し、変更します。このオプションを使用するには、このサーバがTreeパーティションのレプリカを保持し、レプリカのステータスがオンである必要があります。さらに、ツリー内のすべてのNetWare 4サーバに次のバージョンのeDirectoryがインストールされている必要があります。

  • NetWare 4.10サーバでは、NDSバージョン5.17以降が必要です。
  • NetWare 4.11/4.2サーバでは、NDSバージョン6.03以降が必要です。

旧バージョンのNDSでは、これらの変更内容を同期できません。

リモートスキーマのインポート(詳細設定スイッチオプション)

現在のツリーのスキーマに追加するスキーマを含むeDirectoryツリーを選択します。ツリーを選択すると、Treeパーティションのマスタレプリカを保持するサーバに接続されます。現在のツリー上にあるスキーマを拡張するには、そのサーバのスキーマが使用されます。

新規エポックの宣言(詳細設定スイッチオプション)

新規スキーマエポックを宣言すると、Treeパーティションのマスタレプリカにアクセスし、そのサーバで宣言されるスキーマの無効なタイムスタンプが修復されます。他のすべてのサーバは、修復されたタイムスタンプを保持する新しいスキーマのコピーを受け取ります。受け取る側のサーバが新規エポック内に存在しなかったスキーマを含む場合は、古いスキーマを使用するオブジェクトおよび属性が「不明」オブジェクトクラスまたは属性に変更されます。


[レプリカ操作とパーティション操作]オプション

サーバに保存された各レプリカの情報を表示するには、次のコマンドを入力します。

ndsrepair -P

必要なレプリカを選択します。次のオプションが表示されます。

  • すべてのレプリカの修復

    レプリカテーブルに表示されたレプリカをすべて修復します。

  • 選択したレプリカの修復

    レプリカテーブルに表示されているレプリカのうち、選択したレプリカのみを修復します。

    重要:  レプリカの修復では、レプリカ内の各オブジェクトとスキーマとの整合性のチェック、データと属性構文との整合性のチェックが行われます。レプリカに関連する他の内部データ構造もチェックされます。過去30分間にローカルeDirectoryデータベースを修復していない場合は、レプリカを修復する前にローカルeDirectoryデータベースを修復する必要があります。

  • 即時同期のスケジュール

    すべてのレプリカの同期を直ちに行うようにスケジュールします。この操作は、同期が予定通り実行されるまで待たずに、その同期プロセスのeDirectory情報をndstrace画面で参照したい場合に便利です。

  • パーティション操作のキャンセル

    選択したパーティション上でのパーティション操作をキャンセルします。このオプションは、サーバの検出不可や通信リンクの不良など、eDirectoryツリーに問題があるために操作が完了できない場合に必要になります。操作がある程度以上進行していると、キャンセルできない場合があります。

  • このサーバを新しいマスタレプリカに設定

    選択したパーティションのローカルレプリカをマスタレプリカとして設定します。元のマスタレプリカが失われた場合、このオプションを使用して新しいマスタレプリカを設定します。

  • すべてのサーバの同期ステータスのレポート

    現在のサーバ上にあるすべてのパーティションのレプリカ同期ステータスをレポートします。レポートには、すべてのサーバに対して正常に同期が行われた最終時刻と、最終同期以降発生したエラーが表示されます。

  • すべてのサーバ上のレプリカの同期

    選択したパーティションのレプリカを保持するすべてのサーバ上で、完全な同期ステータスを確保します。このオプションを使用して、パーティションの状態を確認できます。該当するパーティションのレプリカを保持するすべてのサーバが正常に同期されていれば、そのパーティションは正常に機能していると判断できます。各サーバは、レプリカリング内の他のすべてのサーバに対して即時同期を実行します。サーバは、サーバ自体には同期されません。したがって、現在のサーバが所有するレプリカのステータスは「ホスト」と表示されます。

  • すべてのレプリカのリングの修復

    レプリカテーブルに表示されたすべてのレプリカのレプリカリングを修復します。

  • 選択したレプリカのリングの修復

    レプリカテーブルから選択したレプリカのレプリカリングを修復します。

    重要:  レプリカリングの修復では、指定したパーティションのレプリカを含む各サーバ上のレプリカリング情報がチェックされ、リモートID情報が検証されます。過去30分間にローカルeDirectoryデータベースを修復していない場合は、すべてのリングまたは選択したリングを修復する前に、ローカルeDirectoryデータベースを修復する必要があります。ローカルデータベースを修復するには、-Rオプションを使用します。詳細については、「」を参照してください。

  • レプリカリングの表示

    選択したパーティションのレプリカを保持するすべてのサーバのリストを表示します。このサーバセットをレプリカリングと呼びます。レプリカリングのリストには、レプリカのタイプに関する情報およびリング内にある各サーバの現在のステータスが表示されます。レプリカリングを表示してからサーバを選択すると、サーバオプションが表示されます。

    サーバオプション

    • 選択したサーバの同期ステータスのレポート

      選択したサーバ上にレプリカを保持する選択したパーティションのレプリカ同期ステータスをレポートします。この操作により、パーティションのレプリカを保持する各サーバ上のレプリカルートオブジェクトから、同期ステータス属性が読み込まれます。レポートには、すべてのサーバに対して正常に同期が行われた最終時刻と、最終同期以降発生したエラーが表示されます。12時間以内に同期が完了していない場合は、警告メッセージが表示されます。

    • 選択したサーバのレプリカの同期

      選択したパーティションのレプリカを保持する選択したサーバ上で、完全な同期ステータスを確保します。このオプションを使用して、パーティションの状態を確認できます。該当するパーティションのレプリカを持つサーバが正常に同期されていれば、そのパーティションが正常に機能していると判断できます。該当するサーバは、直ちにレプリカリング内の他のすべてのサーバに同期されます。サーバは、それ自体には同期されません。したがって、現在のサーバが所有するレプリカのステータスは「ホスト」として表示されます。

    • リング内のすべてのレプリカにすべてのオブジェクトを送信

      レプリカリング内で選択したサーバから、選択したパーティションのレプリカを保持する他のすべてのサーバに、すべてのオブジェクトを送信します。この操作によって大量のネットワークトラフィックが生成されることがあります。レプリカリング内で選択したサーバ上の選択したパーティションのレプリカが、レプリカリング内の他のすべてのサーバと同期されていることを確かめるには、このオプションを使用します。該当するパーティションのサブオーディネートリファレンスレプリカのみを保持するサーバではこの操作は実行できません。

    • マスタからこのレプリカへのすべてのオブジェクトの受信

      選択したサーバ上のレプリカで、マスタレプリカのすべてのオブジェクトを受信します。この操作によって大量のネットワークトラフィックが生成されることがあります。レプリカリング内で選択したサーバ上の選択したパーティションのレプリカが、マスタレプリカと同期していることを確かめるには、このオプションを使用します。マスタレプリカのみを保持するサーバ上ではこの操作は実行できません。

    • サーバのフルネームを表示

      このオプションは、サーバ名が長すぎてサーバテーブル内にすべてを表示できない場合に、完全なサーバ名を表示するために使用します。

    • レプリカリングからのサーバの削除

      (詳細設定スイッチオプション)現在のサーバに保存されている特定のレプリカから、選択したサーバを削除します。レプリカリング内に表示されるサーバがすでにeDirectoryツリーの一部ではない場合や、パーティションのレプリカを保持していない場合は、iManagerを使用してこのサーバオブジェクトを削除します。サーバオブジェクトが削除されると、そのオブジェクトは最終的にレプリカリングから除外されます。

      警告:  この操作を誤用すると、eDirectoryデータベースで致命的な破損が生じることがあります。Novellサポート担当者の指示がない限り、このオプションは使用しないでください。

  • フルパーティション名の表示

    このオプションは、パーティション名が長すぎてレプリカテーブル内にすべてを表示できない場合に、完全なパーティション識別名を確認するために使用します。

  • タイムスタンプの修復と新規エポックの宣言

    (詳細設定スイッチオプション)選択したパーティションのレプリカをすべて最新版に更新するために、マスタレプリカの新しい参照ポイントを指定します。この操作は、常にパーティションのマスタレプリカ上で実行されます。マスタレプリカは、このサーバのローカルレプリカにある必要はありません。オブジェクトが作成または変更されるとタイムスタンプが設定されます。これらのタイムスタンプは固有である必要があります。マスタレプリカのすべてのタイムスタンプが検査されます。タイムスタンプが現在のネットワーク時間より遅れている場合は、新しいタイムスタンプに置き換えられます。

  • 選択したレプリカの削除

    (詳細設定スイッチオプション)このサーバ上の選択したレプリカを削除します。このオプションの使用はお勧めできません。このオプションは、他のユーティリティを使用してレプリカを削除できない場合にのみ使用してください。

  • 不明リーフオブジェクトの削除

    (詳細設定スイッチオプション)不明オブジェクトクラスを持ち、サブオーディネートオブジェクトのないオブジェクトを、ローカルeDirectoryデータベースからすべて削除します。このオプションによって、不明オブジェクトが削除対象としてマークされます。削除はeDirectoryツリーの他のレプリカと同時に、後で行われます。

    警告:  このオプションは、ConsoleOneまたはiManagerを使用してオブジェクトの変更や削除ができない場合にのみ使用してください。


[このデータベースに認識されているサーバ]のオプション

サーバでは次の修復オプションが使用できます。

  • すべてのネットワークアドレスの修復

    ローカルeDirectoryデータベース内で、すべてのサーバのネットワークアドレスをチェックします。このオプションでは、使用可能なトランスポートプロトコルに応じて、各サーバ名のSLPディレクトリエージェントが検索されます。次に、各アドレスが、サーバオブジェクトのネットワークアドレスプロパティ、およびすべてのパーティションTreeオブジェクトの各レプリカプロパティのアドレスレコードと比較されます。アドレスが異なる場合は、同じになるように更新されます。

  • 選択したサーバのネットワークアドレスの修復

    ローカルeDirectoryデータベースファイル内にある特定のサーバのネットワークアドレスをチェックします。このオプションでは、SLPディレクトリエージェントが、サーバ名に現在関連付けられているトランスポートプロトコルに応じて検索されます。

  • サーバのフルネームを表示

    サーバ名が長すぎてサーバテーブル内にすべてを表示できない場合に、完全なサーバ名を表示するのに使用します。このオプションは、-Pオプションと同じです。詳細については、「」を参照してください。


標準修復を実行し、/root/ndsrepair.logファイルにイベントを記録する場合(またはログファイルがすでに存在していればそのログファイルに追加してイベントを記録する場合)は、次のコマンドを入力します。

ndsrepair -U -A no -F /root/ndsrepair.log

すべてのグローバルスキーマ操作とその詳細設定オプションのリストを表示するには、次のコマンドを入力します。

ndsrepair -S -Ad

データベースを強制ロックしてローカルデータベースを修復するには、次のコマンドを入力します。

ndsrepair -R -l yes

注:  ndsrepairコマンドの入力内容は、オプションファイルによってリダイレクトできます。オプションファイルは、レプリカおよびパーティション操作に関連するオプションやサブオプションを含むテキストファイルです。これらはサーバに対する認証を必要としません。各オプションまたはサブオプションは、改行によって区切られます。ファイルの内容が、適切な順序で指定されていることを確認します。適切な順序になっていないと、予期しない結果が発生する場合があります。


ndsrepairのトラブルシューティング


エラー - 786 Ndsrepairの実行中

ndsrepairの実行中は、コンピュータの特定のパーティション内にDIB空き領域の3倍のサイズが必要です。