GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 8 /RHEL8でNFSサーバーをセットアップする方法

ネットワークファイル共有の頭字語、 NFS は、クライアントマシンがネットワーク経由でNFSサーバーによって共有されるファイルにアクセスできるようにするクロスプラットフォームのクライアント/サーバープロトコルです。クライアントシステムは、NFSサーバーからファイルシステムをローカルにマウントし、ローカルにマウントされているかのようにファイルとディレクトリにアクセスできます。このガイドでは、 CentOS 8 / RHEL 8でのNFSサーバーのインストールと構成について説明します。 。

注: CentOS8またはRHEL8の場合NFSv3 v4 両方がサポートされています。 NFSv3は、安全な非同期書き込みを可能にし、64ビットのファイルサイズとオフセットをサポートします。一方、NFSv4はOSファイアウォールを介して動作し、ACL(アクセス制御リスト)をサポートし、rpcbindサービスを必要としません

NFSサーバー/クライアントのセットアップ

始める前に、以下のセットアップを使用して、クライアント/サーバーセットアップでNFSプロトコルがどのように機能するかをシミュレートします。

  • サーバーマシンのIP:アドレス:192.168.2.102 CentOS 8
  • クライアントマシンのIP:アドレス:192.168.2.103 CentOS 8

セットアップが完了したら、サーバーマシンへのNFSのインストールを開始しましょう。

ステップ1)CentOS 8 /RHEL8サーバーにNFSをインストールして構成する

まず、 nfs-utilsというNFSサーバーパッケージをインストールします。 これはNFSデーモンとして機能します。 nfs-utilsパッケージをインストールするには、ターミナルを起動して次のコマンドを実行します。

$ sudo dnf install nfs-utils -y

以下の例では、nfs-utilsはすでにインストールされています。

インストールが完了したら、nfs-serverサービスを開始して有効にし、再起動後に自動的に実行されるようにします。次のコマンドを実行します

$ sudo systemctl start nfs-server.service
$ sudo systemctl enable nfs-server.service

NFSサービスが実行されていることを確認するには、次を実行します。

$ sudo systemctl status nfs-server.service

次のコマンドを実行して、実行しているnfsプロトコルのバージョンを確認できます。

$ rpcinfo -p | grep nfs

バージョンは、以下に示す出力の2番目の列に示されています。

NFSサーバーの追加構成については、構成ファイルを /etc/nfs.confにあります。 これは、NFSデーモン構成ファイルと /etc/nfsmount.conf これはNFSマウントの構成ファイルです。

ステップ2)NFS共有の作成とエクスポート

このステップでは、サーバーからクライアントシステムに共有されるファイルシステムを作成します。このガイドでは、以下に示すように/ mnt / nfs_share/docsにディレクトリを作成します

$ sudo mkdir -p / mnt / nfs_shares / docs

NFS共有ディレクトリでのファイルの制限を回避するには、図のようにディレクトリの所有権を構成することをお勧めします。これにより、権限の問題が発生することなく、クライアントシステムからファイルを作成できます。

$ sudo chown -R nobody: /mnt/nfs_shares/docs

また、好みに応じてディレクトリのアクセス許可を調整することもできます。たとえば、このガイドでは、すべてのアクセス許可(読み取り、書き込み、実行)をNFS共有フォルダーに割り当てます

$ sudo chmod -R 777 /mnt/nfs_shares/docs

変更を有効にするには、NFSデーモンを再起動します。

$ sudo systemctl restart nfs-utils.service

クライアントシステムがアクセスできるようにNFS共有をエクスポートするには、 / etc / exportsを編集する必要があります。 ファイル。図のようにサブネットを指定することで、複数のクライアントに共有へのアクセスを許可できます

/ mnt / nfs_shares / docs 192.168.2.0/24(rw、sync、no_all_squash、root_squash

また、各クライアントを別々の行で指定することもできます:

/ mnt / nfs_shares / docs client-IP(rw、sync、no_all_squash、root_squash)

/ mnt / nfs_shares / docs client-IP(rw、sync、no_all_squash、root_squash)

セットアップを使用して、IP192.168.2.103を使用してクライアントマシンへのアクセスを許可します。ファイル「/etc / exports」に次の行を追加します ’:

$ sudo vi /etc/exports
/mnt/nfs_shares/docs    192.168.2.103(rw,sync,no_all_squash,root_squash)

ファイルを保存して終了します。 catコマンドを使用して、次のようにエントリを確認します

[[email protected]] cat /etc/exports
/mnt/nfs_shares/docs    192.168.2.103(rw,sync,no_all_squash,root_squash)
[[email protected]]

使用されるパラメータの意味を見てみましょう:

  • rw –これは読み取り/書き込みの略です。 NFS共有に読み取りおよび書き込み権限を付与します。
  • 同期 –このパラメーターでは、他の操作を実行する前に、まずディスクに変更を書き込む必要があります。
  • no_all_squash –これにより、クライアントリクエストからのすべてのUIDとGIDが、NFSサーバー上にある同一のUIDSとGIDにマッピングされます。
  • root_squash –属性は、クライアント側のrootユーザーからの要求を匿名のUID/GIDにマップします。

上記で作成したフォルダをエクスポートするには、次のようにexportfsコマンドを使用します。

$ sudo exportfs -arv

-a オプションは、すべてのディレクトリがエクスポートされることを意味します、 -r すべてのディレクトリを再エクスポートし、最後に -vを再エクスポートすることを表します フラグは詳細な出力を表示します。

エクスポートリストについては、次のコマンドを使用してエクスポートリストを表示できます。

$ sudo exportfs -s

完全!エクスポートリストがあります。ここまでは順調ですね。 NFSサーバーに残っている唯一の構成は、ファイアウォールでNFSサービスを許可することです。

ステップ3)NFSサーバーのファイアウォールルールを構成する

