Dell Unity: NFS-Hosts, die die Netzgruppe verwenden, können keine Verbindung zur NFS-Freigabe herstellen. (von Dell korrigierbar)
Summary: NFS-Hosts können keine Verbindung zu Unity-NFS-Freigaben über "Netgroup" herstellen, NFS funktioniert jedoch ohne Probleme, wenn die explizite IP-Adresse des Unity-NAS-Servers oder der Hostname verwendet wird. Wenn dieselben Hosts versuchen, über eine "Netzwerkgruppe" eine Verbindung zur Unity-NFS-Freigabe herzustellen, führt dies dazu, dass der Server nicht reagiert: RPC: Zeitüberschreitung und Verlust des Zugriffs auf die NFS-Freigabe ...
Symptoms
Implementierte Netzwerkgruppen nach dem Upgrade von Unity auf Unity-Version: 4.0.1.8404134
NFS-Host kann nicht über "Netzwerkgruppen" auf Unity-NFS-Freigaben zugreifen. Derselbe NFS-Host kann sich über die IP-Adresse des Unity-NAS-Servers oder über den "Hostnamen" des Unity-NAS-Servers direkt mit den Unity-NFS-Freigaben verbinden. Wenn derselbe NFS-Host jedoch versucht, eine Verbindung zur NFS-Freigabe des Unity-NAS-Servers über eine "Netzwerkgruppe" herzustellen, führt dies zu einem Verlust des Zugriffs auf die Unity-NFS-Freigabe.
Eine Warnmeldung wird in der Unity Unisphere-GUI im Abschnitt "Warnmeldungen" angezeigt: "Der für den NAS-Server konfigurierte Network Information Service (NIS) konnte keine Nutzerzuordnungsinformationen bereitstellen und reagiert nicht. Überprüfen Sie die Verfügbarkeit des NIS-Servers und stellen Sie sicher, dass der Domänenname und die Adressen, die für den Server verwendet werden, korrekt sind."
Ähnliche Warnmeldungen können über die Unity-CLI angezeigt werden:21:08:58 root@(none) spa:/home/service> uemcli /event/alert/hist show
Storage system address: 127.0.0.1
Storage system port: 443
HTTPS connection
1: ID = alert_804
Time = 2016-09-26 21:07:59.088
Message = NAS server n125d061: There is no NIS server on-line for the domain nb-engr.
Description = "The Network Information Service (NIS) configured for the NAS server was unable to provide user mapping information and is not responding. Check the availability of the NIS server, and ensure that the domain name and addresses used for the server are accurate."
Severity = error
Acknowledged = no
2: ID = alert_803
Time = 2016-09-26 21:07:44.102
Message = NAS server n125d061: There is no NIS server on-line for the domain nb-engr.
Description = "The Network Information Service (NIS) configured for the NAS server was unable to provide user mapping information and is not responding. Check the availability of the NIS server, and ensure that the domain name and addresses used for the server are accurate."
Severity = error
Acknowledged = no
3: ID = alert_802
Time = 2016-09-26 21:07:29.174
Message = NAS server n125d061: There is no NIS server on-line for the domain nb-engr.
Description = "The Network Information Service (NIS) configured for the NAS server was unable to provide user mapping information and is not responding. Check the availability of the NIS server, and ensure that the domain name and addresses used for the server are accurate."
Severity = error
Acknowledged = no
Eine Prüfung, ob rpc.d auf dem Unity-NAS-Server ausgeführt wird, zeigt Folgendes an: rpc.mountd, rpc,nfsd, und rpc.portmapper ausgeführt werden.root@spa:/cores/service>/sbin/rpcinfo -p 10.#.#.##
program vers proto port service
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100003 4 tcp 2049 nfs
100005 1 udp 1234 mountd
100005 2 udp 1234 mountd
100005 3 udp 1234 mountd
100005 1 tcp 1234 mountd
100005 2 tcp 1234 mountd
100005 3 tcp 1234 mountd
100003 3 tcp 2049 nfs
100021 4 tcp 4001 nlockmgr
100021 1 tcp 4001 nlockmgr
100021 2 tcp 4001 nlockmgr
100021 3 tcp 4001 nlockmgr
100024 1 tcp 4000 status
100003 3 udp 2049 nfs
100021 4 udp 4001 nlockmgr
100021 1 udp 4001 nlockmgr
100021 2 udp 4001 nlockmgr
100021 3 udp 4001 nlockmgr
100024 1 udp 4000 status
536870914 2 tcp 4658
536870914 2 udp 4658
824395111 1 udp 39850
824395111 1 tcp 50600
102660 1 tcp 37185
102660 1 udp 52008
Eine ähnliche Überprüfung des Status von "rpc.d" vom NFS-Host, die auf den Unity-NAS-Server verweist, zeigt ebenfalls Folgendes anrpc.mountd, rpc,nfsd, und rpc.portmapper auf dem Unity-NAS-Server ausgeführt werdenbash-2.03# rpcinfo -p 10.#.#.#0
program vers proto port service
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100003 4 tcp 2049 nfs
100005 1 udp 1234 mountd
100005 2 udp 1234 mountd
100005 3 udp 1234 mountd
100005 1 tcp 1234 mountd
100005 2 tcp 1234 mountd
100005 3 tcp 1234 mountd
100003 3 tcp 2049 nfs
100021 4 tcp 4001 nlockmgr
100021 1 tcp 4001 nlockmgr
100021 2 tcp 4001 nlockmgr
100021 3 tcp 4001 nlockmgr
100024 1 tcp 4000 status
100003 3 udp 2049 nfs
100021 4 udp 4001 nlockmgr
100021 1 udp 4001 nlockmgr
100021 2 udp 4001 nlockmgr
100021 3 udp 4001 nlockmgr
100024 1 udp 4000 status
536870914 2 tcp 4658
536870914 2 udp 4658
824395111 1 udp 39850
824395111 1 tcp 50600
102660 1 tcp 37185
102660 1 udp 52008
Der NFS-Host kann sich erfolgreich über die IP-Adresse von Unity und den Hostnamen des Unity-NAS-Servers mit der NFS-Freigabe des Unity-NAS-Servers verbinden (mounten), aber nachdem der Nutzer versucht, den NFS-Host über "netgroup" mit der Unity-NAS-Freigabe zu verbinden, schlägt dies fehl mit: bash-2.03# showmount -e 10.#.#.#0
export list for 10.#.#.#0:
/steventestfs (everyone)
stevetestshare (everyone)
/tejasshare n#-e###-a##,10.#.#.##1/255.255.255.255,10.#.#.##/255.255.255.255
bash-2.03# mount 10.#.#.#0:/tejasshare /mwtest/
nfs mount: 10.#.#.#0:/tejasshare: server not responding : RPC: Timed out
nfs mount: retrying: /mwtest
nfs mount: 10.#.#.#0:/tejasshare: server not responding : RPC: Timed out
Cause
Unity löscht rechtliche YP-MATCH-Antworten in der Form "host.byaddr". Unity verwendet eine strenge interne "Firewall", die Netzwerkpakete verwirft. Der Unity-NAS-Servercontainer lässt keine vom NIS-Server gesendeten Datagramme zu, wenn der NIS-Server einen anderen Portwert für seinen Quellport verwendet als den Portwert, den er in "PORTMAP"-Anforderungen zurückgibt.
Die standardmäßige interne Firewall-Policy von Unity ist DROP, wenn keine Regeln übereinstimmen. Alle zufälligen Ports entsprechen also der Regel "-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT".
Resolution
Eine Unity-Softwarekorrektur befindet sich derzeit in der Entwicklung. Wird derzeit über die AR-Nummer 858778 verfolgt. Wenden Sie sich an den technischen Support von Dell EMC, um Updates zur Codekorrektur zu erhalten.
In der Zwischenzeit haben wir einen Workaround. Der Workaround erfordert eine Änderung der IP-Ketten.
Stellen Sie eine Verbindung zu Unity her und fügen Sie Root hinzu.
Fügen Sie eine Regel im Kundenfeld hinzu, um alle UDP-Pakete von den NIS-Servern zu akzeptieren. Nach dem Hinzufügen der Regel sollte das NIS funktionieren. Dies ist nicht wirklich eine dauerhafte Lösung, sondern eine Problemumgehung, überprüfen Sie die AR-Nummer 858778 für Softwarekorrektur.
So fügen Sie hinzu:iptables -A IN_DATA -p udp -s <ip address of the NIS server> -j ACCEPT
Führen Sie den obigen Befehl für jede IP-Adresse der NIS-Server aus, dann können Sie bestätigen, dass die Netzwerkgruppen funktionieren. Sie können dann den folgenden Befehl zum Löschen ausführen.
Zum Löschen:iptables -D IN_DATA -p udp -s <ip address of the NIS server> -j ACCEPT
Beispiel: root@spa:/cores/service>iptables -S IN_DATA
-N IN_DATA
-A IN_DATA -p tcp -m tcp --dport 445 -j ACCEPT
....
-A IN_DATA -i eve_br0 -p udp -m multiport --dports 22 -j ACCEPT
-A IN_DATA -s 10.#.#.##/32 -p udp -j ACCEPT
-A IN_DATA -s 10.#.#.##/32 -p udp -j ACCEPT