Linux:clnt_create:RPC:プログラムが登録されていません。

Linux:clnt_create:RPC:プログラムが登録されていません。

NFS マウントが最近自動的にマウント解除されました。確認してみると、NFSサービスのステータスが実行中としてマークされました。

[root@hsluasrepo]# service nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 4083) is running...
nfsd (pid 4148 4147 4146 4145 4144 4143 4142 4141) is running...
rpc.rquotad (pid 4079) is running...

[root@hsluasrepo]# service rpcbind status
rpcbind (pid  4203) is running...

[root@hsluasrepo common]# rpcinfo -p 10.80.3.154
   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

ただし、showmount出力にエラーが表示されます。

[root@hsluasrepo ]# showmount -e 10.80.3.154
clnt_create: RPC: Program not registered

NFSサービスを再起動すると、showmount出力にエクスポートされたNFSサーバーのリストが表示されます。

この問題の根本原因と、今後これを防ぐ方法を教えてくれる人はいますか?

/var/log/messages:

Jul 7 03:22:01 hsluasrepo rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="1188" x-info="rsyslog.com"] rsyslogd was HUPed
Jul 7 03:22:02 hsluasrepo rhsmd: In order for Subscription Manager to provide your system with updates, your system must be registered with RHN. Please enter your Red Hat login to ensure your system is up-to-date.
Jul 8 03:22:01 hsluasrepo rhsmd: In order for Subscription Manager to provide your system with updates, your system must be registered with RHN. Please enter your Red Hat login to ensure your system is up-to-date.
Jul 8 16:36:55 hsluasrepo kernel: nfsd: last server has exited, flushing export cache
Jul 8 16:36:55 hsluasrepo rpc.mountd[4083]: Caught signal 15, un-registering and exiting.
Jul 8 16:36:55 hsluasrepo rpc.mountd[24463]: Version 1.2.3 starting
Jul 8 16:36:55 hsluasrepo kernel: NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
Jul 8 16:36:55 hsluasrepo kernel: NFSD: starting 90-second grace period
Jul 8 16:37:32 hsluasrepo rpc.mountd[24463]: authenticated mount request from 10.60.5.208:1004 for /common/PROD (/common/PROD)
Jul 8 16:38:09 hsluasrepo rpc.mountd[24463]: authenticated mount request from 10.60.5.181:869 for /common/PROD (/common/PROD) 
Jul 8 16:38:43 hsluasrepo rpc.mountd[24463]: authenticated mount request from 10.60.5.180:825 for /common/PROD (/common/PROD)
Jul 8 16:39:12 hsluasrepo rpc.mountd[24463]: authenticated mount request from 10.60.5.176:688 for /common/PROD (/common/PROD)

答え1

あなたは:

[email protected]]$ service nfs status
rpc.svcgssd is stopped
rpc.mountd is stopped
nfsd is stopped
rpc.rquotad is stopped

[email protected]]$ service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]

[email protected]]$ chkconfig nfs on

答え2

RHEL6でこの問題が発生しました。奇妙だったが、service rpcbind restartnfsサービスの前に実行するとエラーがなくなりました。私はこの記事に従いました:RHEL6でのNFSサーバーの段階的な構成

これは私にとって効果的でしたが、まだその理由を知りたいです。誰でもこれを説明できますか?

答え3

私はこの問題を発見し、ステップ10で構成された単純なnfsサーバーとクライアントの構成方法を使用して問題を解決しました。

  1. nfs-utilsをインストールしてインストールされていることを確認します(yum install -y nfs-utils / rpm -qa | grep nfs-utils)。
  2. vi /etc/sysconfig/nfs(次のポート番号をコメント解除して変更します。STATD_PORT =、MOUNTD_PORT =、LOCKD_UDPPORT =、LOCKED_TCPPORT = {4000-4004、または必要なポートを使用できます。}
  3. system-config-firewall-tui{上記の2で指定されたポート番号と111(rpc)と2049(nfs)を開きます。}
  4. iptables save
  5. vi /etc/export(共有するディレクトリ、共有場所、オプションなどを提供してください。/share *(ro,async)
  6. exportfs -rv
  7. service nfs start
  8. ssh root@clientserver。例えば。ssh [email protected]
  9. showmount -e {master ip}例えば。showmount -e 192.168.2.31
  10. mount -t nfs {master ip}:/{shared dir from master} /{mount point}..例えば。mount -t nfs 192.168.2.31:/share /mnt

最後に一つ作ってみてくださいdf -h

これは私の小さな貢献です。必要なすべての措置を講じていない可能性がありますが、役に立ちます。

答え4

最近、仮想マシンのRHELでNFSを設定しましたが、showmount -e localhostコマンドを設定すると同じ問題が発生しました。サービスを数回再起動しようとした後、VMをシャットダウンして再起動したところ、問題が解決しました。

あいさつ! !

関連情報