サーバーを構成する最後のステップは、CentOS8サーバーマシンのファイアウォールを介したNFSサービスを許可することです。これらのサービスはnfs、rpc-bind 、およびマウント 。したがって、以下のコマンドを実行します。

$ sudo firewall-cmd --permanent --add-service=nfs
$ sudo firewall-cmd --permanent --add-service=rpc-bind
$ sudo firewall-cmd --permanent --add-service=mountd

次に、ファイアウォールをリロードして変更を有効にします

$ sudo firewall-cmd --reload

それでは、クライアントシステムに向かい、NFS共有にアクセスするように設定しましょう。

NFSクライアントシステムのセットアップ

NFSファイル共有にアクセスするようにクライアントシステムを構成するには、以下の手順に従います

ステップ1)必要なNFSパッケージをインストールします

CentOS 8クライアントシステムで、NFSサーバー上にあるNFS共有にアクセスするために必要なパッケージをインストールします

$ sudo dnf install nfs-utils nfs4-acl-tools -y

DebianまたはUbuntuシステムの場合:

$ sudo apt install nfs-common nfs4-acl-tools -y

サーバーにマウントされたNFS共有を表示するには、 showmountを使用します コマンド:

$ showmount -e 192.168.2.102

ステップ2)サーバー上にあるリモートNFS共有をマウントする

次に、ローカルクライアントシステム上にあるリモートNFS共有ディレクトリをマウントする必要があります。ただし、最初に、NFS共有をマウントするためのディレクトリを作成しましょう。

$ sudo mkdir p /mnt/client_share

NFS共有をマウントするには、以下のコマンドを実行します。 192.168.2.102がNFSサーバーのIPアドレスであることを思い出してください。

$ sudo mount -t nfs 192.168.2.102:/mnt/nfs_shares/docs /mnt/client_share

次のコマンドを実行して、リモートNFS共有がマウントされていることを確認できます。

$ sudo mount | grep -i nfs

再起動時にマウント共有を永続化するには、 / etc / fstabを編集する必要があります ファイルを作成し、以下のエントリを追加します。

192.168.2.102:/mnt/nfs_shares/docs  /mnt/client_share  nfs  defaults  0  0

ファイルを保存して閉じます。

NFSサーバーとクライアントのセットアップのテスト

この時点で、すべての構成が完了しました。ただし、セットアップをテストして、すべてが機能することを確認する必要があります。したがって、最初に、NFSサーバー共有ディレクトリにテストファイルを作成し、それがクライアントのNFSマウントディレクトリに存在するかどうかを確認します。

$ sudo touch /mnt/nfs_shares/docs/server_nfs_file.txt

次に、クライアントシステムに移動して、ファイルがクライアント側に存在するかどうかを確認します。

$ ls -l /mnt/client_share/

素晴らしい!出力から、ファイルが存在することがはっきりとわかります。反対のことをしましょう。 NFSクライアントシステム上にファイルを作成し、NFSサーバーからアクセスできるかどうかを確認します。

クライアントで、次のようにファイルを作成します。

$ sudo touch /mnt/client_share/client_nfs_file.txt

次に、サーバーに戻って、ファイルがNFS共有ディレクトリに存在するかどうかを確認します

$ ls -l /mnt/nfs_shares/docs

素晴らしい!ファイルを表示してアクセスできます。

ご覧のとおり、NFSサーバーとクライアントの両方でファイルを簡単に作成し、2つのシステム間、および共有にアクセスするように構成されている他のクライアントシステム間でシームレスに共有できます。これで、今日のチュートリアルは終了です。このガイドでは、CentOS8およびRHEL8にNFSサーバーとクライアントシステムのセットアップをインストールしてセットアップする方法を示しました。


Cent OS
  1. CentOSでSFTPサーバーをセットアップする方法

  2. CentOS 8 /RHEL8にPuppetをインストールする方法

  3. CentOS 7 /RHEL7でSysLogサーバーをセットアップする方法

  1. CentOS、RHEL、FedoraでSVNサーバーをセットアップする方法

  2. CentOSでNTPサーバーをセットアップする方法は?

  3. CentOS/RHEL 7 で squid プロキシ サーバーをセットアップする方法

  1. RHEL 8 /CentOS8にvncサーバーをインストールする方法

  2. CentOS 6 /RHEL6でのSysLogサーバーのセットアップ

  3. CentOS 7 /RHEL7でNFSサーバーをセットアップする方法