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

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

NFSはNetworkFileSystemの略で、1990年にSUNMicrosystemsによって開発されたLinux/ Unixシステム間でファイルやフォルダを共有するのに役立ちます。NFSを使用すると、リモート共有をローカルにマウントできます。

このガイドは、CentOS 7 /RHEL7でNFSサーバーをセットアップするのに役立ちます。

NFSのメリット

  • *nixシステム間でのファイル/フォルダの共有
  • リモートファイルシステムをローカルにマウントできます
  • 集中型ストレージシステムとして機能できます
  • VMwareおよびその他の仮想化プラットフォームのストレージドメイン(データストア)として使用できます。
  • アプリケーションが構成ファイルとデータファイルを複数のノードと共有できるようにします。
  • 共有全体でファイルを更新できるようにします。

重要なサービス

以下は、nfs-utilsパッケージに含まれている重要なNFSサービスです。

rpcbind :rpcbindサーバーは、RPCプログラム番号をユニバーサルアドレスに変換します。

nfs-server :クライアントがNFS共有にアクセスできるようにします。

nfs-lock / rpc-statd :NFSファイルロック。 NFSサーバーがクラッシュして再起動したときにファイルロック回復を実装します。

nfs-idmap :ユーザーとグループのIDを名前に変換し、ユーザーとグループの名前を
IDに変換します

重要な構成ファイル

主に以下の構成ファイルで作業して、NFSサーバーとクライアントをセットアップします。

/ etc / exports:これはメインの構成ファイルであり、リモートホストにエクスポートされるファイルシステムを制御し、オプションを指定します。

/ etc / fstab:このファイルは、システムの起動時にNFSディレクトリを含むどのファイルシステムをマウントするかを制御するために使用されます。

/ etc / sysconfig / nfs:このファイルは、必要なRPCサービスを実行するポートを制御するために使用されます。

/etc/hosts.allowおよび/etc/hosts.deny:これらのファイルはTCPラッパーと呼ばれ、NFSサーバーへのアクセスを制御します。これは、別のIPアドレスからの接続を受け入れるかどうかを決定するためにNFSによって使用されます。

環境

ここでは、このデモに最小限のCentOS7を使用します。このガイドは、OracleLinuxおよびFedoraシステムでも機能するはずです。

NFSサーバー

ホスト名: server.itzgeek.local(CentOS 7)
IPアドレス: 192.168.1.10/24

NFSクライアント

ホスト名: client.itzgeek.local(CentOS 7)
IPアドレス: 192.168.1.20 / 24

NFSサーバーの構成

NFSサーバーのインストール

yumコマンドを使用してNFSサーバー用の以下のパッケージをインストールします。

yum install -y nfs-utils

パッケージがインストールされたら、NFSサービスを有効にして開始します。

systemctl start nfs-server rpcbind
systemctl enable nfs-server rpcbind

NFS共有の作成

それでは、NFSクライアントと共有するディレクトリを作成しましょう。ここでは、/パーティションにnfsfileshareという名前の新しいディレクトリを作成します。

既存のディレクトリをNFSと共有することもできます。

mkdir /nfsfileshare

NFSクライアントが作成されたディレクトリの読み取りと書き込みを許可します。

chmod 777 /nfsfileshare/

/ etc / exportsファイルを変更して、共有するディレクトリ/nfsfileshareのエントリを作成する必要があります。

vi /etc/exports

以下のようなNFS共有を作成します。

/nfsfileshare 192.168.1.20(rw,sync,no_root_squash)

/ nfsfileshare :共有ディレクトリ

192.168.1.20 :クライアントマシンのIPアドレス。 IPアドレスの代わりにホスト名を使用することもできます。 192.168.1.0/24のようなサブネットを持つクライアントの範囲を定義することも可能です。

rw :共有フォルダへの書き込み可能なアクセス許可

同期 :対応するファイルシステムへのすべての変更は、すぐにディスクにフラッシュされます。それぞれの書き込み操作が待機されています。

no_root_squash デフォルトでは、クライアントマシンのユーザーrootによって行われたファイル要求は、サーバー上のユーザーnobodyによって処理されます。 (要求がマップされる正確なUIDは、クライアントではなくサーバー上のユーザー「nobody」のUIDによって異なります。)no_root_squashが選択されている場合、クライアントマシンのrootは、上のファイルへの同じレベルのアクセス権を持ちます。サーバー上のルートとしてのシステム。

manページのmanexportsまたはここですべてのオプションを知ることができます。

次のコマンドを使用して共有ディレクトリをエクスポートします。

exportfs -r

その他:

