Rocky Linux 8は、NFSバージョン3(NFSv3)および4(NFSv4)をサポートしています。デフォルトのNFSバージョンは4.2で、アクセス制御リスト(ACL)、サーバー側のコピー、スパースファイル、スペース予約、ラベル付きNFS、レイアウトの拡張などをサポートしています。
このガイドでは、RockyLinux8にNFSサーバーとNFSクライアントをインストールして構成する方法を学習します。
前提条件
- サーバーとして使用するためにRockyLinuxサーバーを更新し、クライアント用に別のサーバーを使用するように更新しました
- サーバーからの接続
- サーバーからのsudoアクセス
目次
- サーバーが更新されていることを確認します
- NFSパッケージをインストールする
- NFSサーバーの起動と有効化
- ファイアウォールでのNFSサービスの有効化
- NFSサーバーでのエクスポートの構成
- 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-idmapd
、rpcbind
、rpc.mountd
、lockd
、rpc.statd
、rpc.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サーバーとクライアントをインストールして構成することができました。