この節では、レプリケーション停止またはレプリケーション不一致のトラブルシューティングに役立つ情報の収集方法について説明します。
変更を取得していないコンシューマおよびこのコンシューマのサプライヤからエラーログを収集します。デフォルトでは、エラーログは次のディレクトリ内にあります。
install-path/logs/errors |
エラーログがデフォルトの場所に存在しない場合、次のように dsconf コマンドを使用してログのパスを検索します。
# dsconf get-log-prop -h host -p port ERROR path |
エラーログのレプリケーションログレベルを有効に設定している必要があります。レプリケーションログレベルを有効にするには、DSCC を使用するか、次のようにコマンド行を使用します。
# dsconf set-log-prop -h host -p port ERROR level:err-replication |
また、データベースと同じディレクトリ内にあるサプライヤの更新履歴ログのリストも指定してください。データベースのパスを検索するには、dsconf コマンドを次のように使用します。
# dsconf get-suffix-prop -h host -p port suffix-dn db-path |
次のコマンドを使用して、サプライヤの更新履歴ログディレクトリを指定します。
# ls -la /db-path/c15* |
Directory Server 5.x 以前のバージョンでは、エラーログは次のディレクトリ内にあります。
install-path/slapd-serverID/logs/errors |
エラーログファイルがデフォルトの場所に存在しない場合は、Directory Server 設定ファイル install-path/slapd-serverID /config/dse.ldif でログのパスを検索します。パスは、nsslapd-errorlog 属性の値として指定されています。
サプライヤの更新履歴ログディレクトリのリストを、次のように指定します。
# ls -la changelog-dir |
更新履歴ログファイルがデフォルトの場所に存在しない場合は、Directory Server 設定ファイル install-path/slapd-serverID /config/dse.ldif でログのパスを検索します。パスは、nsslapd-changelogdir 属性の値として指定されています。
insync および repldisc コマンドの出力を、レプリケーション不一致のトラブルシューティングに役立てます。
insync コマンドは、マスターレプリカと 1 つ以上のコンシューマレプリカ間の同期状態を示します。この情報をボトルネックの特定に活用できます。レプリケーション不一致の問題を解決するには、このデータを定期的に取得する必要があります。詳細は、「insync コマンドの使用」を参照してください。
insync コマンドを使用してボトルネックを検出した場合 (たとえば、このツールの出力からボトルネックが遅延の増加によるものであることがわかった場合)、nsds50ruv および ds6ruv 属性データの収集を開始することが役立ちます。このデータは、停止する可能性のある時点および場所を特定するのに役立ちます。nsds50ruv および ds6ruv 属性の詳細については、「レプリカ更新ベクトル (RUV) について」を参照してください。
repldisc コマンドは、既知のレプリカすべてのグラフを作成してから結果を行列で表示して、レプリケーショントポロジを示します。詳細は、「repldisc コマンドの使用」を参照してください。
次に示すように、コンシューマとサプライヤの両方で netstat コマンドを実行して、レプリケーションの停止がネットワークに起因するものかどうかの判別を試みます。
# netstat -an | grep port |
アクセスログにサプライヤが更新を送信していることが表示されているにもかかわらず、コンシューマが情報を受信していない場合は、レプリケーション停止の原因がネットワークにある可能性があります。ping および traceroute コマンドを実行すると、ネットワークレイテンシが問題の原因であるかどうかを判別するのに役立ちます。
スワップ情報を収集して、メモリーが不足しているかどうかを確認します。swap コマンドの出力が小さい場合は、メモリーが問題の原因である可能性があります。
Solaris |
swap -l |
HP-UX |
swapinfo |
Linux |
free |
Windows |
C:\report.txt に提供済み |
ディスクコントローラが完全にロードされているかどうか、および入力/出力がレプリケーションの問題の原因かどうかの判別を試みます。ディスクに問題があるかどうかを判別するには、次のように iostat ツールを使用します。
# iostat -xnMCz -T d 10 |
iostat コマンドは、端末、ディスク、およびテープの入力/出力アクティビティーを反復的に報告します。この情報は、レプリケーション不一致イベントがコンシューマ側ディスクの飽和状態に起因するかどうかを判別するのに役立ちます。