4.10. 分布式 Numeric Assignment 插件属性
分布式 Numeric Assignment 插件管理数字范围,并将该范围内的唯一数量分配给条目。通过将分配数量拆分为范围,分布式 Numeric Assignment 插件允许多个服务器分配没有冲突的数量。该插件也管理分配给服务器的范围,因此如果一个实例通过范围快速运行,它可以从其他服务器请求其他范围。
分布式数字分配可以配置为使用单一属性类型或多个属性类型,并且只适用于子树中的特定后缀和特定条目。
分布式数字分配由 per-attribute 处理,仅应用于子树中的特定后缀和特定条目。
4.10.1. dnaPluginConfig(Object Class)
此对象类用于配置 DNA 插件和数值范围以分配给条目的条目。
这个对象类在 Directory Server 中定义。
卓越的类
top
OID
2.16.840.1.113730.3.2.324
允许的属性
- dnaType
- dnaPrefix
- dnaNextValue
- dnaMaxValue
- dnaInterval
- dnaMagicRegen
- dnaFilter
- dnaScope
- dnaSharedCfgDN
- dnaThreshold
- dnaNextRange
- dnaRangeRequestTimeout
- cn
4.10.2. dnaFilter
此属性设置 LDAP 过滤器,以用于搜索和识别应用分布式数字分配范围的条目。
需要 dnaFilter
属性来设置属性的分布式数字分配。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
有效范围 | 任何有效的 LDAP 过滤器 |
默认值 | 无 |
语法 | DirectoryString |
示例 | dnaFilter:(objectclass=person) |
4.10.3. dnaInterval
此属性设置通过某一范围内的数字递增的间隔。实际上,这会以预定义的率跳过数字。如果间隔为 3
,且范围中的第一个数字是 1
,则该范围中使用的下一个数字为 4
,然后是 7
,然后是 10
,为每个新数目分配递增三。
在复制环境中,dnaInterval
允许多个服务器共享相同的范围。但是,当您配置共享相同范围的不同服务器时,相应地设置 dnaInterval
和 dnaNextVal
参数,以便不同的服务器不会生成相同的值。如果您向复制拓扑添加新服务器,还必须考虑这一点。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
有效范围 | 任何整数 |
默认值 | 1 |
语法 | 整数 |
示例 | dnaInterval: 1 |
4.10.4. dnaMagicRegen
此属性设置用户定义的值,指示插件为条目分配新值。magic 值可用于在添加新条目时将新的唯一数字分配给现有条目或作为标准设置。
magic 条目应该位于服务器定义的范围之外,因此无法意外触发该条目。请注意,在 DirectoryString 或其他字符类型中使用时,此属性不一定是数字。但是,在多数情况下,DNA 插件仅用于只接受整数值的属性,在这种情况下,dnamagicregen
值还必须是一个整数。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
有效范围 | 任何字符串 |
默认值 | 无 |
语法 | DirectoryString |
示例 | dnaMagicRegen: -1 |
4.10.5. dnaMaxValue
此属性设置可为范围分配的最大值。默认值为 -1
,与设置最高 64 位整数相同。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
有效范围 | 1 到 32 位系统中的最大 32 位整数,以及 64 位系统中的最多 64 位整数;-1 无限 |
默认值 | -1 |
语法 | 整数 |
示例 | dnaMaxValue: 1000 |
4.10.6. dnaNextRange
此属性定义在当前范围耗尽时要使用的下一范围。当在服务器间传输范围时,这个值会被自动设置,但如果不使用范围请求,则可以手动将其设置为将范围添加到服务器。
只有当一个单独的范围需要分配给其他服务器时,才应明确设置 dnaNextRange
属性。dnaNextRange
属性中设置的任何范围必须从其他服务器可用范围内唯一,以避免重复。如果没有来自其他服务器的请求,并且设置了 dnaNextRange
is correctly has explicitly reached its set dnaMaxValue
,则从这个 deck 分配了 dnaNextRange
的部分。
dnaNextRange
分配也受 DNA 配置中设置的 dnaThreshold
属性的限制。分配给另一个服务器的任何范围为 dnaNextRange
不能违反服务器阈值,即使该范围位于 deck dnaNextRange
中。
如果没有明确指定,则在内部处理 dnaNextRange
属性。当它被自动处理时,dnaMaxValue
属性充当下一范围的上限。
属性设置格式为 lower_range-upper_range 的范围。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
有效范围 | 1 到 32 位系统中最大 32 位整数,以及 64 位系统上最大 64 位整数(低和大写) |
默认值 | 无 |
语法 | DirectoryString |
示例 | dnaNextRange: 100-500 |
4.10.7. dnaNextValue
此属性提供可分配的下一个可用数字。最初在配置条目中设置后,此属性由分布式 Numeric Assignment 插件管理。
需要 dnaNextValue
属性来设置属性的分布式数字分配。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
有效范围 | 1 到 32 位系统中的最大 32 位整数,以及 64 位系统中的最高 64 位整数 |
默认值 | -1 |
语法 | 整数 |
示例 | dnaNextValue: 1 |
4.10.8. dnaPrefix
此属性定义一个前缀,可添加到属性生成的数字值的前面。例如,要生成用户 ID(如
),user
1000dnaPrefix
设置是用户。
dnaPrefix
可以存放任何类型的字符串。但是,dnaType
的某些可能值(如 uidNumber
和 gidNumber
)只需要整数值。要使用前缀字符串,请考虑为 dnaType
使用自定义属性,允许字符串。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
有效范围 | 任何字符串 |
默认值 | 无 |
示例 | dnaPrefix: id |
4.10.9. dnaRangeRequestTimeout
分布式 Numeric Assignment 插件有一种潜在情形,其中一个服务器开始耗尽要分配的数字。dnaThreshold
属性设置范围中的可用数字的阈值,以便服务器可以在无法执行数量的分配前从其他服务器请求其他范围。
dnaRangeRequestTimeout
属性设置超时期限(以秒为单位),以便服务器不会在一个服务器中等待新范围,并且可以从新服务器请求范围。
要执行范围请求,必须设置 dnaSharedCfgDN
属性。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
有效范围 | 1 到 32 位系统中的最大 32 位整数,以及 64 位系统中的最高 64 位整数 |
默认值 | 10 |
语法 | 整数 |
示例 | dnaRangeRequestTimeout: 15 |
4.10.10. dnaScope
此属性设置基础 DN 以搜索要应用分布式数字分配的条目。这类似于 ldapsearch
中的基本 DN。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
有效范围 | 任何 Directory 服务器条目 |
默认值 | 无 |
语法 | DirectoryString |
示例 | dnaScope: ou= folks,dc=example,dc=com |
4.10.12. dnaThreshold
分布式 Numeric Assignment 插件有一种潜在情况是,一个服务器开始耗尽要分配的数字,这可能会导致问题。分布式 Numeric Assignment 插件允许服务器从其他服务器上可用的范围请求新范围。
因此,服务器可以在达到分配范围的末尾时识别它,而 dnaThreshold
属性设置范围内剩余的可用数字的阈值。当服务器达到阈值时,它会为新范围发送请求。
要执行范围请求,必须设置 dnaSharedCfgDN
属性。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
有效范围 | 1 到 32 位系统中的最大 32 位整数,以及 64 位系统中的最高 64 位整数 |
默认值 | 100 |
语法 | 整数 |
示例 | dnaThreshold: 100 |
4.10.13. dnaType
此属性设置为其生成了唯一的数字的属性。在这种情况下,每当属性被添加到带有 magic number 的条目时,会自动提供一个分配的值。
此属性必须为属性设置分布式数字分配。
如果设置了 dnaPrefix
属性,则前缀值前会加上 dnaType
生成的任何值。dnaPrefix
值可以是任何类型的字符串,但 dnaType
的一些合理的值(如 uidNumber
和 gidNumber
)只需要整数值。要使用前缀字符串,请考虑为 dnaType
使用自定义属性,允许字符串。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
有效范围 | 任何 Directory Server 属性 |
默认值 | 无 |
示例 | dnaType: uidNumber |
4.10.15. dnaHostname
此属性标识共享范围内服务器的主机名,作为多层次复制中该特定主机的 DNA 范围配置的一部分。可用范围由主机跟踪,且范围信息在所有供应商之间复制,因此如果任何供应商在可用数字上运行较低,可以使用主机信息与其他供应商联系并请求新范围。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
语法 | DirectoryString |
有效范围 | 任何有效的主机名 |
默认值 | 无 |
示例 | dnahostname: ldap1.example.com |
4.10.16. dnaPortNum
此属性提供标准端口号,用于连接到 dnaHostname
中标识的主机。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
语法 | 整数 |
有效范围 | 0 到 65535 |
默认值 | 389 |
示例 | dnaPortNum: 389 |
4.10.17. dnaRemainingValues
此属性包含剩余的值,并可用于分配给条目的服务器数量。
参数 | 描述 |
---|---|
条目 DN | dnaHostname=host_name+dnaPortNum=port_number,ou=ranges,dc=example,dc=com |
语法 | 整数 |
有效范围 | 任何整数 |
默认值 | 无 |
示例 | dnaRemainingValues: 1000 |
4.10.18. dnaRemoteBindCred
指定 Replication Manager 的密码。如果您在需要身份验证的 dnaRemoteBindMethod
属性中设置了 bind 方法,则另外 为
和 cn=config
条目下的 plug-indDNdnaRemoteBindCred
参数设置 dnaRemoteBindCred 参数。
使用纯文本设置 参数。该值会在存储前自动进行 AES 加密。
需要重启服务器,使更改生效。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
语法 | DirectoryString {AES} encrypted_password |
有效值 | 任何有效的 AES 加密密码。 |
默认值 | |
示例 | dnaRemoteBindCred: {AES-TUhNR0NTcUdTSWIzRFFFRkRUQm1NRVHQ1NxR1NJYjNEUVGRERBNEJDUmxObUk0WXpjM1l5MHda VE5rTXpZNA0KTnkxaE9XSmhORGRoT0MwMk1ESmpNV014TUFBQ0FRSUNBU0F3Q2dZSUtvWklodmNOQWdjd0hRWUpZSVp JQVdVRA0KQkFFcUJCQk5KbUFDUWFOMHlITWdsUVp3QjBJOQ==}bBR3On6cBmw0DdhcRx826g= |
4.10.19. dnaRemoteBindDN
指定 Replication Manager DN。如果您在需要身份验证的 dnaRemoteBindMethod
属性中设置了 bind 方法,则另外 为
和 cn=config
条目下的 plug-indDNdnaRemoteBindCred
参数设置 dnaRemoteBindCred 参数。
需要重启服务器,使更改生效。
参数 | 描述 |
---|---|
条目 DN | cn=DNA_config_entry,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config |
语法 | DirectoryString |
有效值 | 任何有效的复制管理器 DN。 |
默认值 | |
示例 | dnaRemoteBindDN: cn=replication manager,cn=config |
4.10.20. dnaRemoteBindMethod
指定远程绑定方法。如果您在此属性中设置了需要身份验证的绑定方法,则还为 cn=config
条目下的插件配置条目中的每个服务器设置 dnaRemoteBindDN
和 dnaRemoteBindCred
参数。
需要重启服务器,使更改生效。
参数 | 描述 |
---|---|
条目 DN | dnaHostname=host_name+dnaPortNum=port_number,ou=ranges,dc=example,dc=com |
语法 | DirectoryString |
有效值 |
|
默认值 | |
示例 | dnaRemoteBindMethod: SIMPLE |
4.10.21. dnaRemoteConnProtocol
指定远程连接协议。
需要重启服务器,使更改生效。
参数 | 描述 |
---|---|
条目 DN | dnaHostname=host_name+dnaPortNum=port_number,ou=ranges,dc=example,dc=com |
语法 | DirectoryString |
有效值 |
|
默认值 | |
示例 | dnaRemoteConnProtocol: LDAP |
4.10.22. dnaSecurePortNum
此属性提供安全(TLS)端口号,用于连接到 dnaHostname
中标识的主机。
参数 | 描述 |
---|---|
条目 DN | dnaHostname=host_name+dnaPortNum=port_number,ou=ranges,dc=example,dc=com |
语法 | 整数 |
有效范围 | 0 到 65535 |
默认值 | 636 |
示例 | dnaSecurePortNum: 636 |