5.8. 跨林信任故障排除
本节介绍跨林信任环境中可能的问题以及解决问题的方法。
5.8.1. 对 ipa-extdom 插件进行故障排除
IdM 域中的 IdM 客户端,它信任的 ActiveActive Directorynbsp;Directory(AD)无法直接从 AD 接收用户和组的信息。另外,IdM 不会将 AD 用户的信息存储在 IdM master 上运行的目录服务器中。相反,IdM 服务器使用
ipa-extdom
接收 AD 用户和组的信息,并将它们转发到请求客户端。
设置 ipa-extdom 插件的 Config Timeout
ipa-extdom
插件针对 AD 用户的数据向 SSSD 发送请求。但是,并非所有请求的数据都可能已在 SSSD 缓存中。在本例中,SSSD 从 AD 域控制器(DC)请求数据。这对于某些操作可能非常耗时。配置超时值定义 ipa-extdom
插件在插件取消连接前等待 SSSD 回复的时间(以毫秒为单位),并为调用者返回超时错误。
默认情况下,配置超时为 10000 毫秒(10 秒)。
- 如果您设置了一个太小的值,如 500 毫秒,SSSD 可能没有足够的时间来响应,请求将始终返回超时。
- 如果该值太大,如30000 毫秒(30 秒),则单个请求可能会在这段时间内阻止与 SSSD 的连接。由于一次只能有一个线程连接到 SSSD,来自插件的所有其他请求都必须等待。
- 如果 IdM 客户端发送了大量请求,它们可能会阻止为目录服务器配置的所有可用工作程序,因此服务器可能在某些情况下无法响应任何类型的请求。
在以下情况下更改配置超时:
- 如果在请求 AD 用户和组信息时达到自己的搜索超时前,IdM 客户端经常收到超时错误,配置超时值太小。
- 如果 IdM 服务器上的 Directory 服务器经常被锁定,并且
pstack
实用程序报告很多或所有 worker 线程目前正在处理ipa-extdom
请求,则该值太大。
例如,要将配置值设置为20000 毫秒(20 秒),请输入:
# ldapmodify -D "cn=directory manager" -W dn: cn=ipa_extdom_extop,cn=plugins,cn=config changetype: modify replace: ipaExtdomMaxNssTimeout ipaExtdomMaxNssTimeout: 20000
为 NSS 调用设置 ipa-extdom 插件使用的 maximum Size
ipa-extdom
插件使用调用,这些调用使用与典型名称服务交换机(NSS)调用相同的 API 来请求 SSSD 中的数据。这些调用使用 SSSD 可以存储请求数据的缓冲。如果缓冲区太小,SSSD 会返回一个 ERANGE 错误,插件会使用更大的缓冲区重试请求。cn=ipa_extdom_extop,cn=plugins,cn=config 条目的 IdM master 中的 ipaExtdomMaxNssBufSize
属性定义缓冲区的最大大小,以字节为单位。
默认情况下,缓冲区为 134217728 字节(128 MB)。例如,如果组中包含如此多的成员,所有名称都不适合到缓冲区中,并且 IPA 客户端无法解析组,则仅增加该值。
例如,要将缓冲区设置为 268435456 字节(256 MB),请输入:
# ldapmodify -D "cn=directory manager" -W dn: cn=ipa_extdom_extop,cn=plugins,cn=config changetype: modify replace: ipaExtdomMaxNssBufSize ipaExtdomMaxNssBufSize: 268435456