Rocky Linux 9でNFSサーバを構築します。NFSのバージョンは、NFSv4を使用します。
記事の目次
NFSサーバのパッケージをインストールする!
NFSサーバのパッケージをインストールします。
# dnf install nfs-utils -y
FirewalldでNFSの接続を許可する!
FirewalldでNFSの接続を許可します。
# firewall-cmd --add-service=nfs --permanent success # firewall-cmd --reload success # firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: enp0s3 sources: services: cockpit dhcpv6-client nfs ssh ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: total 0
外部からNFSマウントするディレクトリを作成する!
外部からNFSマウントするディレクトリを作成します。
# mkdir /var/nfs # ls -ld /var/nfs drwxr-xr-x. 2 root root 6 Nov 27 15:07 /var/local/nfs
NFSサーバの設定を行う!
NFSサーバの設定を行います。
# echo "/var/nfs 10.1.0.0/16(rw,no_root_squash,sync)" > /etc/exports # cat /etc/exports /var/local/nfs 10.1.0.0/16(rw,no_root_squash,sync)
NFSサーバの設定を反映します。
# exportfs -r # exportfs -v /var/nfs 10.1.0.0/16(sync,wdelay,hide,no_subtree_check,sec=sys,rw,no_root_squash,no_all_squash)
使用しているポートの情報を表示します。
# rpcinfo -p program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper
NFSサーバが自動起動するように設定する!
NFSサーバが自動起動するように設定します。
# systemctl enable --now rpcbind nfs-server Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service. # systemctl status rpcbind ● rpcbind.service - RPC Bind Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2022-11-27 15:07:05 JST; 498ms ago TriggeredBy: ● rpcbind.socket Docs: man:rpcbind(8) Main PID: 6015 (rpcbind) Tasks: 1 (limit: 10973) Memory: 1.6M CPU: 18ms CGroup: /system.slice/rpcbind.service └─6015 /usr/bin/rpcbind -w -f Nov 27 15:07:05 vmsnfs01 systemd[1]: Starting RPC Bind... Nov 27 15:07:05 vmsnfs01 systemd[1]: Started RPC Bind. # systemctl is-enabled rpcbind.service enabled # systemctl status nfs-server ● 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 └─order-with-mounts.conf Active: active (exited) since Sun 2022-11-27 15:07:06 JST; 48ms ago Process: 6197 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Process: 6198 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS) Process: 6630 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=ex> Main PID: 6630 (code=exited, status=0/SUCCESS) CPU: 17ms Nov 27 15:07:06 vmsnfs01 systemd[1]: Starting NFS server and services... Nov 27 15:07:06 vmsnfs01 systemd[1]: Finished NFS server and services. # systemctl is-enabled nfs-server enabled
NFSサーバに接続してみる!
Ubuntu Desktop 22.04から接続してみます。接続先のNFSサーバ名は「vmsnfs01」で、Ubuntuにusradminというユーザでログインしている例です。まず、NFSクライアントが含まれるパッケージをインストールします。
$ sudo apt install nfs-common
マウントポイントを作成します。
$ mkdir nfs
NFSでマウントします。
$ sudo mount -t nfs vmsnfs01:/var/nfs /home/usradmin/nfs $ df -h | grep nfs vmsnfs01:/var/local/nfs 70G 4.7G 66G 7% /home/usradmin/nfs
マウントしたディレクトリの権限をログインユーザに修正します。
$ sudo usradmin:usradmin /home/usradmin/nfs
ファイルシステムが利用できるか、いろいろ試してみましょう。
$ touch aaa.txt $ ls -l total 0 -rw-rw-r-- 1 usradmin usradmin 0 Nov 27 15:47 aaa.txt -rw-r--r-- 1 root root 0 Nov 27 15:27 vmsnfs01.txt
おわりに
取り急ぎ、NFSサーバを構築したいということがある思います。最短でNFSサーバを構築する手順をまとめてみました。
関連記事
参考書籍(Amazon)