Linux NFSメカニズムの動作原理と例の分析

Linux NFSメカニズムの動作原理と例の分析

NFS とは何ですか?

ネットワークファイルシステム

ネットワーク上でファイルを保存および整理するための方法またはメカニズム。

NFS を使用する理由は何ですか?

すべてのフロントエンド アプリケーション サーバーは、ユーザーがアップロードした写真、ファイル、ビデオを受信し、バックエンド ストレージに格納します。

共有ストレージの利点は、データの検索と取得が便利であることです。欠点は、ストレージ サーバーに高い負荷がかかり、障害が発生するとすべてのデータが失われることです。

NFSの仕組み

NFS 機能には多くのサービスがあり、それぞれに独自のポートがあり、頻繁に変更されます。

クライアントがこれらのポートを探す場合、仲介者として RPC サービス (デフォルトのポート番号 111) が必要になります。

ワークフロー:

1. RPCサービスを開始する

2. NFS サービスを開始します (RPC サービスに起動ポートを登録します)

3. クライアントはRPCからNFSサービスを要求する

4.クライアントへのRPCリターンポート

5. クライアントは返されたポート アドレスを使用して、NFS にデータ転送を要求します。

NFSサービスをインストールする

インストール: yum install nfs-utils rpcbind

表示: rpm -qa nfs-utils rpcbind

サービスを開始し、起動時に自動的に開始するように設定します: systemctl start rpcbind.service systemctl enable rpcbind.service

systemctl nfs を起動します systemctl nfs を有効にします

NFSの設定

NFS 設定ファイル /etc/exports

コマンド man exports を実行して以下を見つけます。

設定ファイルの形式は次のとおりです。

共有ディレクトリにアクセスするためのホスト(権限)

①共有するディレクトリ:データにアクセスするためのディレクトリ

②アクセスするホスト:単一ホスト:172.16.1.7 またはホスト名セグメント:172.16.1.0/24 または 172.16.1.*

③権限: rw 読み取り可能 ro 読み取り専用 sync リモートディスクへの書き込み (低速、安全) async リモートバッファへの非同期書き込み (高速、安全ではない)

root_squash anonuid=匿名ユーザーのUID anongid=匿名ユーザーのGID

all_squash クライアントがどのユーザーであっても、サーバー上ではnfsnobodyとして扱われます。

[root@nfs01 ~]# vim /etc/exports

注: 上記のテスト図に示すように、ディレクトリは複数のホストと同時に共有できます。括弧と前の文字の間にスペースがないことに注意してください。

ディレクトリを作成します: [root@nfs01 ~]# mkdir -p /data

nfs のデフォルト ユーザーは nfsnobody なので、ディレクトリを承認する必要があります: [root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data

NFS を再起動します: [root@nfs01 ~]# systemctl reload nfs または exportfs -r (スムーズな再起動)

診る:

web01 仮想マシンを開き、rpc および nfs サービスをインストールします (原則として、クライアントは rpc のみをインストールする必要がありますが、ここでは showmount コマンドをテストしています)

共有ディレクトリをマウントし、ファイルテストを作成します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux で USB デバイスの信号を監視するための Python の実装
  • Linux USBホストドライバの書き方の詳細説明
  • ARM LinuxはALSAドライバを使用し、USBオーディオデバイスを使用します
  • LinuxでUSBモバイルストレージを使用する方法
  • Linux環境でUSBストレージを使用する
  • 事例を通してLinux NFSの仕組みを詳細に分析
  • IntelliJ IDEA リモート デバッグ Linux Java プログラム、ログを見るだけでなく問題を見つけます (推奨)
  • Linux bzip2 コマンドの使用
  • Linux で libudev を使用して USB デバイスの VID と PID を取得する方法

<<:  一般的な JavaScript 文字列メソッド 28 個と使用方法のヒントのまとめ

>>:  MySQL テーブルをコピーする 3 つの方法 (要約)

推薦する

テキストの展開と折りたたみの効果を実現するJavaScript

リスト形式のテキストの展開と折りたたみの実装は参考までに。具体的な内容は以下のとおりです。必要: 1...

JavaScript 文字列の一般的なメソッドの詳細な説明

目次1. キャラクター文法パラメータ索引戻り値2. 連結文法パラメータ文字列2 [, …文字列N]戻...

TypeScriptジェネリックの使用

目次1. 使いやすい2. 関数内でジェネリックを使用する3. クラス内でジェネリックを使用する4. ...

ReactにおけるRefの相互利用の詳細な説明

目次1. まずRefとは何かを説明しましょう2. フックでのrefの使用1. HTMLDomフックで...

Linux 仮想メモリ設定のチュートリアルと実践

仮想メモリとは何ですか?まずはWikipediaからの紹介文をそのまま引用します。仮想メモリは、コン...

Vue+nodeはオーディオ録音・再生機能を実現

結果: コードロジックを実装するのが主な部分であり、具体的なページ構造を一つ一つ紹介することはありま...

MySQLデータベースのnullに関する知識ポイントのまとめ

MySQL データベースでは、null は一般的な状況です。MySQL での null に関する注意...

MySQL統計テーブルのサイズを説明する例

各データベース内の各テーブルのサイズをカウントすることは、データ ガバナンスの最も単純な要件の 1 ...

Linux の MariaDB データベースについて

目次Linux の MariaDB データベースについて1. データベースとは何ですか? 2. デー...

MySQLデータベーステーブルの定期バックアップの実装の詳細な説明

Mysqlデータベーステーブルの定期的なバックアップの実装0. 背景実際の開発環境では、フロントエン...

HTMLページでチェックボックスを操作する方法

チェックボックスは Web ページで非常によく使用されます。e コマースの Web サイトでもプラッ...

Vueはアコーディオン効果を実装する

この記事の例では、アコーディオン効果を実現するためのVueの具体的なコードを参考までに共有しています...

ウェブページ作成時に標準 HTML コードを使用する際のポイント

<br />多くのウェブサイト デザイナーが犯す最も一般的な間違いは、ウェブページが I...

Linux でのソース パッケージ インストールのサービス管理

目次1. ソースパッケージサービスの起動管理2. ソースパッケージサービスのセルフスタート管理3. ...

jsはショッピングサイトの虫眼鏡機能を実現します

この記事では、ショッピングサイトの虫眼鏡機能を実現するためのjsの具体的なコードを紹介します。具体的...