NFSサーバーは/ etc / exportsにあるホストをエクスポートしません。

NFSサーバーは/ etc / exportsにあるホストをエクスポートしません。

/etc/exportsCentOS 7.2で実行されているNFSサーバーがあり、エクスポートする必要がありますが、エクスポートしないファイルで宣言したサーバー(パス/クライアントホスト)に問題があります。

私の/etc/exportsファイル:

/mnt/data/ host1(rw,all_squash,anonuid=1001,anongid=1001)
/mnt/data/ host2(rw,all_squash,anonuid=1001,anongid=1001)
/mnt/data/ host3(rw,all_squash,anonuid=1001,anongid=1001)
/mnt/data/ host3(rw,all_squash,anonuid=1001,anongid=1001)

nfsサーバーを再起動しましたが、exportfs -a結果がcat /var/lib/nfs/etab正確でした。

/mnt/data   host1(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=1001,anongid=1001,sec=sys,rw,secure,root_squash,all_squash)
/mnt/data   host2(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=1001,anongid=1001,sec=sys,rw,secure,root_squash,all_squash)
/mnt/data   host3(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=1001,anongid=1001,sec=sys,rw,secure,root_squash,all_squash)
/mnt/data   host4(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=1001,anongid=1001,sec=sys,rw,secure,root_squash,all_squash)

ただし、次の実行時にshowmount -ehost1は表示されません。

/mnt/data host2 host3 host4

/mnt/data実際、私はhost1からマウントできません:

[root@host1 ~]# mount -a
mount.nfs: access denied by server while mounting nfs-server:/mnt/data/

ホスト 2、3、4 は正常にマウントされます。

PS:詳細については、以下を参照してください。

  • host1 ... hostnはNFSサーバーを確認してpingできます。
  • テストのためにSElinuxを無効にしました。
  • サーバーとクライアントの両方にファイアウォールはありません(仮想マシンは互いに複製されています)。

編集する:

ご回答ありがとうございます。

straceあまり表示されません。

stat("/run", {st_mode=S_IFDIR|0755, st_size=960, ...}) = 0
stat("/run/mount/utab", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
getcwd("/root", 4095)                   = 6
readlink("/root/nfs-server:", 0x7ffe3a9ee090, 4096) = -1 ENOENT (No such file or directory)
readlink("/mnt", 0x7ffe3a9edf70, 4096)  = -1 EINVAL (Invalid argument)
readlink("/mnt/data", 0x7ffe3a9edf70, 4096) = -1 EINVAL (Invalid argument)
stat("/sbin/mount.nfs", {st_mode=S_IFREG|S_ISUID|0755, st_size=113400, ...}) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fd1b08f6b50) = 51633
wait4(-1, mount.nfs: access denied by server while mounting nfs-server:/mnt/data/
[{WIFEXITED(s) && WEXITSTATUS(s) == 32}], 0, NULL) = 51633
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=51633, si_status=32, si_utime=0, si_stime=0} ---
close(1)                                = 0
close(2)                                = 0
exit_group(0)                           = ?
+++ exited with 0 +++

Host1側でサービスを実行したときにnfsv4.0-svcサービスが実行されていないことを確認しました。

[root@host1 ~]# ps -aux --forest | grep nfs
root      1199  0.0  0.0      0     0 ?        S<   Feb15   0:00  \_ [nfsiod]

そして、正常にマウントされた他のホストで実行されています。/mnt/data

[root@host2 ~]$ ps -ef | grep nfs
root      1296     2  0 févr.15 ?     00:00:00 [nfsiod]
root      1302     2  0 févr.15 ?     00:00:00 [nfsv4.0-svc]

しかし、これが原因なのか結果なのかはわかりません(つまり、nfsv4.0-svcインストールが成功したため実行中です...):pbのソースになることができますか?

ベストアンサー1

最後の投稿の返信を受け取っていないので申し訳ありません。私はstackexchangeに初めて触れました。

ついに問題が見つかりました。showmount -eまたは を実行しているときにshowmount -e [nfs-server DNS]表示されるエクスポートは悪いです。

ただし、ランタイムshowmount -e localhostの程度にはshowmount -e [nfs-server IP]正しいエクスポート(host1を含む)が表示されます。

したがって、nfs-server IPを使用してホスト1でマウントを実行すると問題が解決しました(複製されたVMのDNSベースの自動化には悪すぎます...)。

私たちはAzureまたはインフラストラクチャで実行されているため、このDNSの問題が発生する可能性があります。

ありがとうございます。

アレックス。

おすすめ記事