私はRHEL6.5およびRHEL7ホストを使用してRHEL6.5クライアント(すべての仮想マシン)用のNFSソリューションを開発しています。現在、RHEL7 ホストと RHEL6.5 クライアントは正常に動作します。問題はRHEL6.5ホストにあります。
この問題は、昨年はなかった問題が最近サーバーで発生したため、制御できないサーバーのいくつかの側面が原因で発生する可能性があります。これが問題だと思われる場合は、上司にこれを証明する方法を提案してください。新しい機械購入手順を開始してください。
ソリューションはもともとNFSv4を使用するように設計されており、ソリューションはうまく機能しました。しかし、RHEL6.5ホストはRHEL7ホストほど情熱的ではありません。マウントは成功しましたが、ファイルアクセスは機能しません。たとえば、端末cp
で停止します。 - お客様のショーをご覧ください。標準によると、このエラーコードは文書化されています。less
tail
/var/log/messages
state manager: lease expired failed on NFSv4 server nfs_master with error 10018
NFS4ERR_RESOURCE
ここ。リソースの問題を解決する試みは、nfsd
コマンドラインでプロセス数を増やすことでしたが、/etc/sysconfig/nfs
役に立ちませんでした。エクスポートされたディレクトリがNFSサーバー自体にマウントされている場合でも、この問題が発生する可能性があります。
ホストまたはクライアントのログに表示されないことは、別のエラーである10022
か、少なくともNFSv4エラーコードであると仮定します。tcpdump
NFS トラフィックが通過するインターフェイスの場合にのみ表示されます。IP test-host.nfs > test_client-1.3297002672: reply ok 52 getattr ERROR: unk 10022
このエラーコードが実際にNFSv4エラーコードである場合は記録してくださいNFS4ERR_STALE_CLIENTID
。ここ。
mount
コマンドがsetに変更されると、nfsvers=3
同様の操作がcp
成功し、クライアントまたはホストにエラーは生成されません。最初の試行には約5秒かかり、その後の動作ははるかに高速になります。
一度に最大4つのクライアントインストールをエクスポートして読み取ることができ、同じファイルがある可能性があります。
だから私の質問は次のとおりです。
- 説明ではどのサーバー側のリソースが参照されますか
NFS4ERR_RESOURCE
? NFS4ERR_RESOURCE
エラーをどのように解決しますかNFS4ERR_STALE_CLIENTID
?- NFSv3は期待どおりに機能しますが、NFSv4は機能しないのはなぜですか?
nfs-utils
バージョンとリリース(クライアントおよびRHEL6.5ホスト用):1.2.3.39.el6
mount
注文する:
mount -n -t nfs -o ro,noexec,timeo=10,retrans=3,retry=0,soft,rsize=32768,intr,noatime
mount -n -t nfs -o nfsvers=3,ro,noexec,timeo=10,retrans=3,retry=0,soft,rsize=32768,intr,noatime
編集する:この問題の解決策は、NFSv3プロトコルに置き換えることです。みんな大丈夫です。私はこの質問に「NFSv3へのフォールバック」と答えません。しかし、この質問はおそらく答えを見つけるにはあまりにもニッチな質問でしょう。
答え1
問題のRHEL 6.5を制御できないと言われましたが、NFSドメインが一致していることを確認しましたか? NFSv3にはそのようなものはありませんが、NFSv4では必要です。それ以外の場合、マウントは引き続き機能しますが、説明どおりにファイルアクセスは奇妙に機能します。
/etc/idmapd.conf で NFS ドメインを設定すると、見てみる価値があります。
答え2
テストを試し-fstype=nfs4,rw,intr,hard,proto=tcp,port=2049,acl
て、2049/tcp がサーバーのクライアントで開いていることを確認してください。途中にファイアウォールがある場合は、2049/tcp も通過する必要があります。