2. Directory Serverのインスタンスと接尾辞
7. Directory Serverのパスワード・ポリシー
8. Directory Serverのバックアップとリストア
9. Directory Serverのグループ、ロールおよびCoS
スキーマ・ファイルおよびレプリケーションを使用したスキーマの拡張
スキーマ・ファイルおよびレプリケーションを使用してスキーマを拡張するには:
16. Directory Proxy Serverのツール
17. Directory Proxy Serverのインスタンス
19. Directory Proxy Serverの証明書
20. Directory Proxy Serverのロード・バランシングとクライアント・アフィニティ
22. Directory Proxy Serverによる仮想化
24. Directory Proxy ServerとバックエンドLDAPサーバーの接続
25. クライアントとDirectory Proxy Serverの接続
26. Directory Proxy Serverのクライアント認証
27. Directory Proxy Serverのロギング
28. Directory Proxy Serverの監視とアラート
第3部 Directory Service Control Centerの管理
2つのサーバー間で、1つ以上の接尾辞のレプリケーションを構成するたびに、スキーマ定義も自動的にレプリケートされます。スキーマ定義の自動レプリケーションにより、すべてのレプリカが、コンシューマにレプリケート可能なすべてのオブジェクト・クラスと属性を定義する完全な同一のスキーマになります。したがって、マスター・サーバーにもマスター・スキーマが含まれます。
しかし、LDAPでスキーマを変更した場合でも、スキーマのレプリケーションは瞬時に行われるわけではありません。スキーマ・レプリケーションでは、ディレクトリ・データの更新によって、またはスキーマ変更後の最初のレプリケーション・セッションの開始時にトリガーされます。
すべてのレプリカにスキーマを適用するには、少なくともすべてのマスターでスキーマ・チェックを有効にする必要があります。スキーマはLDAP操作を実行するマスターでチェックされるので、コンシューマの更新時にはチェックする必要はありません。パフォーマンスを向上させるため、レプリケーション・メカニズムでは、コンシューマ・レプリカでのスキーマ・チェックを行いません。
注意: ハブおよび専用コンシューマではスキーマ・チェックをオフにしないでください。スキーマ・チェックがコンシューマのパフォーマンスに影響することはありません。スキーマ・チェックをオンに保ち、レプリカの内容がスキーマと一致するようにします。
コンシューマの初期化時に、マスター・サーバーはスキーマをコンシューマに自動的にレプリケートします。さらに、DSCCまたはコマンドライン・ツールから、スキーマが変更された場合にも、マスター・サーバーは自動的にスキーマをレプリケートします。デフォルトで、スキーマ全体がレプリケートされます。コンシューマにまだ存在していない追加スキーマ要素は、コンシューマで作成され、99user.ldifファイルに格納されます。
たとえば、マスター・サーバーの起動時に、そのサーバーの98mySchema.ldifファイルにスキーマ定義が含まれているとします。さらに、他のサーバー(マスター、ハブまたは専用コンシューマ)とのレプリケーション承諾を定義するとします。続いて、このマスターからレプリカを初期化すると、レプリケートされたスキーマには98mySchema.ldifの定義が含まれますが、この定義はレプリカ・サーバーの99user.ldifに格納されます。
コンシューマの初期化時に、スキーマがレプリケートされた後で、マスター側のcn=schemaでスキーマを変更すると、スキーマ全体がコンシューマにもレプリケートされます。したがって、コマンドライン・ユーティリティまたはDSCCからマスター・スキーマに加えた変更は、コンシューマにレプリケートされます。これらの変更はマスターの99user.ldifに格納され、前述のものと同じメカニズムにより、コンシューマの99user.ldifにも格納されます。
レプリケーション環境でスキーマの一貫性を維持するために、次のガイドラインを考慮してください。
コンシューマ・サーバーのスキーマを変更しないでください。
コンシューマのスキーマを変更すると、レプリケーション・エラーが発生する可能性があります。これは、コンシューマのスキーマ内の差分により、サプライヤからの更新がコンシューマのスキーマに一致しなくなる可能性があるためです。
マルチマスター・レプリケーション環境では、1つのマスター・サーバーでスキーマを変更します。
2つのマスター・サーバーのスキーマを変更すると、最後に更新されたマスターがそのスキーマをコンシューマに伝播します。すると、コンシューマのスキーマが他のマスターのスキーマと一致しなくなる可能性があります。
部分レプリケーションを構成する場合は、次のガイドラインも考慮してください。
部分レプリケーションの構成では、スキーマはサプライヤによりプッシュされるので、部分コンシューマ・レプリカのスキーマはマスター・レプリカのスキーマのコピーとなります。したがって、スキーマが適用される部分レプリケーションの構成と対応しなくなる可能性があります。
一般に、Directory Serverでは、スキーマ違反を回避するため、スキーマに定義されている各エントリのすべての必須属性がレプリケートされます。必須属性を除外するよう部分レプリケーションを構成する場合、スキーマ・チェックを無効にする必要があります。
部分レプリケーションでスキーマ・チェックが有効になっている場合、オフラインでレプリカを初期化できないことがあります。必須属性がフィルタで除外された場合、Directory ServerではLDIFからデータをロードできなくなります。
部分コンシューマ・レプリカでスキーマ・チェックを無効にした場合、その部分コンシューマ・レプリカのあるサーバー・インスタンス全体でスキーマ・チェックが行われなくなります。このため、部分コンシューマと同じサーバー・インスタンスでサプライヤ・レプリカを構成することは避けてください。
デフォルトでは、レプリケーション・メカニズムによってスキーマがレプリケートされるたびに、スキーマ全体がコンシューマに送信されます。次の状況では、スキーマ全体をコンシューマに送信することは好ましくありません。
DSCCまたはコマンドラインからのcn=schemaに対する変更は、ユーザー定義のスキーマ要素に限定され、標準スキーマは一切変更されません。頻繁にスキーマを変更する場合、変更されていない大規模なスキーマ要素セットを毎回送信することはパフォーマンスに影響を及ぼします。ユーザー定義のスキーマ要素のみをレプリケートすることで、レプリケーションおよびサーバーのパフォーマンスを向上できる場合もあります。
このタスクの実行には、DSCCを使用できません。次の手順の説明に従って、コマンドラインを使用してください。
$ dsconf set-server-prop -h host -p port repl-user-schema-enabled:on
必要な場合は、デフォルト値のoffにより、スキーマ全体をレプリケートします。