3.5. Directory Server がレプリケーション環境でスキーマの更新を管理する方法


ディレクトリースキーマが cn=schema ツリーで更新されると、Directory Server は変更状態番号 (CSN) を含む /etc/dirsrv/slapd-instance_name/schema/99user.ldif ファイルに変更を保存します。

Directory Server は、スキーマの変更を他のレプリカに直接複製しません。スキーマレプリケーションは、ディレクトリーのコンテンツが複製されたツリーで更新されると開始します。たとえば、スキーマの変更後にユーザーエントリーを更新すると、nsSchemaCSN 属性に保存されている CSN と、コンシューマーにある CSN が比較されます。コンシューマーの nsSchemaCSN 属性の値がサプライヤーの値よりも低い場合、Directory Server はスキーマをコンシューマーに複製します。レプリケーションに成功すると、サプライヤーにあるすべてのオブジェクトクラスと属性タイプはコンシューマーの定義のスーパーセットである必要があります。

例3.4 スキーマのサブセットとスーパーセット

  • server1 では、example オブジェクトクラスが a1 属性、a2 属性、および a3 属性を許可します。
  • server2 では、example オブジェクトクラスが a1 属性および a3 属性を許可します。

前の例では、server1example オブジェクトクラスのスキーマ定義は、server2 のオブジェクトクラスのスーパーセットです。検証フェーズで、Directory Server がスキーマを複製または受け入れると、サーバーはスーパーセット定義を取得します。たとえば、ローカルスキーマのオブジェクトクラスがサプライヤースキーマのオブジェクトクラスよりも少ない属性を許可していることをコンシューマーが検出すると、Directory Server がローカルスキーマを更新します。

スキーマ定義が正常に複製された場合、nsSchemaCSN 属性は両サーバーで同一になり、オブジェクトクラスや属性タイプなどのスキーマ定義はレプリケーションセッションの開始時に比較されなくなります。

次のシナリオでは、Directory Server はスキーマを複製しません。

  • あるホストのスキーマが、別のホストのスキーマのサブセットの場合

    たとえば、server2 にある example オブジェクトクラスのスキーマ定義は server1 のオブジェクトクラスのサブセットです。サブセットは、属性 (単一値属性は多値属性のサブセット) および属性の構文に対しても発生する可能性があります。

  • サプライヤースキーマとコンシューマースキーマの定義をマージする必要がある場合
  • Directory Server がマージするスキーマをサポートしない場合。たとえば、1 台のサーバーのオブジェクトクラスが a1 属性、a2 属性、および a3 属性を許可し、別のサーバーのオブジェクトクラスが a1 属性、a3 属性、および a4 属性を許可する場合、スキーマはサブセットではないので、マージできません。
  • /etc/dirsrv/slapd-instance_name/schema/99user.ldif 以外のスキーマファイルを使用する場合

    Directory Server を使用すると、/etc/dirsrv/slapd-instance_name/schema/ ディレクトリーにスキーマファイルを追加できます。ただし、/etc/dirsrv/slapd-instance_name/schema/99user.ldif ファイルの CSN のみが更新されます。このため、他のスキーマファイルはローカルでのみ使用され、レプリケーションパートナーに自動的に転送されません。

    重要

    Directory Server がスキーマを自動的に複製できるようにし、スキーマ定義の重複を回避するには、カスタムスキーマを /etc/dirsrv/slapd-instance_name/schema/99user.ldif ファイルに保存します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.