Red Hat Training

A Red Hat training course is available for Red Hat Directory Server

3.4.7. カスタムスキーマファイルの作成

管理者は、Directory Server で提供される 99user.ldif ファイルに加えて、Directory Server が使用するカスタムスキーマファイルを作成できます。これらのスキーマファイルは、組織に固有の新しいカスタム属性とオブジェクトクラスを保持します。新しいスキーマファイルは、スキーマディレクトリー /etc/dirsrv/slapd-instance_name/schema/ に配置する必要があります。
標準属性とオブジェクトクラスはすべて、カスタムスキーマ要素が読み込まれた後にのみロードされます。
注記
カスタムスキーマファイルは、99user.ldif より数字またはアルファベット的に高くしないでください。そうしないと、サーバーで問題が発生する可能性があります。
カスタムスキーマファイルの作成後、全サーバー間でスキーマの変更を分散する方法が 2 つあります。
  • このカスタムスキーマファイルを、インスタンスのスキーマディレクトリー /etc/dirsrv/slapd-instance/schema に手動でコピーします。スキーマを読み込むには、サーバーを再起動するか、schema-reload.pl スクリプトを実行してスキーマを動的にリロードします。
  • Directory Server Console または ldapmodify などの LDAP クライアントでサーバーのスキーマを変更します。
  • サーバーがレプリケートされたら、レプリケーションプロセスがスキーマ情報を各コンシューマーサーバーにコピーするのを許可します。
    レプリケーションでは、複製されたスキーマ要素はすべてコンシューマーサーバーの 99user.ldif ファイルにコピーされます。90example_schema.ldif などのカスタムスキーマファイルにスキーマを維持するには、このファイルを手動でコンシューマーサーバーにコピーする必要があります。レプリケーションは、スキーマファイルをコピーしません。
これらのカスタムスキーマファイルがすべてのサーバーにコピーされていない場合、Directory Server Console または ldapmodify などの LDAP クライアントを使用してサプライヤーサーバーのスキーマに変更が加えられた場合に限り、スキーマ情報はレプリカ (コンシューマーサーバー) に複製されます。
スキーマの定義が存在しないコンシューマーサーバーにレプリケートされると、99user.ldif ファイルに保存されます。このディレクトリーは、スキーマ定義の保存場所を追跡しません。コンシューマーの 99user.ldif ファイルにスキーマ要素を保存しても、スキーマがサプライヤーサーバーでのみ維持されている限り、問題はありません。
カスタムスキーマファイルが各サーバーにコピーされた場合、スキーマファイルへの変更を各サーバーに再度コピーする必要があります。ファイルが再びコピーされない場合、変更がコンシューマーの 99user.ldif ファイルに複製され保存される可能性があります。変更が 99user.ldif ファイルに保存されると、スキーマ管理が難しくなることがあります。これは、一部の属性がコンシューマー上の 2 つの別個のスキーマファイルに存在するためです。1 度目は、サプライヤーからコピーされた元のカスタムスキーマファイルで、2 度目はレプリケーション後の 99user.ldif ファイルです。
スキーマの複製の詳細は、「スキーマレプリケーション」を参照してください。