ネットワークファイルシステム ( NFS )クライアント/サーバーファイルシステムとも呼ばれます。これは、クライアントがネットワークを介して他のユーザーとディレクトリやファイルを共有し、あたかもそれらと対話できるように、ネットワークを介してローカルファイルシステムをエクスポートするために使用される、一般的なクロスプラットフォームの分散ファイルシステムプロトコルです。ローカルにマウントされます。
CentOS / RHEL 8 、サポートされているNFSバージョンは NFSv3 およびNFSv4 デフォルトのNFSバージョンは4.2で、アクセス制御リスト(ACL)、サーバー側のコピー、スパースファイル、スペース予約、ラベル付きNFS、レイアウトの拡張などをサポートしています。
この記事では、NFSサーバーをインストールして構成する方法を学習します。 およびNFSクライアント CentOS / RHEL 8 Linuxディストリビューション。
前提条件:
- CentOS8インストールガイド
- RHEL8の最小限のインストール
- RHEL8でRHELサブスクリプションを有効にする
- CentOS /RHEL8で静的IPアドレスを設定する
テスト環境:
NFS Server IP: 10.20.20.8 NFS Client IP: 10.20.20.9
CentOS8でのNFSサーバーのセットアップ
1。 まず、必要なパッケージを NFSにインストールすることから始めます。 サーバ。パッケージはnfs-utils これは、カーネルNFSサーバーおよび showmountを含むなどの関連ツール用のデーモンを提供します。 プログラム。
次のコマンドを実行して、パッケージを NFSにインストールします サーバー( sudoを使用 root以外のユーザーとしてシステムを管理している場合)
# dnf install nfs-utils
CentOS8にNFSをインストールする
2。 インストールが完了したら、 nfs-serverを起動します サービスを実行し、システムの起動時に自動的に起動できるようにしてから、systemctlコマンドを使用してそのステータスを確認します。
# systemctl start nfs-server.service # systemctl enable nfs-server.service # systemctl status nfs-server.service
NFSサーバーのステータスを確認する
NFSサーバーの実行またはnfsdなどのNFS共有のマウントに必要なその他のサービスに注意してください。 、 nfs-idmapd 、 rpcbind 、 rpc.mountd 、ロック 、 rpc.statd 、 rpc.rquotad 、および rpc.idmapd 自動的に開始されます。
NFSサーバーの構成ファイルは次のとおりです。
- /etc/nfs.conf –NFSデーモンとツールのメイン構成ファイル。
- /etc/nfsmount.conf –NFSマウント構成ファイル。
3。 次に、 NFSでエクスポートまたは共有するファイルシステムを作成します サーバ。このガイドでは、4つのファイルシステムを作成します。そのうちの3つは、人事、財務、マーケティングの3つの部門のスタッフがファイルを共有するために使用し、1つはrootユーザーのバックアップ用です。
# mkdir -p /mnt/nfs_shares/{Human_Resource,Finance,Marketing} # mkdir -p /mnt/backups # ls -l /mnt/nfs_shares/
4。 次に、上記のファイルシステムをNFSサーバーにエクスポートします / etc / exports NFSクライアントがアクセスできるローカルの物理ファイルシステムを決定するための構成ファイル。
/mnt/nfs_shares/Human_Resource 10.20.20.0/24(rw,sync) /mnt/nfs_shares/Finance 10.20.10.0/24(rw,sync) /mnt/nfs_shares/Marketing 10.20.30.0/24(rw,sync) /mnt/backups 10.20.20.9/24(rw,sync,no_all_squash,root_squash)
エクスポートオプションの一部を次に示します( man exports をお読みください) 詳細とエクスポート オプション):
- rw –ファイルシステムでの読み取りアクセスと書き込みアクセスの両方を許可します。
- 同期 –要求されたときに操作(ディスクへの情報の書き込み)を書き込むようにNFSサーバーに指示します(デフォルトで適用されます)。
- all_squash –クライアントリクエストからのすべてのUIDとGIDを匿名ユーザーにマップします。
- no_all_squash –クライアントリクエストからのすべてのUIDとGIDをNFSサーバー上の同一のUIDとGIDにマッピングするために使用されます。
- root_squash –rootユーザーからの要求またはクライアントからのUID/GID0を匿名UID/GIDにマップします。
5。 上記のファイルシステムをエクスポートするには、 exportfsを実行します -a
を使用したコマンド フラグは、すべてのディレクトリをエクスポートまたはエクスポート解除することを意味します。-r
/ var / lib / nfs / etab を同期して、すべてのディレクトリを再エクスポートすることを意味します / etc / exportsを使用 および/etc/exports.dの下のファイル 、および -v 詳細な出力を有効にします。
# exportfs -arv
NFS共有のエクスポート
6。 現在のエクスポートリストを表示するには、次のコマンドを実行します。 エクスポートに注意してください 表には、デフォルトのエクスポートの一部も適用されます 次のスクリーンショットに示すように、明示的に定義されていないオプション。
# exportfs -s
NFS共有の一覧表示
7。 次に、 firewalldがある場合 サービスを実行している場合は、必要なNFSサービスへのトラフィックを許可する必要があります(マウント 、 nfs 、 rpc-bind )ファイアウォールを介して、次のようにファイアウォールルールをリロードして変更を適用します。
# firewall-cmd --permanent --add-service=nfs # firewall-cmd --permanent --add-service=rpc-bind # firewall-cmd --permanent --add-service=mountd # firewall-cmd --reload
ファイアウォールでNFSサービスを開く
クライアントシステムでのNFSクライアントのセットアップ
8。 次に、クライアントノードに、 NFSにアクセスするために必要なパッケージをインストールします。 クライアントシステム上の共有。ディストリビューションに適切なコマンドを実行します:
# dnf install nfs-utils nfs4-acl-tools [On CentOS/RHEL] $ sudo apt install nfs-common nfs4-acl-tools [On Debian/Ubuntu]
9。 次に、 showmountを実行します NFSサーバーのマウント情報を表示するコマンド。このコマンドは、スクリーンショットに示すように、エクスポートされたファイルシステムをクライアントに出力する必要があります。
# showmount -e 10.20.20.8
クライアントシステムでのNFS共有の表示
9。 次に、リモートNFSファイルシステムをマウントするためのローカルファイルシステム/ディレクトリを作成し、ntfファイルシステムとしてマウントします。
# mkdir -p /mnt/backups # mount -t nfs 10.20.20.8:/mnt/backups /mnt/backups
10。 次に、マウントを実行して、リモートファイルシステムがマウントされていることを確認します。 コマンドとフィルターnfs マウントします。
# mount | grep nfs
クライアントシステムのNFSマウントを確認する
11。 システムを再起動した後もマウントを永続化するには、次のコマンドを実行して、 / etc / fstabに適切なエントリを入力します。 。
# echo "10.20.20.8:/mnt/backups /mnt/backups nfs defaults 0 0">>/etc/fstab # cat /etc/fstab
クライアントシステムにNFS共有を永続的にマウントする
12。 最後に、 NFSかどうかをテストします サーバー上にファイルを作成し、そのファイルがクライアントに表示されるかどうかを確認することで、セットアップは正常に機能しています。
# touch /mnt/backups/file_created_on_server.text [On NFS Server] # ls -l /mnt/backups/file_created_on_server.text [On NFS client]
クライアントからのNFSセットアップのテスト
次に、その逆を行います。
# touch /mnt/backups/file_created_on_client.text [On NFS Client] # ls -l /mnt/backups/file_created_on_client.text [On NFS Server]
サーバーからのNFSセットアップのテスト
13。 クライアント側でリモートファイルシステムをアンマウントします。
# umount /mnt/backups
アンマウントはできないことに注意してください 次のスクリーンショットに示すように、リモートファイルシステム内で操作している場合はリモートファイルシステム。
NFSマウントエラー
それでおしまい!このガイドでは、 NFSをインストールして構成する方法を示しました。 CentOS /RHEL8のサーバーとクライアント 共有したいことや質問がある場合は、下のコメントフォームを使用してご連絡ください。
共有は思いやりがあります…Facebookで共有するTwitterで共有するLinkedinで共有するRedditで共有する