GNU/Linux >> Linux の 問題 >  >> Linux

NFSとは何ですか?Linuxにインストールする方法

はじめに

これは豊富なトピックであり、システム、ストレージ、またはバックアップ管理者になるためにストレージ領域に興味がある場合に役立つ可能性のある多くの情報が含まれています。

ファイルシステムにはさまざまな種類があり、今日の主なトピックはそのうちの1つであり、それはNFSです。

ストレージタイプ

ストレージの3つの主なタイプは次のとおりです。

– DAS

– SAN

– NAS

NAS(ネットワーク接続ストレージ)

簡単に言えば、 NAS ローカルディスクの代わりに他の人がデータを保存するためにフォルダを共有することです。これを機能させるには、サーバーとクライアントの間に接続が必要です。もちろん、サーバーに空き領域のあるディスクも必要です。 NAS はファイルレベルのストレージです。つまり、サーバー側でディスクをフォーマットし、フォーマットされたファイルシステムと共有します。

そして、ここに私たちの NFS が来ます ファイルシステム。NASをフォーマットできるファイルシステムの1つです。 LinuxOSをNFSとして使用するために、これが私たちが今やりたいことです。 サーバー。これは、実際には NASとして使用することを意味します。 サーバーですが、ディスクは NFSでフォーマットされています ファイルシステム

NFS(ネットワークファイル共有)

ネットワークを介して他のLinuxクライアントとディレクトリやファイルを共有できるようにするプロトコルです。共有ディレクトリは通常、 NFSを実行するファイルサーバー上に作成されます サーバーコンポーネント。ユーザーはファイルをファイルに追加し、そのファイルをフォルダーにアクセスできる他のユーザーと共有します。

NFS ファイル共有はクライアントマシンにマウントされ、ユーザーがローカルで作成したフォルダーと同じように利用できるようになります。 NFS ディスクの容量が不足していて、クライアントコンピューター間でパブリックデータを交換する必要がある場合に特に便利です。

NFSサーバー サイド

最初にNFSパッケージをインストールします


# yum install nfs-utils rpcbind

次に、起動時にサービスを有効にします


#  systemctl enable nfs-server
#  systemctl enable rpcbind

サービスを開始する


#  systemctl start rpcbind
#  systemctl start nfs-server

クライアントがデータを保存または読み取るための共有ディレクトリを作成しましょう


# mkdir /sharednfs

クライアントマシン上のすべてのユーザーがフォルダーにアクセスできるようにアクセス許可を設定します(実際には、フォルダーにさらに制限のある設定が必要かどうかを検討する必要があります)。


# sudo chown nobody:nogroup /sharednfs 
# sudo chmod 777 /sharednfs 

NFSクライアントへのアクセスを許可する

NFSクライアントへのアクセスを許可するには、エクスポートファイルを定義する必要があります。このファイルは通常、/ etc / exports

にあります。

テキストエディタで/etc/ exportsファイルを編集し、次のオプションのいずれかを追加します

ro / rw
a)ro:クライアントに共有への読み取り専用アクセスを許可します。
b)rw:クライアントに共有への読み取り/書き込みアクセスを許可します。
同期/非同期
a)同期:NFSサーバーは、前の要求によって行われた変更がディスクに書き込まれた後にのみ要求に応答します。
b)async:サーバーが待機する必要がないことを指定します。
wdelay / no_wdelay
a)wdelay:NFSサーバーは、別の書き込み要求が差し迫っていると思われる場合、書き込み要求のコミットを遅らせます。
b)no_wdelay:このオプションを使用して、遅延を無効にします。 no_wdelayオプションは、デフォルトの syncの場合にのみ有効にできます オプションが有効になっています。
no_all_squash / all_squash
a)no_all_squash:リモートユーザーのマッピングを変更しません。
b)all_squash:rootを含むすべてのリモートユーザーを押しつぶします。
root_squash / no_root_squash
a)root_squash:リモートで接続されているrootユーザーがrootにアクセスできないようにします。リモートroot権限を効果的に押しつぶします。
b)no_root_squash:ルートスカッシュを無効にします。

例1(単一のクライアント):


# vi /etc/exports
/sharednfs {clientIP}(rw,sync,no_subtree_check)

例2(複数のクライアント):


# vi /etc/exports
/sharednfs {clientIP-1}(rw,sync,no_subtree_check)
           {clientIP-2}(...)
           {clientIP-3}(...)

例3(サブネット):


# vi /etc/exports
/sharednfs {subnetIP}/{subnetMask}(rw,sync,no_subtree_check)

NFS共有をクライアントが利用できるようにする

共有をエクスポートして、クライアントがディレクトリを利用できるようにします


# sudo exportfs -a 

-a : exports entries in /etc/exports but do not synchronize with /var/lib/nfs/etab
-i : ignore entries in /etc/exports and uses command line arguments
-u : un-export one or more directories
-o : specify client options on command line
-r : re-exports entries in /etc/exports and sync /var/lib/nfs/etab with /etc/exports

次に、サービスを再起動します


# systemctl restart nfs-server

ファイアウォール設定

Linuxでは、デフォルトでは使用されていないすべてのポートが無効になっているため、 NFSを許可する必要があります。 ファイアウォール構成のポート。

これを行うには、次のようにします


firewall-cmd --permanent --add-service mountd
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service nfs
firewall-cmd --reload

クライアント側

クライアントマシンにもパッケージをインストールする必要があります


yum install -y nfs-utils

クライアントが利用できる、指定されたサーバー上の共有フォルダーを確認するには


showmount -e {serverIP}

次のように表示されます


Export list for {serverIP}:
/sharednfs {clientIP}

共有フォルダをマウントする

次に、共有フォルダをクライアント側にマウントします

まず、ポイントディレクトリを作成する必要があります


mkdir /mnt/sharednfs

マウントする時間


mount {serverIP}:/sharednfs /mnt/sharednfs

確認するには、マウントされたポイントにディレクトリまたはファイルを作成してみてください


touch /mnt/sharednfs/test

NFS共有を自動マウントするには

fstabファイルで編集


vi /etc/fstab

この行を追加


{serverIP}:/sharednfs /mnt/sharednfs    nfs     nosuid,rw,sync,hard,intr  0  0

NFSをアンマウントするには 共有


umount /mnt/sharednfs

最後に、クライアント側にもファイアウォールルールを追加することを忘れないでください


firewall-cmd --permanent --add-service mountd
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service nfs
firewall-cmd --reload

結論

NFS は、データを各デバイスにローカルに保存するのではなく、1つの場所または1つの共有フォルダーに一元化するための優れたプロトコルです。これにより、デバイスのローカルの限られたスペースにアクセスする機会も得られます。

適切な接続と構成により、データを1か所に保存するための完璧なソリューションが得られます。


Linux
  1. LinuxにAnsibleをインストールしてテストする方法

  2. Linux上のFlatpak:それは何であり、それを使ってアプリをインストールする方法

  3. LinuxでFlatpakをインストールして使用する方法

  1. Podmanとは何ですか?LinuxにPodmanをインストールする方法

  2. LinuxでTracerouteをインストールして使用する方法

  3. Linux に .dsc ファイルをインストールする方法

  1. LinuxにElasticsearchとKibanaをインストールする方法

  2. Debian10LinuxにGoをインストールする方法

  3. Linuxファイルコマンド:その機能と使用方法