HOPES

NFSサーバの構築とNFSクライアントの設定

NFSサーバの構築とNFSクライアントの設定

ローカルに接続したサーバ郡の中で、1台のサーバに、NFSサーバを構築して、それを利用する各サーバで、NFSクライアントを設定して共有環境を実現する方法をまとめています。

NFSについて

NFSを利用すると、ネットワークで接続されたサーバ間で、ファイル共有を行うことができるようになります。

クライアントからは、ホストのデータ領域をマウントして使う仕様のため、ローカルのデバイスのデータと領域と同じように使いつつ、サーバ間でファイルを共有することも可能になります。

ネットワークファイルシステム (NFS) を利用すると、リモートのホストがネットワーク経由でファイルシステムをマウントし、そのファイルシステムを、ローカルにマウントしているファイルシステムと同じように操作できるようになります。また、リソースを、ネットワークの集中化サーバーに統合できるようになります。

第5章 NFS 共有のエクスポート Red Hat Enterprise Linux 8 | Red Hat Customer Portal


NFSサーバのインストールと設定

まずは、NFSサーバの構築を行います。

NFSサーバのインストール

必要なパッケージのインストールを行います。

# dnf install nfs-utils libnfsidmap nfs4-acl-tools
アップグレード済み:
  libnfsidmap-1:2.3.3-51.el8.x86_64                                                                                                  
インストール済み:
  gssproxy-0.8.0-20.el8.x86_64             keyutils-1.5.10-9.el8.x86_64               libverto-libevent-0.3.0-5.el8.x86_64         
  nfs-utils-1:2.3.3-51.el8.x86_64          nfs4-acl-tools-0.3.5-3.el8.x86_64          python3-pyyaml-3.12-12.el8.x86_64            
  quota-1:4.04-14.el8.x86_64               quota-nls-1:4.04-14.el8.noarch             rpcbind-1.2.5-8.el8.x86_64                   

完了しました!

ファイアウォールの設定

ローカルネットワークでNFSサーバにアクセスできるように設定します。

# firewall-cmd --permanent --new-zone=local
# firewall-cmd --permanent --zone=local --set-target=ACCEPT
success
# firewall-cmd --permanent --zone=local --add-source=10.0.0.0/24
success
# firewall-cmd --permanent --zone=local --add-service=nfs
success
# firewall-cmd --reload
success

起動と自動起動の設定

NFSサーバを起動して、再起動時等には、自動起動するよう設定しておきます。

# systemctl start nfs-server
# systemctl enable nfs-server
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service.

IDマッピングの設定

IDマッピングの設定を行います。ここでは、ドメイン名のみ設定します。

# vi /etc/idmapd.conf
[General]
#Verbosity = 0
# The following should be set to the local NFSv4 domain name
# The default is the host's DNS domain name.
Domain = nfs.hopes.host

共有ディレクトリの設定

NFSで使用する共有ディレクトリを作成します。

# mkdir /nfsdata

エクスポートテーブルを設定します。

# vi /etc/exports
#nfs
/nfsdata 10.0.0.0/24(rw,no_root_squash,sync)

設定を反映させます。

# exportfs -av
exporting 10.0.0.0/24:/nfsdata

NFSクライアントの設定と確認

NFSサーバの設定が完了したので、クライアント側から、NFSサーバの共有フォルダにアクセスできるように、クライアントの設定を行ったうえで、動作確認を行います。

必要パッケージのインストールと設定

まず、NFSサーバのサーバと通信できることを確認します。

# ping 10.0.0.11
PING 10.0.0.11 (10.0.0.11) 56(84) bytes of data.
64 bytes from 10.0.0.11: icmp_seq=1 ttl=64 time=0.026 ms

必要なパッケージをインストールします。

# dnf install nfs-utils
インストール済み:
  gssproxy-0.8.0-20.el8.x86_64       keyutils-1.5.10-9.el8.x86_64  libverto-libevent-0.3.0-5.el8.x86_64  nfs-utils-1:2.3.3-51.el8.x86_64 
  python3-pyyaml-3.12-12.el8.x86_64  quota-1:4.04-14.el8.x86_64    quota-nls-1:4.04-14.el8.noarch        rpcbind-1.2.5-8.el8.x86_64      

完了しました!

「/etc/idmapd.conf」を編集して、NFSサーバのIDマッピングで設定したドメイン名と同じドメイン名を設定します。

# vi /etc/idmapd.conf

マウントの設定

NFSサーバのディレクトリをマウントします。

# mount -t nfs4 10.0.0.11:/nfsdata /var/www/nfsdir

マウントされていることを確認します。

# df -h
ファイルシス        サイズ  使用  残り 使用% マウント位置
devtmpfs               63G     0   63G    0% /dev
tmpfs                  63G     0   63G    0% /dev/shm
tmpfs                  63G  8.8M   63G    1% /run
tmpfs                  63G     0   63G    0% /sys/fs/cgroup
/dev/mapper/rl-root   3.5T   37G  3.5T    2% /
/dev/sda2            1014M  340M  675M   34% /boot
/dev/sdb              3.5T   26G  3.5T    1% /data
/dev/sda1             599M  5.7M  594M    1% /boot/efi
tmpfs                  13G     0   13G    0% /run/user/0
10.0.0.11:/nfsdata     30T  210G   29T    1% /var/www/nfsdir

起動時にNFSサーバのディレクトリをマウントするよう、「/etc/fstab」を編集して、記述を追記しておきます。

# nfs
10.0.0.11:/nfsdata /var/www/nfsdir nfs4 defaults 0 0

実際に再起動して、サーバが立ち上がったら、再度、マウントされていることを確認します。

# df -h
ファイルシス        サイズ  使用  残り 使用% マウント位置
devtmpfs               63G     0   63G    0% /dev
tmpfs                  63G     0   63G    0% /dev/shm
tmpfs                  63G  8.8M   63G    1% /run
tmpfs                  63G     0   63G    0% /sys/fs/cgroup
/dev/mapper/rl-root   3.5T   37G  3.5T    2% /
/dev/sda2            1014M  340M  675M   34% /boot
/dev/sdb              3.5T   26G  3.5T    1% /data
/dev/sda1             599M  5.7M  594M    1% /boot/efi
10.0.0.15:/nfsdata     30T  210G   29T    1% /var/www/nfsdir
tmpfs                  13G     0   13G    0% /run/user/0

共有ディレクトリの動作確認

NFSサーバの共有ディレクトリにファイル作成してみます。

# vi /var/www/nfsdir/test.txt

NFSサーバ側で、ファイルが作成されていることを確認します。

# cd /nfsdata/
# ls
test.txt

これで設定は、完了です。

2022年09月06日に投稿されました。