Sun Java System Directory Server Enterprise Edition 6.3 管理ガイド

部分レプリケーションのための LDIF ファイルのフィルタリング

DSCC を使った場合、部分レプリケーションが設定されたレプリカの初期化は透過的に行われます。初期化時に、選択されている属性だけがコンシューマに送られます。

部分レプリケーションを設定した場合、エクスポートされた LDIF ファイルをコンシューマサーバーにコピーする前に、未使用の属性をフィルタで除外します。Directory Server にはこの目的で fildif ツールがあります。このツールは、指定した LDIF ファイルをフィルタリングし、レプリケーションアグリーメントに定義されている属性セットが許可する属性だけを残します。

このツールはサーバーの設定を読み取り、属性セットの定義を決定します。設定ファイルを読み取るには、fildif ツールを root として実行するか、プロセスおよびファイルを所有するユーザー (nsslapd-localuser 属性によって指定) として実行する必要があります。たとえば、次のコマンドは、前の例で dc=example,dc=com サフィックスからエクスポートされたファイルをフィルタリングします。


$ fildif -i /local/ds1/ldif/example_master.ldif \
 -o /local/ds1/ldif/filtered.ldif -b "cn=host2.example.com:1389, \
 cn=replica,cn=\\"dc=example,dc=com\\",cn=mapping tree,cn=config" -p /local/ds1

fildif コマンドの場所については、「コマンドの場所」を参照してください。

-i オプションと -o オプションは、それぞれ入力ファイルと出力ファイルです。-b オプションは、部分レプリケーションが定義されているレプリケーションアグリーメントの DN です。次のコマンドを使用して、この DN を検索できます。


$ ldapsearch -h host -p port -D cn=admin,cn=Administrators,cn=config -w - \
 -b "cn=config" "(&(objectclass=nsds5replicationagreement) (nsDS5ReplicaPort=replica-port) \
 (nsDS5ReplicaHost=replica-host))" dn

次に例を示します。


$ ldapsearch -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - \
 -b "cn=config" "(&(objectclass=nsds5replicationagreement) \
 (nsDS5ReplicaPort=2090)(nsDS5ReplicaHost=host2))" dn
Enter bind password:
version: 1
dn: cn=host2:1389,cn=replica,cn=dc\=example\,dc\=com,cn=mapping tree,cn=config

fildif ツールのすべてのコマンド行構文については、fildif(1) のマニュアルページを参照してください。

fildif ツールを使用して作成した filtered.ldif ファイルを使用して、このレプリケーションアグリーメントの対象となるコンシューマを初期化できます。このファイルをコンシューマサーバーに転送し、「LDIF ファイルからのデータのインポート」で説明するとおりにインポートします。