7.4.3. 一意の番号割り当ての設定
一意の数字分散は、DNA プラグインの異なるインスタンスを作成して設定されます。これらの DNA プラグインインスタンスは、コマンドラインからのみ作成できますが、Directory Server コンソールから編集できます。
7.4.3.1. 一意の番号割り当ての設定
注記
一意の番号が割り当てられている属性には、同等インデックスが設定されている必要があります。
dnaNextvalue
がすでに取得されているかどうかを確認するために、サーバーは、内部的にソートされた検索を実行する必要があります。これには、適切な順序のマッチングルールとともに整数属性で等価インデックスが必要であるかを確認します。
インデックスの作成については、「標準インデックスの作成」を参照してください。
注記
すべてのサプライヤーサーバーに DNA プラグインを設定し、数字の範囲の値と重複しないように注意してください。
- 複製されたサブツリーに共有コンテナーエントリーを作成します。以下の例では、ldapmodify を使用してこれを行います。
dn: ou=Ranges,dc=example,dc=coma changetype: add objectclass: top objectclass: extensibleObject objectclass: organizationalUnit ou: Ranges dn: cn=Account UIDs,ou=Ranges,dc=example,dc=coma changetype: add objectclass: top objectclass: extensibleObject cn: Account UIDs
- DNA プラグインを有効にし、これを動的として設定します。デフォルトでは、(コンテナーエントリーである)プラグインエントリーは無効になっています。動的プラグインの設定に関する詳細は、「プラグインを動的に有効化」 を参照してください。
- コンテナーエントリーの下に、新しい DNA プラグインインスタンスを作成します。以下に例を示します。注記一意の番号割り当て(
dnaType
)を持つエントリー属性を設定するプラグイン属性は多値です。同じプラグインインスタンスに複数の属性が設定されている場合、その番号の割り当ては同じ範囲から取得されます。異なる範囲を使用するには、異なるプラグインインスタンスを設定します。ldapmodify の使用:dn: cn=Account UIDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config changetype: add objectClass: top objectClass: dnaPluginConfig cn: Account UIDs dnatype: uidNumber dnafilter: (objectclass=posixAccount) dnascope: ou=People,dc=example,dc=com dnanextvalue: 1 dnaMaxValue: 1300 dnasharedcfgdn: cn=Account UIDs,ou=Ranges,dc=example,dc=com dnathreshold: 100 dnaRangeRequestTimeout: 60 dnaMagicRegen: magic
cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config エントリーでサポートされる属性の一覧は、『Red Hat Directory Server の設定、コマンド、およびファイルリファレンス を参照してください。』 - マルチマスターレプリケーションのサーバーでは、接続情報および範囲を指定するホストの設定エントリーを作成します。エントリーの DN は、ホスト名とポート番号の組み合わせです(dnaHostname+dnaPortNum)。ldapmodify の使用:
dn: dnaHostname=ldap1.example.com+dnaPortNum=389,cn=Account UIDs,ou=Ranges,dc=example,dc=com changetype: add objectClass: dnaSharedConfig objectClass: top dnahostname: ldap1.example.com dnaPortNum: 389 dnaSecurePortNum: 636 dnaRemainingValues: 1000
- サーバーが動的プラグインを有効にするために設定されていない場合は、サーバーを再起動して新しいプラグインインスタンスを読み込みます。
# systemctl restart dirsrv@instance