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日に投稿されました。