centos7.7でnfsサーバ/クライアントを設定する

CentOS7.7にnfsサーバおよびクライアントの設定を行います。
最終的には同一セグメント内の別サーバからnfsマウントするまでを目標とします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/6c7d64c2-965a-ce8b-c0b2-d3a0e7914a43.png)


#1.nfsパッケージインストール
```:パッケージインストール
# yum install nfs-utils
《中略》
完了しました!
```


#2.nfs設定(/etc/exports)
nfsサーバの設定ファイルの編集を行います。

```:/etc/exports
/share/nfs 192.168.142.0/24(rw,no_root_squash,async)
```
①/share/nfs　公開する共有ディレクトリ。
②192.168.142.0/24　共有ディレクトリにアクセスできる範囲。
③rw　読み書き両用。
④no_root_squash　root権限で利用可。
⑤async　非同期書き込み。性能向上のため。

[[RedHat]8.7. NFS サーバーの設定](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/storage_administration_guide/nfs-serverconfig)



#3.firewalld設定
nfs通信を許可する。

```:nfs通信許可
# firewall-cmd --permanent --zone=public --add-service=nfs
success
```

```:firewallの再起動
#firewall-cmd --reload
success
```

```:firewallの設定内容の確認
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources:
  services: dhcpv6-client nfs ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
```


#4.サービス起動
nfs関連のサービスの起動を行う。

```:nfs関連サービスの起動
# systemctl start rpcbind
# systemctl start nfs
```
```:OS起動時のnfs関連サービス自動起動設定
# systemctl enable rpcbind
# systemctl enable nfs
```

```:動作確認
# systemctl status rpcbind
● rpcbind.service - RPC bind service
   Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
   Active: active (running) since 月 2020-02-03 22:21:22 JST; 41s ago
 Main PID: 1711 (rpcbind)
   CGroup: /system.slice/rpcbind.service
           mq1711 /sbin/rpcbind -w

 2月 03 22:21:22 cent77-01 systemd[1]: Starting RPC bind service...
 2月 03 22:21:22 cent77-01 systemd[1]: Started RPC bind service.


# systemctl status nfs
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
  Drop-In: /run/systemd/generator/nfs-server.service.d
           mqorder-with-mounts.conf
   Active: active (exited) since 月 2020-02-03 22:21:30 JST; 41s ago
 Main PID: 1751 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/nfs-server.service

 2月 03 22:21:29 cent77-01 systemd[1]: Starting NFS server and services...
 2月 03 22:21:30 cent77-01 systemd[1]: Started NFS server and services.
```


#5.nfsクライアント設定
クライアントとなるサーバ側の設定としては、パッケージのインストールを行い、ネットワーク越しにマウントすればOKです。

```:パッケージインストール
# yum install nfs-utils
《中略》
完了しました!
```

```:nfsマウント
# mount -v -t nfs 192.168.142.31:/share/nfs /share/nfs-client
mount.nfs: timeout set for Mon Feb  3 22:32:21 2020
mount.nfs: trying text-based options 'vers=4.1,addr=192.168.142.31,clientaddr=192.168.142.32'
```
上記の`mount.nfs: xxx`がひたすら続くようであれば、何らかの設定が誤っています。


```:nfsマウント確認
# mount | grep nfs
192.168.142.31:/share/nfs on /share/nfs-client type nfs4 (rw,relatime,vers=4.1,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.142.32,local_lock=none,addr=192.168.142.31)
```

以上です。


#参考
8.7. NFS サーバーの設定
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/storage_administration_guide/nfs-serverconfig

自宅ネットワークに CentOS7 NFS サーバ環境構築
https://usado.jp/spdsk/2019/10/26/post-5385/

NFSサーバーの設定
https://www.server-world.info/query?os=CentOS_7&p=nfs

8.7. NFS サーバーの設定
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/storage_administration_guide/nfs-serverconfig


8.6. NFS サーバーの起動と停止
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/storage_administration_guide/s1-nfs-start

8.9. NFS と RPCBIND
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/storage_administration_guide/s2-nfs-methodology-portmap

firewalldの設定方法（基本設定編）
https://www.server-memo.net/centos-settings/firewalld/firewalld.html

CentOS 7 firewalld よく使うコマンド
https://qiita.com/kenjjiijjii/items/1057af2dddc34022b09e

firewall-cmdコマンドの使い方
https://qiita.com/hana_shin/items/bd9ba363ba06882e1fab