Dell Unity:ネットグループを使用しているNFSホストは、NFS共有に接続できません。(Dell Correctable)
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)は、ユーザー マッピング情報を提供できず、応答していません。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
同様に、NFSホストから「rpc.d」のステータスを確認し、Unity NASサーバーを指し示すことも、次のことを示しています。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」の形式で法的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アドレスに対して上記のコマンドを実行し、ネットグループが機能していることを確認してから、次のコマンドを実行して削除します
削除するには、次の手順を実行します。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