exportfs -v:サーバー上の共有ファイルとエクスポートオプションのリストを表示します。
exportfs-a:/ etc/exportsにリストされているすべてのディレクトリをエクスポートします。
exportfs -u:1つ以上のディレクトリのエクスポートを解除します。
exportfs -r:/ etc / exportsを変更した後、すべてのディレクトリを再エクスポートします。

NFSサーバーを構成した後、その共有ディレクトリをNFSクライアントにマウントする必要があります。

ファイアウォールの構成

NFSクライアントがNFS共有にアクセスできるように、NFSサーバーでファイアウォールを構成する必要があります。これを行うには、NFSサーバーで次のコマンドを実行します。

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

NFSクライアントの構成

NFSクライアントのインストール

リモートNFS共有をマウントするには、NFSクライアントにNFSパッケージをインストールする必要があります。以下のコマンドを使用してNFSパッケージをインストールします。

yum install -y nfs-utils

NFS共有を確認する

NFS共有をマウントする前に、NFSクライアントで次のコマンドを実行して、NFSサーバーで使用可能なNFS共有を確認するようにお願いします。

IPアドレスをNFSサーバーのIPアドレスまたはホスト名に置き換えます。
showmount -e 192.168.1.10

出力:

Export list for 192.168.1.10:
/nfsfileshare 192.168.1.20

出力によると、/ nfsfileshareは、NFSクライアント(192.168.1.20)のNFSサーバー(192.168.1.10)で使用できます。

その他:

showmount -e:ローカルマシン(NFSサーバー)で使用可能な共有を表示します。
showmount -e :使用可能な共有を一覧表示します。リモートサーバー

NFS共有のマウント

次に、NFSクライアントにディレクトリを作成して、NFSサーバーに作成したNFS共有/nfsfileshareをマウントします。

mkdir /mnt/nfsfileshare

以下のコマンドを使用して、NFSクライアントの/ mnt/nfsfileshareにあるNFSサーバー192.168.1.10からNFS共有/nfsfileshareをマウントします。

mount 192.168.1.10:/nfsfileshare /mnt/nfsfileshare

マウントコマンドを使用して、NFSクライアントにマウントされた共有を確認します。

mount | grep nfs

出力:

ssunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)

また、df -hTコマンドを使用して、マウントされたNFS共有を確認できます。

df -hT

出力:

Filesystem                 Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root    xfs        50G  1.2G   49G   3% /
devtmpfs                   devtmpfs  485M     0  485M   0% /dev
tmpfs                      tmpfs     496M     0  496M   0% /dev/shm
tmpfs                      tmpfs     496M  6.7M  490M   2% /run
tmpfs                      tmpfs     496M     0  496M   0% /sys/fs/cgroup
/dev/mapper/centos-home    xfs        47G   33M   47G   1% /home
/dev/sda1                  xfs      1014M  154M  861M  16% /boot
tmpfs                      tmpfs     100M     0  100M   0% /run/user/0
192.168.1.10:/nfsfileshare nfs4       50G  1.2G   49G   3% /mnt/nfsfileshare

マウントされたディレクトリにファイルを作成して、NFS共有での読み取りおよび書き込みアクセスを確認します。

touch /mnt/nfsfileshare/test

上記のコマンドでエラーが返されない場合は、NFSセットアップが機能しています。

NFS共有の自動マウント

再起動のたびに共有を自動的にマウントするには、NFSクライアントの/ etc/fstabファイルを変更する必要があります。

vi /etc/fstab

以下のようなエントリを追加します。

#
# /etc/fstab
# Created by anaconda on Wed Jan 17 12:04:02 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=60a496d0-69f4-4355-aef0-c31d688dda1b /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
192.168.1.10:/nfsfileshare /mnt/nfsfileshare    nfs     nosuid,rw,sync,hard,intr  0  0

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

クライアントマシンを再起動し、共有が自動的にマウントされるかどうかを確認します。

reboot

マウントコマンドを使用して、NFSクライアントにマウントされた共有を確認します。

mount | grep nfs

出力:

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,nosuid,relatime,sync,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)

ファイル共有が完了した後でその共有ディレクトリをNFSクライアントからアンマウントする場合は、umountコマンドを使用してその特定のディレクトリをアンマウントできます。

umount /mnt/nfsfileshare

結論

CentOS 7 /RHEL7でNFSサーバーとNFSクライアントを正常にセットアップしました。静的マウントを使用したくない場合は、ユーザーがアクセスしたときにのみNFS共有をマウントするようにCentOS7でAutoFSを構成できます。


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

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

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

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

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

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

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

  2. NextcloudをRHEL8/CentOS8サーバーにインストールする方法

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