14.5. 手动 ID 范围扩展和分配新 ID 范围
在某些情况下,需要手动调整 ID 范围:
- 分配的 ID 范围已被耗尽
- 副本已耗尽分配给它的 ID 范围,请求额外 ID 会失败,因为其他副本的 ID 范围内没有其他可用 ID。您需要扩展分配给副本的 ID 范围。这可能涉及分割现有的 ID 范围,或者超过服务器初始配置的 ID 范围。或者,您可能想要分配一个新的 ID 范围。注意如果您分配了新的 ID 范围,则服务器上已存在的条目的 UID 将保持不变。这不会造成问题,因为即使您更改了当前的 ID 范围,IdM 也会保留过去分配的范围的记录。
- 副本停止工作
- 当副本终止且需要删除时,不会自动检索 ID 范围,这意味着之前分配给副本的 ID 范围变得不可用。您需要恢复 ID 范围,并使其可用于其他副本。如果要恢复属于停止工作的服务器的 ID 范围,并将其分配给其他服务器,首先使用 ipa-replica-manage dnarange-show 命令找出 ID 范围值在 第 14.3 节 “显示当前分配 ID 范围” 中描述的,然后手动将该 ID 范围分配给服务器。此外,为了避免重复的 UID 或 GID,确保之前未将恢复范围内的 ID 值分配给用户或组;您可以通过检查现有用户和组的 UID 和 GID 来执行此操作。
要手动定义 ID 范围,请使用以下命令:
- ipa-replica-manage dnarange-set 允许您为指定服务器定义当前的 ID 范围:
ipa-replica-manage dnarange-set masterA.example.com 1250-1499
# ipa-replica-manage dnarange-set masterA.example.com 1250-1499
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ipa-replica-manage dnanextrange-set 允许您为指定服务器定义下一个 ID 范围:
ipa-replica-manage dnanextrange-set masterB.example.com 1001-5000
# ipa-replica-manage dnanextrange-set masterB.example.com 1001-5000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
有关这些命令的详情请参考 ipa-replica-manage(1) man page。
重要
注意不要创建重叠的 ID 范围。如果您分配给服务器或副本的任何 ID 范围重叠了,可能会导致两个不同的服务器给不同的条目分配了相同的 ID 值。
不要设置 UID 值为 1000 或更低的 ID 范围;这些值是保留给系统使用的。另外,不要设置包含
0
值的 ID 范围;SSSD 服务不会处理 0
ID 值。
手动扩展 ID 范围时,请确保新扩展范围包含在 IdM ID 范围内;您可以使用 ipa idrange-find 命令检查它。运行 ipa idrange-find -h 命令显示如何使用 ipa idrange-find 的帮助信息。