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

Rocky / AlmaLinux8でNFSサーバーとクライアントをセットアップする方法

Rocky Linux 8は、NFSバージョン3(NFSv3)および4(NFSv4)をサポートしています。デフォルトのNFSバージョンは4.2で、アクセス制御リスト(ACL)、サーバー側のコピー、スパースファイル、スペース予約、ラベル付きNFS、レイアウトの拡張などをサポートしています。

このガイドでは、RockyLinux8にNFSサーバーとNFSクライアントをインストールして構成する方法を学習します。

前提条件

  • サーバーとして使用するためにRockyLinuxサーバーを更新し、クライアント用に別のサーバーを使用するように更新しました
  • サーバーからの接続
  • サーバーからのsudoアクセス

目次

  1. サーバーが更新されていることを確認します
  2. NFSパッケージをインストールする
  3. NFSサーバーの起動と有効化
  4. ファイアウォールでのNFSサービスの有効化
  5. NFSサーバーでのエクスポートの構成
  6. NFSクライアントシステムのセットアップ

1。サーバーが最新であることを確認する

先に進む前に、サーバーが最新であることを確認しましょう。これを実現するには、次のコマンドを使用します。

sudo dnf -y update

2。 NFSパッケージをインストールする

パッケージnfs-utils カーネルNFSサーバーおよび関連ツール(showmountを含む)用のデーモンを提供します プログラム。次のコマンドを使用してパッケージをインストールします:

sudo dnf install -y nfs-utils

3。 NFSサーバーの起動と有効化

NFSパッケージが正常にインストールされたら、NFSサーバーを起動して有効にすることができます。次のsystemctlコマンドを使用して、サーバーを起動します。

sudo systemctl start nfs-server

次のコマンドでサービスのステータスを確認します:

$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: active (exited) since Thu 2022-01-13 17:54:19 UTC; 36s ago
  Process: 59320 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
  Process: 59308 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
  Process: 59305 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 59320 (code=exited, status=0/SUCCESS)

Jan 13 17:54:18 dev-rockysrv.inv.re systemd[1]: Starting NFS server and services...
Jan 13 17:54:19 dev-rockysrv.inv.re systemd[1]: Started NFS server and services.

上記の出力は、サービスが正常に開始されたことを示しています。システムの起動時にサービスを開始できるようにするには、次のコマンドを使用します。

sudo systemctl enable nfs-server

NFSサーバーの実行やNFS共有のマウントに必要なその他のサービス(nfsdなど)に注意してください。 、nfs-idmapdrpcbindrpc.mountdlockdrpc.statdrpc.rquotad およびrpc.idmapd 自動的に開始されます。

4.ファイアウォールでNFSサービスを有効にする

Firewalldをインストールして有効にしている場合は、NFSサービスを有効にする必要があります。必要な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

5。 NFSサーバーでのエクスポートの構成

NFSサーバーの構成ファイルは、次のパスにあります。

  • /etc/nfs.conf –これはNFSデーモンとツールのメイン構成ファイルです
  • /etc/nfsmount.conf –これはNFSマウント構成ファイルです

NFSサーバーでエクスポートまたは共有するファイルシステムを作成しましょう。凝視する2つのファイルシステム/mnt/nfs_shares/filesを作成します 共有ファイルおよび /mnt/nfs_shares/backupの場合 バックアップ用。

サーバーにディレクトリを作成しましょう

sudo mkdir -p /mnt/nfs_shares/files
sudo mkdir -p /mnt/nfs_shares/backup

確認

$ sudo ls /mnt/nfs_shares
backup	files

次に、上記のファイルシステムをエクスポートファイル/etc/exportsに追加します。 NFSサーバーで、NFSクライアントにエクスポートされるローカルファイルシステムを決定します。

テキストエディタでエクスポートファイルを開きます

sudo vim /etc/exports

次に、このコンテンツを追加します:

/mnt/nfs_shares/files  	10.70.5.170(rw,sync)
/mnt/nfs_shares/backup  10.70.5.0/24(rw,sync,no_all_squash,root_squash)

使用できるエクスポートオプションは次のとおりです。

  • rw –ファイルシステムでの読み取りアクセスと書き込みアクセスの両方を許可します。
  • 同期 –要求されたときに操作(ディスクへの情報の書き込み)を書き込むようにNFSサーバーに指示します(デフォルトで適用されます)。
  • all_squash –クライアントリクエストからのすべてのUIDとGIDを匿名ユーザーにマップします。
  • no_all_squash –クライアントリクエストからのすべてのUIDとGIDをNFSサーバー上の同一のUIDとGIDにマッピングするために使用されます。
  • root_squash –rootユーザーからのリクエストまたはクライアントからのUID/GID0を匿名のUID/GIDにマップします。

