Red Hat Training

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

7.4.4. スキーマレプリケーション

標準スキーマでは、コンシューマーサーバーにデータを複製する前に、サプライヤーサーバーは、独自のバージョンのスキーマがコンシューマーサーバーに保存されているスキーマのバージョンと同期されているかどうかを確認します。以下の条件が適用されます。
  • サプライヤーとコンシューマーの両方のスキーマエントリーが同じである場合、レプリケーション操作が続行されます。
  • サプライヤーサーバー上のスキーマのバージョンがコンシューマーに保存されているバージョンより新しい場合、サプライヤーサーバーはそのスキーマをコンシューマーに複製してからデータの複製を続行します。
  • サプライヤーサーバーのスキーマがコンシューマーに保存されているバージョンよりも古い場合、コンシューマーのスキーマが新しいデータをサポートできないため、サーバーはレプリケーション中に多くのエラーを返すことがあります。
注記
サプライヤーとレプリカ間のスキーマが一致しない場合でも、スキーマレプリケーションは実行されます。
複製可能な変更には、Directory Server Console を介して行われたスキーマへの変更、ldapmodify を介して行われた変更、および 99user.ldif ファイルに直接行われた変更が含まれます。カスタムスキーマファイル、およびカスタムスキーマファイルに追加された変更は複製されません。
コンシューマーには、スキーマが異なる 2 つのサプライヤーからの複製データが含まれる場合があります。どのサプライヤーが更新されても最後が優先され、そのスキーマがコンシューマーに伝播されます。
警告
サプライヤーサーバーは競合を解決できず、レプリケーションは失敗するため、コンシューマーサーバーでスキーマを更新しないでください。スキーマは、複製されたトポロジーのサプライヤーサーバーで維持する必要があります。
同じ Directory Server は、サプライヤーとしての役割を果たす読み取り/書き込みレプリカと、コンシューマーとしての役割を果たす読み取り専用レプリカを保持することができます。そのため、スキーマのサプライヤーとして機能するサーバーを常に特定し、このサプライヤーと、スキーマ情報のコンシューマーとして機能するレプリケーション環境の他のサーバーとの間にレプリケーションアグリーメントを設定します。
スキーマを複製するために特別なレプリケーションアグリーメントは必要ありません。サプライヤーとコンシューマーの間でレプリケーションが設定されていると、スキーマレプリケーションがデフォルトで実行されます。
スキーマ設計の詳細は、3章ディレクトリースキーマの設計 を参照してください。

カスタムスキーマ

標準の 99user.ldif ファイルがカスタムスキーマに使用される場合、これらの変更はすべてのコンシューマーに複製されます。

すべてのサーバーで同じスキーマファイルの情報を維持するには、カスタムスキーマファイルを各サーバーにコピーする必要があります。カスタムスキーマファイル、およびこれらのファイルへの変更は、Directory Server Console または ldapmodify を介して加えられても複製されません。
カスタムスキーマファイルがある場合は、サプライヤーでの変更後にこれらのファイルがすべてのサーバーにコピーされていることを確認します。すべてのファイルがコピーされたら、サーバーを再起動します。
カスタムスキーマファイルの詳細は、「カスタムスキーマファイルの作成」 を参照してください。