4.4. 进一步的迁移注意事项和要求

当您计划从 LDAP 服务器迁移到身份管理(IdM)时,请确保您的 LDAP 环境能够使用 IdM 迁移脚本。

4.4.1. 支持迁移的 LDAP 服务器

从 LDAP 服务器到 IdM 的迁移过程使用一个特殊的脚本 ipa migrate-ds 来执行迁移。此脚本对 LDAP 目录的结构和 LDAP 条目有具体的要求。仅支持对符合 LDAPv3 的目录服务的迁移,其中包括几个通用目录:

  • Sun ONE 目录服务器
  • Apache 目录服务器
  • OpenLDAP

从 LDAP 服务器到 IdM 的迁移已使用红帽目录服务器和 OpenLDAP 进行了测试。

注意

Microsoft 活动目录 不支持 使用迁移脚本进行迁移,因为它不是符合 LDAPv3 的目录。如需从活动目录进行迁移的帮助,请联系红帽专业服务。

4.4.2. LDAP 环境迁移要求

LDAP 服务器和身份管理(IdM)存在许多不同的配置场景,这会影响迁移过程的顺畅性。对于示例迁移流程,这些是关于环境的假设:

  • 正在将一个 LDAP 目录域迁移到一个 IdM 域。不涉及整合。
  • 用户密码作为哈希存储在 LDAP 目录中。有关支持的哈希列表,请参阅 红帽目录服务器文档 中红帽目录服务器 10 部分中的 配置、命令和 文件参考 标题中的密码存储模式部分。
  • LDAP 目录实例是身份存储和身份验证方法。客户端机器配置为使用 pam_ldapnss_ldap 库来连接 LDAP 服务器。
  • 条目仅使用标准的 LDAP 模式。包含自定义对象类或属性的条目不会迁移到 IdM。
  • migrate-ds 命令只迁移以下帐户:

    • 哪些包含 gidNumber 属性的账户。posixAccount 对象类需要此属性。
    • 哪些包含 sn 属性的账户。person 对象类需要此属性。

4.4.3. IdM 系统迁移要求

对于约 10,000 个用户和 10 个组的中等大小的目录,必须具有足够强大的目标 IdM 系统才能允许处理迁移。迁移的最低要求是:

  • 4 个核
  • 4GB RAM
  • 30GB 磁盘空间
  • 2 MB 的 SASL 缓冲区 ,这是 IdM 服务器的默认大小

    如果出现迁移错误,请增加缓冲大小:

    [root@ipaserver ~]# ldapmodify -x -D 'cn=directory manager' -w password -h ipaserver.example.com -p 389
    
    dn: cn=config
    changetype: modify
    replace: nsslapd-sasl-max-buffer-size
    nsslapd-sasl-max-buffer-size: 4194304
    
    modifying entry "cn=config"

    设置 nsslapd-sasl-max-buffer-size 值(以字节为单位)。

4.4.4. 用户和组 ID 号

当从 LDAP 迁移到 IdM 部署时,请确保部署之间没有用户 ID (UID)和组 ID (GID)冲突。迁移前,请验证:

  • 您知道您的 LDAP ID 范围。
  • 您知道您的 IdM ID 范围。
  • LDAP 服务器上的 UID 和 GID 之间没有重叠,在 RHEL 系统或 IdM 部署上的现有 UID 或 GID 之间没有重叠。
  • 迁移的 LDAP UID 和 GID 适合 IdM ID 范围。

    • 如果需要,在迁移前创建一个新的 IdM ID 范围。

4.4.5. 关于 sudo 规则的注意事项

如果您将 sudo 与 LDAP 一起使用,则您必须手动将存储在 LDAP 中的 sudo 规则迁移到身份管理(IdM)。红帽建议您在 IdM 中重新创建 netgroups 来作为 hostgroups。对于不使用 SSSD sudo 提供者的 sudo 配置,IdM 自动将 hostgroups 显示为传统的 netgroups。

4.4.6. LDAP 到 IdM 的迁移工具

身份管理(IdM)使用特定命令 ipa migrate-ds 来执行迁移过程,以便 LDAP 目录数据被正确格式化并干净地导入到 IdM 服务器中。使用 ipa migrate-ds 时,远程系统用户(由 --bind-dn 选项指定的)必须具有对 userPassword 属性的读权限,否则将不能迁移密码。

IdM 服务器必须配置为在迁移模式下运行,然后才可以使用迁移脚本。详情请参阅 将 LDAP 服务器迁移到 IdM

4.4.7. 提高 LDAP 到 IdM 的迁移性能

LDAP 迁移本质上是 IdM 服务器中 389 目录服务器(DS)实例的一个专门的导入操作。调优 389 DS 实例以获得更好的导入操作性能,有助于提高整体迁移性能。

有两个参数会直接影响导入性能:

  • nsslapd-cachememsize 属性定义条目缓存允许的大小。这是一个缓冲区,其自动设置为总缓存大小的 80%。对于大规模导入操作,您可以增加此参数以及可能的内存缓存本身。这一改进将提高目录服务处理大量条目或具有大量属性的条目的效率。

    有关如何使用 dsconf 命令修改属性的详情,请参阅 调整条目缓存大小

  • 系统 ulimit 配置选项设置系统用户允许的最大进程数。处理大型数据库可能会超出限制。如果发生这种情况,请增大值:

    [root@server ~]# ulimit -u 4096

4.4.8. LDAP 到 IdM 的迁移序列

迁移到 IdM 时有四个主要步骤,但它们的顺序根据您要首先迁移 服务器 还是 客户端 而有所不同。

重要

客户端优先和服务器优先迁移都提供了常规迁移流程,但它们可能无法在每个环境中都正常工作。在尝试迁移真实的 LDAP 环境之前,请设置测试 LDAP 环境,并测试迁移过程。

客户端优先迁移

SSSD 用于在配置身份管理(IdM)服务器时更改客户端配置:

  1. 部署 SSSD。
  2. 重新配置客户端来连接到当前 LDAP 服务器,然后故障转移到 IdM。
  3. 安装 IdM 服务器。
  4. 使用 IdM ipa migrate-ds 脚本迁移用户数据。这会从 LDAP 目录导出数据、IdM 模式的格式,然后将它导入到 IdM。
  5. 使 LDAP 服务器下线,并允许客户端透明地故障转移到 IdM。
服务器优先迁移

LDAP 到 IdM 的迁移首先是:

  1. 安装 IdM 服务器。
  2. 使用 IdM ipa migrate-ds 脚本迁移用户数据。这会从 LDAP 目录导出数据,为 IdM 模式格式化数据,然后将其导入到 IdM 中。
  3. 可选。部署 SSSD。
  4. 重新配置客户端来连接到 IdM。不可能简单地替换 LDAP 服务器。IdM 目录树- 因此用户条目 DN - 与之前的目录树不同。

    虽然要求必须重新配置客户端,但不需要立即重新配置客户端。更新的客户端可以指向 IdM 服务器,而其他客户端则指向旧的 LDAP 目录,从而在数据迁移后可允许合理的测试和过渡阶段。

    注意

    不要长时间并行运行 LDAP 目录服务和 IdM 服务器。这增加了用户数据在两个服务间不一致的风险。