web-dev-qa-db-ja.com

NFSv2とv3

NFS v3を使用してホームディレクトリをマウントする2つのシステム(SolarisクライアントとLinuxサーバー)で問題が発生しています。 (NFS v4はまったく機能しません。別のシステム管理者から「既知の問題」と言われているためです。)NFSv2は正しく機能しているようです。

私の質問はこれです:NFSv2とNFSv3を使用することの間のトレードオフは何ですか?この問題をデバッグし続けるか、この1つのクライアントでNFSv2を使用するかを決定する必要があります。

矛盾する情報を見てきましたが、v2にはファイルサイズの制限があることを知っています-それは2GBまたは4GBの制限ですか? v2にはパフォーマンスの低下もあります。一般的な方法でv2の速度制限を定量化することは可能ですか、それとも関係する特定のシステムやネットワークに大きく依存しますか? (その価値については、システム間にギガビットイーサネットがあります。)2つの間に他にどのようなトレードオフがありますか?知っておくべきセキュリティの問題はありますか?

1
asciiphil

既存の答えに加えて。

NFSv3にはREADDIRPLUS操作があり、ファイル属性を含むディレクトリリストを一度に取得できます。これにより、ディレクトリリストのパフォーマンスが大幅に向上します。さらに、V3はキャッシュの一貫性が弱いため、クライアントキャッシュを満足させ、クライアントがあまり多くの情報を要求しないようにします。さらに、トランスポートとしてTCP。UDPを使用すると、大きな読み取り/書き込みでデータが失われる可能性がありますIOバッファサイズ。ACCESS呼び出し、クライアントが再利用できるようにする他のユーザーが同じファイルにアクセスしたい場合は、キャッシュされたデータ。

2
kofemann

wikipedia によると、NFSv2は32ビットのファイルサイズ値を使用するため、4GiBファイルに制限されますが、一般的なバグは、値を署名して2GiBに制限することです。 NFSv3には、非同期操作と大幅に最適化された操作もあるため、実行する必要のある操作が少なくなります。ネットワークの待ち時間はローカルマシンの待ち時間とはまったく異なるため、これはLAN上でもパフォーマンスに大きな影響を与えます。 NFSv2は、NFSv3をサポートしていないものがある場合にのみ使用してください。 NFSv4が機能しない理由を調べてみてください。多分それはあなたが修正できるものです。

3
ptman