7.4.2. DNA プラグイン構文の確認
DNA プラグイン自体は、パスワードストレージスキームプラグインと同様のコンテナーエントリーです。DNA プラグインエントリーの下にある各 DNA エントリーは、DNA プラグインの新しい管理範囲を定義します。
DNA プラグインの新しい管理範囲を設定するには、コンテナーエントリーの下にエントリーを作成します。
最も基本的な設定は、1 台のサーバーで分散数値の割り当てを設定することです。つまり、その範囲はサーバー間で共有されず、転送されません。基本的な DNA 設定エントリーでは、以下の 4 つの項目を定義します。
- 値が管理される属性で、
dnaType
属性に設定されます。 dnaScope
属性に設定される、エントリーを検索するためのベースとして使用するエントリー DNdnaFilter
属性に設定される、管理するエントリーの特定に使用する検索フィルターdnaNextValue
属性に設定される、次に割り当てることができる値 (エントリーの作成後、プラグインにより処理される)
cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config エントリーでサポートされる属性の一覧は、『Red Hat Directory Server の設定、コマンド、およびファイルリファレンス を参照してください。』
1 つの属性タイプに対して、1 台のサーバーに分散数値割り当てを設定するには、以下を実行します。
dn: cn=Account UIDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config objectClass: top objectClass: dnaPluginConfig cn: Account UIDs dnatype: uidNumber dnafilter: (objectclass=posixAccount) dnascope: ou=people,dc=example,dc=com dnaNextValue: 1
複数のサプライヤーが分散数値の割り当てに設定されている場合は、エントリーに範囲を転送するために必要な情報が含まれます。
- サーバーが割り当てることができる最大数。これにより、範囲の上限が設定されます。これは、複数のサーバーが番号を割り当てるときに論理的に必要です。これは
dnaMaxValue
属性で設定されます。 dnaThreshold
属性に設定された範囲転送を発生させるのに範囲が十分低いしきい値です。これが設定されていない場合、デフォルト値は 1 になります。dnaRangeRequestTimeout
属性に設定される、サーバーが転送を待ってハングしないようにするためのタイムアウト期間。これを設定しないと、デフォルト値は 10 (10 秒) になります。dnaSharedCfgDN
属性に設定した各サプライヤーの範囲情報を保存するすべてのサプライヤーサーバー間で共有される設定エントリー DN。
サーバーで割り当て可能な特定の数字の範囲は、
dnaNextRange
属性で定義されます。これは、次に利用可能な範囲を表示し、サーバーが範囲が割り当てられているか、または使用しているため、プラグインにより自動的に管理されます。この範囲は「デッキ上」にあります。 別のサーバーには割り当てられておらず、ローカルの Directory Server が使用する場合は引き続き利用できます。
dn: cn=Account UIDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config 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 dnaNextRange: 1301-2301
dnaNextRange
属性は、個別の特定範囲を他のサーバーに割り当てる必要がある場合にのみ明示的に設定する必要があります。dnaNextRange
属性に設定した範囲は、重複を避けるために、他のサーバーで利用可能な範囲から一意でなければなりません。他のサーバーからの要求がなく、dnaNextRange
が設定されているサーバーが設定 dnaMaxValue
に到達した場合は、次に値 (dnaNextRange
の一部) がこのデッキから割り当てられます。
dnaNextRange
割り当ては、DNA 設定に設定されている dnaThreshold
属性によっても制限されます。dnaNextRange
用に別のサーバーに割り当てられる範囲は、範囲が dnaNextRange
のデッキで利用可能であっても、サーバーのしきい値に違反できません。
注記
dnaNextRange
属性が明示的に設定されていない場合は、内部的に処理されます。自動的に処理される場合、dnaMaxValue
属性は次の範囲の上限として機能します。
各サプライヤーは、範囲およびその接続設定に関する情報を含む、現在の範囲を別の設定エントリーで追跡します。このエントリーは、
dnasharedcfgdn
の場所の子です。設定エントリーは他のすべてのサプライヤーに複製されるため、各サプライヤーが設定を確認して、新しい範囲で問い合わせるサーバーを見つけることができます。以下に例を示します。
dn: dnaHostname=ldap1.example.com+dnaPortNum=389,cn=Account UIDs,ou=Ranges,dc=example,dc=com objectClass: dnaSharedConfig objectClass: top dnahostname: ldap1.example.com dnaPortNum: 389 dnaSecurePortNum: 636 dnaRemainingValues: 1000