エクスポートファイルでファイルシステムを定義したら、exportfsを実行する必要があります それらをエクスポートするためのコマンド。 exportfsは、-aを使用して実行できます すべてのディレクトリをエクスポートまたはエクスポート解除することを意味するフラグ、-r つまり、すべてのディレクトリを再エクスポートし、 / var / lib / nfs / etabを同期します / etc / exports および/etc/exports.dの下のファイル 、および -v 詳細な出力を有効にします。

sudo exportfs -arv

これは私のサーバーの出力です

$ sudo exportfs -arv
exporting 10.70.5.170:/mnt/nfs_shares/files
exporting 10.70.5.0/24:/mnt/nfs_shares/backup

現在のエクスポートリストを表示するには、次のコマンドを実行します。 exportfsテーブルには、明示的に定義されていないいくつかのデフォルトオプションも適用されることに注意してください。

$ sudo exportfs  -s
/mnt/nfs_shares/files  10.70.5.170(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/mnt/nfs_shares/backup  10.70.5.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

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

サーバーでエクスポートを構成したので、クライアントシステムからエクスポートにアクセスできます。クライアントシステムにログインし、NFS共有にアクセスできるようにするために必要なパッケージをインストールします。

RHELベースのシステムの場合:

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

Debian / Ubuntuベースのディストリビューションの場合:

sudo apt install nfs-common nfs4-acl-tools

次に、showmountコマンドを実行して、NFSサーバーのマウント情報を表示できます。このコマンドは、エクスポートされたファイルシステムをサーバーに出力します

showmount -e 10.70.5.221

出力

$ showmount -e 10.70.5.221
Export list for 10.70.5.221:
/mnt/nfs_shares/backup 10.70.5.0/24
/mnt/nfs_shares/files  10.70.5.170

リモートNFSファイルシステムをマウントするためのローカルファイルシステムディレクトリを作成し、nfsファイルシステムとしてマウントします

mkdir -p ~/backups
mkdir -p ~/nfs_files
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/backup ~/backups
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/files ~/nfs_files

次に、マウントを実行して、リモートファイルシステムがマウントされたことを確認できます。 コマンドとフィルターnfs マウントします。

sudo mount | grep nfs

私のマシンに出力

$ sudo mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
10.70.5.221:/mnt/nfs_shares/backup on /home/rocky/backups type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
10.70.5.221:/mnt/nfs_shares/files on /home/rocky/nfs_files type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)

システムを再起動した後もマウントを永続化できるようにするには、エントリを/etc/fstabに追加します。 ファイル。これを実現するには、次のコマンドを(rootとして)使用します。

echo "10.70.5.221:/mnt/nfs_shares/backup     /home/rocky/backups  nfs     defaults 0 0" >> /etc/fstab
echo "10.70.5.221:/mnt/nfs_shares/files     /home/rocky/nfs_files  nfs     defaults 0 0" >> /etc/fstab

最後に、 NFSかどうかをテストします サーバー上にファイルを作成し、そのファイルがクライアントに表示されるかどうかを確認することで、セットアップは正常に機能しています。

サーバー上:

sudo touch /mnt/nfs_shares/files/file_on_server.txt

次に、クライアントマシンで確認します

$ ls ~/nfs_files/
file_on_server.txt

逆もできます。クライアントの場合:

touch ~/nfs_files/file_on_client.txt

次に、サーバーで確認します:

$ ls /mnt/nfs_shares/files/
file_on_client.txt  file_on_server.txt

クライアント側でリモートファイルシステムをアンマウントします。

sudo umount /mnt/nfs_shares/files
sudo umount /mnt/nfs_shares/backup

unmountはできないことに注意してください リモートファイルシステム内で操作している場合は、リモートファイルシステム。

結論

このガイドでは、RockyLinux8にNFSサーバーとクライアントをインストールして構成することができました。


Linux
  1. ScientificLinux6.3でのNFSサーバーとクライアントのセットアップ

  2. RockyLinux8でNFSマウントを設定する方法

  3. Linux NTP サーバーとクライアントをインストールして構成する方法

  1. Rocky Linux / Alma Linux /CentOS8にFreeIPAクライアントをインストールする方法

  2. Rocky Linux / Alma Linux 8にPHPとNginx(LEMP)をインストールしてセットアップする方法

  3. Rocky Linux / AlmaLinux8にSquidProxyをインストールして構成する方法

  1. LinuxでNylasN1電子メールクライアントを設定して使用する方法

  2. RockyLinux8でPritunlVPNサーバーをセットアップする方法

  3. Ubuntu20.04でNFSサーバーとクライアントをセットアップする方法