web-dev-qa-db-ja.com

QNAPに対してUbuntu 14.04.1 LTSからNFSマウントできませんNAS

これは、QNAP NASコミュニティのクロス投稿質問です。 http://forum.qnap.com/viewtopic.php?f=35&t=96526&p=427018#p427018 =

コメントや提案、関連情報へのポインタは非常にありがたいです。


NFSサーバー(QNAP NAS)に対してUbuntu 14.04.1(LTS)を実行しているNFSクライアントからNFSマウントできません。私の環境は:

  • NFSサーバー:ファームウェア4.1.0を実行しているQNAP TS-669 Pro(日付:2014/06/12)
  • NFSクライアント:Ubuntu 14.04.1 LTSデスクトップを実行しているECS LIVA(小さなベアボーンPC)。
  • 2つのシステムは、1000Base-Tイーサネットおよび到達可能なIPを介して接続されます。
  • 名前解決はローカルレジストリ(/ etc/hosts)によって行われ、getent hosts Host-nameコマンドは両方のノードで正しい一貫したIPアドレスを返します。
  • NFSサーバーでNFSサービスが有効になっており、「共有フォルダー」構成アプリの「NFSホストアクセス」タブで特定の共有フォルダー、つまり「/ nfs」にNO_LIMITアクセス権が付与されています。実際、確認できます。 NASで「exportfs -rva」コマンドを発行してエクスポートされたワールドNFSです。
  • Ubuntu(NFSクライアント)はデフォルトではNFSクライアントパッケージをインストールしないため、ここで説明するようにnfs-commonパッケージを明示的にインストールしました:NFS HOW-TOのセットアップ( https://help.ubuntu.com/ community/SettingUpNFSHowTo#NFS_Client ); rpcbindパッケージはデフォルトでインストールされているようです。

NFSクライアントで、コマンド"mount -t nfs nas:/ nfs/mnt"を実行すると、5分または10分後に「mount.nfs:Connection timed out」という出力が表示されます。 NFSマウントの試行中に-overs = 3オプションでNFSバージョン3プロトコルを指定しても、同じ結果が返されます。また、コマンド "showmount -e"は、最終的にエクスポートされたNFS共有フォルダー(ディレクトリ)名をリストしますが、完了するまでに5分または10分かかります。

NFSサーバーでは、"exportfs -rva"コマンドは次の警告メッセージを返しますが、このメッセージは問題に関連していないと思います(NASにアクセスしていますこのコードのSSHの例):

[~] # exportfs -rva
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/share/MD0_DATA/Public".
Assuming default behaviour ('no_subtree_check').   NOTE: this default has changed since nfs-utils version 1.0.x

exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/share/MD0_DATA/nfs".
Assuming default behaviour ('no_subtree_check').   NOTE: this default has changed since nfs-utils version 1.0.x

exporting *:/share/MD0_DATA/nfs exporting *:/share/MD0_DATA/Public

NFSクライアントでは、mountコマンドが完了するまでに長い時間(5分以上)かかります。 QNAPはデフォルトでNFS V4をサポートしておらず、NFS V3で十分であると理解しているため、vers = 3オプションを指定しました。 tcpおよび/またはnolockオプションを指定するかどうかは関係ありません(同じ動作)。

root@livak5:~# mount -t nfs -vvv -overs=3,tcp,nolock nas:/share/MD0_DATA/nfs /mnt
mount: fstab path: "/etc/fstab"
mount: mtab path:  "/etc/mtab"
mount: lock path:  "/etc/mtab~"
mount: temp path:  "/etc/mtab.tmp"
mount: UID:        0
mount: eUID:       0
mount: spec:  "nas:/share/MD0_DATA/nfs"
mount: node:  "/mnt"
mount: types: "nfs"
mount: opts:  "vers=3,tcp,nolock"
mount: external mount: argv[0] = "/sbin/mount.nfs"
mount: external mount: argv[1] = "nas:/share/MD0_DATA/nfs"
mount: external mount: argv[2] = "/mnt"
mount: external mount: argv[3] = "-v"
mount: external mount: argv[4] = "-o"
mount: external mount: argv[5] = "rw,vers=3,tcp,nolock"
mount.nfs: timeout set for Sun Aug 24 11:24:44 2014
mount.nfs: trying text-based options 'vers=3,tcp,nolock,addr=192.168.11.50'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.11.50 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=6
mount.nfs: trying 192.168.11.50 prog 100005 vers 3 prot TCP port 41687
mount.nfs: mount(2): Connection timed out
mount.nfs: trying text-based options 'vers=3,tcp,nolock,addr=192.168.11.50'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.11.50 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=6
mount.nfs: trying 192.168.11.50 prog 100005 vers 3 prot TCP port 41687
mount.nfs: mount(2): Connection timed out
mount.nfs: trying text-based options 'vers=3,tcp,nolock,addr=192.168.11.50'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.11.50 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=6
mount.nfs: trying 192.168.11.50 prog 100005 vers 3 prot TCP port 41687
mount.nfs: mount(2): Connection timed out
mount.nfs: Connection timed out

NFSクライアントでは、portmapperは、NFSバージョン2、3、および4に対してうまく機能しているようです。

root@livak5:~# rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  57148  status
    100024    1   tcp  52831  status

NFSサーバーでは、rpcinfoコマンドがインストールされていないため、NFSクライアントからpormapperが実行されているかどうかを確認しようとしました。

root@livak5:~# nc -zv nas 111
Connection to nas 111 port [tcp/sunrpc] succeeded!
root@livak5:~# rpcinfo -s nas
   program version(s) netid(s)                         service     owner
    100000  2,3,4     local,udp,tcp                    portmapper  superuser
    100011  2,1       tcp,udp                          rquotad     superuser
    100005  3,2,1     tcp,udp                          mountd      superuser
    100003  3,2       udp,tcp                          nfs         superuser
    100227  3,2       udp,tcp                          -           superuser
    100021  4,3,1     tcp,udp                          nlockmgr    superuser
    100024  1         tcp,udp                          status      superuser

後のコマンド(rpcinfo)が完了するまでに長い時間(5分以上)かかり、問題の根本原因を再現しています。 2049および41687の両方のTCPポートで、適切なデーモンプロセスがNASでリッスンしていることに注意してください。次の出力に示すように、ncコマンドがNASに対してNFSクライアントで即座に戻るため、この事実を確認できます。

root@livak5:~# nc -zv nas 2049
Connection to nas 2049 port [tcp/nfs] succeeded!
root@livak5:~# nc -zv nas 41687
Connection to nas 41687 port [tcp/*] succeeded!

奇妙なことに、次の出力に示すように、NAS自体にNFSバージョン3をマウントできます(このコード例では、SSHを介してNASにアクセスしています)。

[~] # mkdir /mnt2
[~] # mount -overs=3 nas:/share/MD0_DATA/public /mnt2
[~] # df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/ram0               154691    137854     16837  89% /
devtmpfs               1531580         4   1531576   0% /dev
tmpfs                    65536       160     65376   0% /tmp
/dev/md9                521684    126312    395372  24% /mnt/HDA_ROOT
/dev/md0             11622485880 410664920 11211296672   4% /share/MD0_DATA
/dev/md13               379888    259868    120020  68% /mnt/ext
tmpfs                    32768         0     32768   0% /.eaccelerator.tmp
nas:/share/MD0_DATA/public/11622485888 411189216 11211296672   4% /mnt2

NFSクライアントで何らかのポートのブロックの問題があるように見えますが、Ubuntu 14.04.1は次のwikiに示すようにデフォルトではufw(複雑でないファイアウォール、実際にはiptablesのフロントエンドです)を有効にしていないようですdocument:Uncomplicated Firewall(どういうわけか、wikiのURLをここに入れることができません)。 NFSクライアントでコマンドを実行すると、ブロックされていないことを確認できます。

root@livak5:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
3
suekichi5

問題の根本的な原因は、私が使用しているイーサネットスイッチ(NetGEAR GS116Ev2)のファームウェアバグであることが判明しました。ファームウェアを2.0.0.23から2.0.1.17に更新すると、問題はなくなりました。

0
suekichi5