我们正在运行 Linux 2.6.32-431.3.1.el6.x86_64 内核,并不断看到 /var/log/messages 中定期出现以下消息,这些消息出现在我们的用户空间服务器上。当这些消息出现时,我们也会收到用户表示他们无法访问网络驱动器空间的消息。
Feb 6 20:10:40 <server_name> smbd[15502]: failed to bind to server ldap://<server-ip> with dn="cn=user,dc=some_domain,dc=some_domain,dc=some-domain" Error: Can't contact LDAP server
Feb 6 20:10:40 <server_name> smbd[15502]: #011(unknown)
Feb 6 20:10:41 <server_name> smbd[15503]: [2013/11/05 20:10:41.146650, 0] lib/smbldap.c:1225(smbldap_connect_system)
Feb 6 20:10:41 <server_name> smbd[15503]: failed to bind to server ldap://<server-ip> with dn="cn=user,dc=some_domain,dc=some_domain,dc=some-domain" Error: Can't contact LDAP server
Feb 6 20:10:41 <server_name> smbd[15503]: #011(unknown)
Feb 6 20:10:42 <server_name> smbd[1655]: [2013/11/05 20:10:42.868838, 0] lib/smbldap.c:1225(smbldap_connect_system)
Feb 6 20:10:42 <server_name> smbd[1655]: failed to bind to server ldap://<server-ip> with dn="cn=user,dc=some_domain,dc=some_domain,dc=some-domain" Error: Can't contact LDAP server
Feb 6 20:10:42 <server_name> smbd[1655]: #011(unknown)
Feb 6 20:10:48 <server_name> smbd[15504]: [2013/11/05 20:10:48.531242, 0] lib/smbldap.c:1225(smbldap_connect_system)
Feb 6 20:10:48 <server_name> smbd[15504]: failed to bind to server ldap://<server-ip> with dn="cn=user,dc=some_domain,dc=some_domain,dc=some-domain" Error: Can't contact LDAP server
Feb 6 20:10:48 <server_name> smbd[15504]: #011(unknown)
而我们的 ldap 服务器显示以下内容:
Feb 6 10:29:03 <server_name> nslcd[1491]: [918931] ldap_result() failed: Can't contact LDAP server
Feb 6 10:29:03 <server_name> nslcd[1491]: [918931] failed to bind to LDAP server ldap://<server-ip>/: Can't contact LDAP server: Transport endpoint is not connected
Feb 6 10:29:03 <server_name> nslcd[1491]: [918931] no available LDAP server found, sleeping 1 seconds
Feb 6 10:29:04 <server_name> nslcd[1491]: [873f47] failed to bind to LDAP server ldap://<server-ip>/: Can't contact LDAP server: Transport endpoint is not connected
Linux 用户无法进行身份验证,但 Windows 用户可以。
我们注意到,就在这些错误出现之前,我们收到了另一种错误,提示:
Feb 6 11:24:30 <server-name> slapd[1796]: warning: cannot open /etc/hosts.allow: Too many open files
Feb 6 11:24:30 <server-name> slapd[1796]: warning: cannot open /etc/hosts.deny: Too many open files
为了解决这个问题,至少现在,我们可以在运行 ldap 的服务器上运行以下命令:
service slapd restart
任何能作为原因和永久解决方案的想法都将不胜感激。我们应该寻找这些错误的原因,以及我们可以做些什么来解决这些问题?任何建议都将不胜感激。
答案1
您似乎已达到可打开文件数的安全限制之一。请尝试以下操作:
首先检查一下您打开了多少个文件,与限制相比。
sysctl fs.file-nr
更改打开文件的限制以满足您的需要并为自己留出一个缓冲。
echo "fs.file-max = ########" >> /etc/sysctl.conf
应用更改。
sysctl -p