Dell Unity: 넷그룹을 사용하는 NFS 호스트가 NFS 공유에 연결할 수 없습니다. (Dell 수정 가능)
Summary: NFS 호스트는 '넷그룹'을 통해 Unity NFS 공유에 연결할 수 없지만 명시적 Unity NAS 서버 IP 주소 또는 호스트 이름을 문제 없이 사용할 때 NFS가 작동합니다. 동일한 호스트가 '넷그룹'을 통해 Unity NFS 공유에 연결을 시도하면 서버가 응답하지 않습니다. RPC: 시간 초과 및 NFS 공유에 대한 액세스 손실 ...
Symptoms
Unity를 Unity 버전으로 업그레이드한 후 넷그룹을 구현했습니다. 4.0.1.8404134
(영문)NFS 호스트가 'netgroups'를 통해 Unity NFS 공유에 액세스할 수 없습니다. 동일한 NFS 호스트는 Unity NAS 서버 IP 주소 또는 Unity NAS 서버 '호스트 이름'을 통해 Unity NFS 공유에 직접 연결할 수 있지만, 동일한 NFS 호스트가 '넷그룹'을 통해 Unity NAS 서버 NFS 공유에 연결하려고 하면 Unity NFS 공유에 대한 액세스 권한이 손실됩니다.
알림은 Unity Unisphere GUI의 'alerts' 섹션에 표시됩니다. "NAS 서버에 대해 구성된 NIS(Network Information Service)가 사용자 매핑 정보를 제공할 수 없으며 응답하지 않습니다. NIS 서버의 가용성을 확인하고 서버에 사용된 도메인 이름과 주소가 정확한지 확인하십시오."
Unity CLI를 통해 유사한 알림을 보고 관찰할 수 있습니다.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
rpc.d가 Unity NAS 서버에서 실행 중인지 여부를 확인하면 다음을 알 수 있습니다. rpc.mountd, rpc,nfsd, 및 rpc.portmapper 실행 중입니다.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
마찬가지로 Unity NAS 서버를 가리키는 NFS 호스트에서 'rpc.d'의 상태를 확인하면 다음을 나타냅니다.rpc.mountd, rpc,nfsd, 및 rpc.portmapper Unity NAS 서버에서 실행 중인지 확인하십시오.bash-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
NFS 호스트는 Unity의 IP 주소 및 Unity NAS 서버 호스트 이름을 통해 Unity NAS 서버 NFS 공유에 연결(마운트)할 수 있지만 사용자가 'netgroup'을 통해 NFS 호스트를 Unity NAS 공유에 연결하려고 하면 다음 오류와 함께 실패합니다. 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가 "host.byaddr" 형식의 Legal YP MATCH 응답을 삭제합니다. Unity는 네트워크 패킷을 삭제하는 엄격한 내부 방화벽 을 사용합니다. Unity NAS 서버 컨테이너는 NIS 서버가 "PORTMAP" 요청에서 반환하는 포트 값과 다른 포트 값을 소스 포트에 사용하는 경우 NIS 서버에서 보낸 데이터그램을 허용하지 않습니다.
Unity의 기본 내부 방화벽 정책은 다음과 같습니다. 일치하는 규칙이 없으면 DROP합니다. 따라서 임의의 포트는 "-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT" 규칙과 많이 일치합니다.
Resolution
Unity 소프트웨어 수정은 현재 개발 중입니다. 현재 AR 번호 858778를 통해 추적되고 있습니다. '코드 수정'에 대한 업데이트는 Dell-EMC 기술 지원 부서에 문의하십시오.
그 동안 해결 방법이 있습니다. 이 문제를 해결하려면 IP 체인을 변경해야 합니다.
Unity에 연결하고 Root를 주입합니다.
고객 상자에서 NIS 서버의 UDP 패킷을 수락하는 규칙을 추가합니다. 규칙을 추가하면 NIS가 작동해야 합니다. 이것은 실제로 영구적인 해결책이 아니라 해결 방법이며 AR 번호 858778에서 소프트웨어 수정을 확인하십시오.
추가하려면 다음을 수행합니다.iptables -A IN_DATA -p udp -s <ip address of the NIS server> -j ACCEPT
각 NIS 서버 IP 주소에 대해 위의 명령을 수행한 다음 netgroup이 작동하는지 확인하고 다음 명령을 실행하여 삭제할 수 있습니다.
삭제 방법:iptables -D IN_DATA -p udp -s <ip address of the NIS server> -j ACCEPT
예: 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