对NFS导出的访问失败或挂起
适用场景
- ONTAP 9
- NFS
- Lightweight Directory Access Protocol(轻量目录访问协议)(LDAP)
问题描述
- 在所有Vserver上、对卷的NFS访问失败或随机挂起:
- 可以在事件日志中观察到多个secd错误:
[node-01: secd: secd.nfsAuth.noUnixCreds:error]: Vserver "svm1" cannot determine UNIX identity. Error: Acquire UNIX extended credentials procedure failed ...
[ 921] Successfully connected to ip 10.1.1.7, port 88 using TCP
[ 1447] Entry for host-address: 10.1.1.9 not found in the current source: FILES. Ignoring and trying next available source
[ 2465] Successfully connected to ip 10.1.1.3, port 389 using TCP
[ 4327] Successfully connected to ip 10.1.1.5, port 389 using TCP
[ 7928] LDAP search for the "uid, uidNumber, gidNumber, unixUserPassword, name, unixHomeDirectory, loginShell" attribute(s) within base "dc=Demo,dc=Netapp,dc=com" (scope: 2) using filter "(&(objectClass=User)(uidNumber=1111))" failed with error: Timed out
**[ 7932] FAILURE: Failed to get user info for id '1111'
[ 7932] Source: LDAP unavailable. Entry for user-id:1111 not found in any of the available sources
[ 7932] Unable to retrieve credentials f...[Please refer to secd log for more detail!]
[node-01: secd: secd.ldap.referralError:info]: Server (10.1.1.7) does not hold the target entry for ldap filter ((&(objectclass=*))) on vserver (svm5).
[node-01: secd: secd.ldap.query.timed.out:error]: Vserver 'svm1': LDAP server 10.1.1.7 did not respond to query within timeout (3 seconds) interval.
[node-01: secd: secd.conn.auth.failure:notice]: Vserver (svm2) could not make a connection over the network to server (ip 10.1.1.7, port 389). Error: Operation timed out (Service: LDAP (NIS & Name Mapping), Operation: GetUserInfoFromId).
[node-01: secd: secd.unixLookupFailure:error]: UNIX lookup failure on Vserver (svm1) for client with IP address (10.1.1.1.50).
Error: Acquire UNIX credentials procedure failed
[ 2 ms] Entry for user-id: 1112 not found in the current source: FILES. Ignoring and trying next available source
[ 4752] Successfully connected to ip 10.1.1.5, port 88 using TCP
[ 7035] Successfully connected to ip 10.1.1.7, port 88 using TCP
[ 18654] LDAP search for the "uid, uidNumber, gidNumber, unixUserPassword, name, unixHomeDirectory, loginShell" attribute(s) within base "dc=Demo,dc=Netapp,dc=com" (scope: 2) using filter "(&(objectClass=User)(uidNumber=1112))" failed with error: Timed out **[ 18657] FAILURE: Failed to get user info for id '1112' [ 18657] Source: LDAP unavailable. Entry for user-id:1112 not found in any of the available sources
[ 18657] Unable to retrieve UNIX username for UID 1112
[ 18657] Retry requested, but the retry window (7000 ms) has expired; giving up.
SECD.log
secd.nfsAuth.noUnixCreds:error
的详细信息:
debug: ldap_sasl_interactive_bind_s returned 0 { in ldapSaslBindGssapi() at src/connection_manager/secd_connection.cpp:748 }
debug: UpdateStatsForLdapReferral vsid=4 serverIp=10.1.1.5 { in UpdateStatsForLdapReferral() at src/connection_manager/secd_connection.cpp:2235 }
debug: LDAP TLS Alert generated is 'warning:close notify'
info : LDAP search for the "uid, uidNumber, gidNumber, unixUserPassword, name, unixHomeDirectory, loginShell" attribute(s) within base "dc=Demo,dc=Netapp,dc=com" (scope: 2) using filter "(&(objectClass=User)(uidNumber=1111))"failed with error: Timed out { in searchLdap() at src/utils/secd_ldap_utils.cpp:405 }
ERR : RESULT_ERROR_LDAPSERVER_TIMEOUT:7646 in searchLdap() at src/utils/secd_ldap_utils.cpp:411
ERR : searchLdap: LDAP Error: (-5): 'Timed out':
debug: Vserver's operational state: running { in isVserverRunning() at src/configuration_manager/secd_configuration_manager.cpp:2860 }
debug: Logged secd.ldap.query.timed.out to EMS { in logEmsEventForLdapError() at src/utils/secd_ems_utils.cpp:542 }
ERR : RESULT_ERROR_LDAPSERVER_TIMEOUT:7646 in getLdapUserInfo() at src/authorization/secd_ldap_unix_authorization.cpp:1074
CRIT : _maxConnectionSem held for 8 seconds for cache ref ID 388661001, conn type LDAP (NIS & Name Mapping) { in semaphoreReleased() at src/include/secd_thread_data_manager.h:219 }
debug: LDAP TLS Alert generated is 'warning:close notify'
debug: Closing service handle; reporting status 1 { in ~SecdConnection() at src/include/secd_connection.h:118 }
ERR : Failed to get user info for id '1111' { in getPasswdInfoFromLdap() at src/authorization/secd_rpc_authorization.cpp:2633 }
ERR : RESULT_ERROR_LDAPSERVER_TIMEOUT:7646 in getPasswdInfoFromLdap() at src/authorization/secd_rpc_authorization.cpp:2637
ERR : RESULT_ERROR_LDAPSERVER_TIMEOUT:7646 in ldapGetPasswd() at src/authorization/secd_rpc_authorization.cpp:2887
ERR : RESULT_ERROR_LDAPSERVER_TIMEOUT:7646 in SecdCbNsLdapQuery() at src/authorization/secd_rpc_authorization.cpp:3284
debug: NSLIBC: ldap_match(), ../../../../../../netapp/lib/libc/ldap_secd.c:1164, Vsid = 4 secd RPC SECD_LDAP_PASSWD_PROC returned 7646
ERR : NSLIBC: map_secd_err_to_retval(), ../../../../../../netapp/lib/libc/ldap_secd.c:488, Vsid = 4 Received secd_err: '7646'
debug: NSLIBC: _nsdispatch(), ../../../../../../src/lib/libc/net/nsdispatch.c:986, Vsid = 4 Result returned = 2
warn : NSLIBC: _nsdispatch(), ../../../../../../src/lib/libc/net/nsdispatch.c:990, Vsid = 4 NS File access time alert: In method getpwuid_r, look up of DB ldap took 7 secs
info : Source: LDAP unavailable. Entry for user-id:1111 not found in any of the available sources { in SecdCbNsJournal() at src/utils/secd_ns_utils.cpp:94 }
debug: nswrapper::getpwuid_r() returned error code=0, files_err=NS_ERROR_NOT_FOUND, nis_err=NS_ERROR_NONE, ldap_err=NS_ERROR_LDAP_QUERY_TIMEOUT, dns_err=NS_ERROR_NONE { in getUserInfoViaLibC() at src/utils/secd_ns_utils.cpp:455 }
ERR : nswrapper::getpwuid_r() has a transient error { in getUserInfoViaLibC() at src/utils/secd_ns_utils.cpp:461 }
ERR : RESULT_ERROR_SECD_LIBC_TRANSIENT_ERROR:7035 in getUserInfoViaLibC() at src/utils/secd_ns_utils.cpp:462
ERR : RESULT_ERROR_SECD_LIBC_TRANSIENT_ERROR:7035 in _getUserPasswdInfo() at src/authorization/secd_unix_authorization.cpp:1042
ERR : RESULT_ERROR_SECD_LIBC_TRANSIENT_ERROR:7035 in checkAndGetUserInfo() at src/authorization/secd_unix_authorization.cpp:500
ERR : RESULT_ERROR_SECD_LIBC_TRANSIENT_ERROR:7035 in _getUserInfo() at src/authorization/secd_unix_authorization.cpp:757
ERR : RESULT_ERROR_SECD_LIBC_TRANSIENT_ERROR:7035 in getCredsFromUserIdViaLibc() at src/authorization/secd_unix_authorization.cpp:117
ERR : Unable to retrieve credentials for UNIX user with UID 1111 { in secd_rpc_auth_user_id_to_unix_ext_creds_1_svc_secd() at src/authorization/secd_rpc_authorization.cpp:953 }
debug: Vserver's operational state: running { in isVserverRunning() at src/configuration_manager/secd_configuration_manager.cpp:2860 }
debug: Logged secd.authsys.lookup.failed to EMS { in logEmsEventForUnixAuthError() at src/utils/secd_ems_utils.cpp:763 }
ERR : RESULT_ERROR_SECD_LIBC_TRANSIENT_ERROR:7035 in secd_rpc_auth_user_id_to_unix_ext_creds_1_svc_secd() at src/authorization/secd_rpc_authorization.cpp:955
info : Retry requested, but the retry window (7000 ms) has expired; giving up. { in retryAfterFailure() at src/server/secd_rpc_retry.cpp:180 }
debug: SecD RPC Server sending reply to RPC 217: secd_rpc_auth_user_id_to_unix_ext_creds { in secdSendRpcResponse() at src/server/secd_rpc_server.cpp:2270 }
ERR : RESULT_ERROR_SECD_UNIX_CRED_LOOKUP_FAILED:6987 in getFailureCode() at src/utils/secd_thread_task_journal.cpp:348
debug: Vserver's operational state: running { in isVserverRunning() at src/configuration_manager/secd_configuration_manager.cpp:2860 }
debug: Logged secd.nfsAuth.noUnixCreds to EMS { in logEmsEventWithJournalForNfsAuthError() at src/utils/secd_ems_utils.cpp:1308 }
- 用于检查外部源身份验证的用户命令间歇性失败:
::> ldap check -vserver svm1
Vserver: svm1
Client Configuration Name: LDAP_RES
LDAP Status: up
LDAP Status Details: Successfully connected to LDAP server "10.1.1.7"
LDAP DN Status Details: User DN - LDAP Error: The search was timed out