複数のLinuxシステム間でファイルを共有しようとしています。 NFSは2023年にこれを達成するための良い方法ですか?
私はNFSについてよく知りません。私の考えでは、NFSは古く、バグが多い、信頼できない、設計が間違って、古いもので、以前のシステムとの下位互換性のためにのみ使用する必要があるということです。この言葉はどのくらい正しいですか?新しい展開にNFSを使用するのは賢明ですか?もっと良いものを使えますか?
答え1
要約:いいえ。 NFSは依然として関連性が高く活発であり、多くの状況で良い選択です。
NFS(中間)があなたのユースケースに適しているのはなぜですか?
実際、ユースケースによって異なります。私はNFSが一般的に古いか、一般的に誤って設計されていることに同意しません。最新の要件を満たすように更新されていないため、確かに「古い」ものではありません。 NFS 4.2は2016年に、SMB 3.1.1も2016年にリリースされ、各プロトコルリビジョンにすでにいくつの機能が含まれているかわかりません。 LinuxカーネルサーバーとクライアントはそれぞれSambaに実装されています。
NFSステータス
それはい一つリモートプロシージャコール(RPC)プロトコル:クライアントがこれを介して行うことは呼び出しです。機能サーバーでは、サーバーは結果を送信します。その後、クライアントはこのメカニズムを使用してファイルシステムをローカルに提供します。
これはとてもきれいなデザインです。国の「所有者」が誰であるかは明らかであるため、一般に分散システムを困難にします。しかし、これは、さまざまなネットワーク遅延などの点でシステム全体がよりスマートになる必要があることを意味します。一部の機能を使用するには、最新バージョンのNFSが必要です。まあ、この機能的なアプローチは素晴らしいです。サーバーからファイルをコピーするのは、サーバーへの関数呼び出しだけです。これは、大容量ファイルの途中で一部のファイルの内容を要求することと、ソフトウェアにいくつかのファイルの内容が必要になる可能性があることをサーバーに通知することです。 CIFSのような機能はうまく機能し、デフォルトではUNIXファイルシステムの仕組みと一致し、CIFSよりも少し優れています。
悲しいことに、たくさんNFSの設定方法に関するWeb資料は、23年前に終了すると予想されていたNFSv3時代のものです。しかし、ネットワークプロトコルを最適化することは難しいので、人々はベストプラクティスをコピーします。一部はまだ適用され、一部は単なる時代遅れです。正直なところ、NFSには最も重要な文書化の問題があります。つまり、一般的な最新のハードウェアと、さまざまなネットワークサイズと速度に関する一般的なガイドラインはありません。多くの人は、設定を始める前に1〜2冊の本を読んでも大丈夫だと思います。
しかし、正直なところ、Fedora-oid OSのデフォルト設定はおそらく大丈夫でしょう(他のOSではNFSの経験はありません)。しかし、可能であれば、すべてのエクスポートで間違いなく「zip root」が欲しいので、真のKerberos認証が必要です。これは非常に安全な「エンタープライズクラス」であり、Microsoft Active Directoryの基盤です。しかしそれははいエントリーバリアがない場合、サーバーがファイルにアクセスしていると主張するユーザーは、実際にはそのユーザーであるクライアントを信頼します。
代替
いくつかのオプションがあります。ここにすべての選択肢をリストすることは不可能ですが(私はその分野に属していません)、小規模ネットワーク管理者が直面する主な問題は次のとおりです。
- SMB/CIFS、Sambaの使用:「Windows World Compatible」アプローチ。正しく設定すると、NFS速度にほぼ近づくことがあります。暗号化時にパフォーマンスの問題が発生する可能性があり、インストーラはユーザー管理に基づいて別々のユーザーデータベース(通常)またはNFS(類似)と同じ企業レベルの「Active Directory」を維持する必要があります。通常NFSよりも軽減されました。つまり、2つの異なるシステムが同じファイルにアクセスする状況がありますが、これは異なります。
- iSCSI:読み取り専用ファイルシステム(静的ブートイメージアーカイブなど)をエクスポートする必要がある場合は、他のオペレーティングシステムから事前に起動することもできます。 「マイファイル共有」より「マイディスクデバイス共有」に近い
- SSHFS:1人のユーザーだけが同じファイルにアクセスするユースケースに適しており、最近のパフォーマンスと信頼性が大幅に向上しました。しかし、今(2023年7月)は2022年5月からもはや維持されません。長期的に確信できるかどうかはわかりませんが、一貫性プロトコルがないと、ファイルxが開いているクライアントAがクライアントBからのファイル要求を見ることができないため、複数のユーザーが同じファイルにアクセスしたいとは限りません。 x関連部品がローカルに転送された場合(通常はそうです)、どうなりますか?
- Lustere、Cephファイルシステム...:通常、コンピュータが自分のスペースを埋めることができない場合、それを処理するには小さすぎます。)
したがって、実際には、これらすべての選択肢のうち、Sambaサーバーが唯一の実行可能なオプションであるようです。 Windowsとの相互運用が必要な場合、Sambaは正しい選択であり、パフォーマンスの最後の30%を重視し、時間を費やすことを望む場合は間違った選択です。