NFS
NFSは、NetworkFileSystemの略で、Linux・UNIX系のOSで利用されるファイル共有システムの仕組み。
◇NFSサーバ
NFSサーバはファイルを提供する側になります。
サーバ内のどのディレクトリを誰に共有するかをあらかじめ設定しておくことが可能です。
◇NFSクライアント
NFSクライアントは、NFSサーバから提供されたディレクトリを利用できるように、自身の適切なディレクトリにマウント処理を行います。
一旦、マウントを行うとあたかも自分のサーバ内にあるファイルのように利用することができる。
設定値
項目 | 設定値 |
---|---|
サーバ名 | 192.168.2.110 |
共有パス | /tmp/nfs |
読書モード | 読み込み専用 |
プロトコル | UDP |
NFSバージョン | Version4 |
インストール・設定
NFS共有を利用するために、インストールするパッケージはnfs-utils
です。
# インストール済みかの確認
[admin@almalinux9 ~]$ yum list installed | grep nfs-utils
[admin@almalinux9 ~]$ sudo yum install -y nfs-utils
[sudo] admin のパスワード:
メタデータの期限切れの最終確認: 0:59:33 前の 2024年02月09日 19時26分16秒 に実施しました。
依存関係が解決しました。
=============================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
=============================================================================================================================================================
インストール:
nfs-utils x86_64 1:2.5.4-20.el9 baseos 425 k
依存関係のインストール:
gssproxy x86_64 0.8.4-6.el9 baseos 108 k
keyutils x86_64 1.6.3-1.el9 baseos 71 k
libev x86_64 4.33-5.el9 baseos 52 k
libnfsidmap x86_64 1:2.5.4-20.el9 baseos 60 k
libverto-libev x86_64 0.3.2-3.el9 baseos 13 k
rpcbind x86_64 1.2.6-5.el9 baseos 56 k
sssd-nfs-idmap x86_64 2.9.1-4.el9_3.5.alma.1 baseos 41 k
トランザクションの概要
=============================================================================================================================================================
インストール 8 パッケージ
ダウンロードサイズの合計: 826 k
インストール後のサイズ: 2.1 M
パッケージのダウンロード:
(1/8): keyutils-1.6.3-1.el9.x86_64.rpm 650 kB/s | 71 kB 00:00
(2/8): libev-4.33-5.el9.x86_64.rpm 442 kB/s | 52 kB 00:00
(3/8): gssproxy-0.8.4-6.el9.x86_64.rpm 840 kB/s | 108 kB 00:00
(4/8): libverto-libev-0.3.2-3.el9.x86_64.rpm 435 kB/s | 13 kB 00:00
(5/8): libnfsidmap-2.5.4-20.el9.x86_64.rpm 1.4 MB/s | 60 kB 00:00
(6/8): rpcbind-1.2.6-5.el9.x86_64.rpm 1.8 MB/s | 56 kB 00:00
(7/8): sssd-nfs-idmap-2.9.1-4.el9_3.5.alma.1.x86_64.rpm 1.3 MB/s | 41 kB 00:00
(8/8): nfs-utils-2.5.4-20.el9.x86_64.rpm 2.2 MB/s | 425 kB 00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 890 kB/s | 826 kB 00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : libnfsidmap-1:2.5.4-20.el9.x86_64 1/8
scriptletの実行中: rpcbind-1.2.6-5.el9.x86_64 2/8
インストール中 : rpcbind-1.2.6-5.el9.x86_64 2/8
scriptletの実行中: rpcbind-1.2.6-5.el9.x86_64 2/8
Created symlink /etc/systemd/system/multi-user.target.wants/rpcbind.service → /usr/lib/systemd/system/rpcbind.service.
Created symlink /etc/systemd/system/sockets.target.wants/rpcbind.socket → /usr/lib/systemd/system/rpcbind.socket.
インストール中 : libev-4.33-5.el9.x86_64 3/8
インストール中 : libverto-libev-0.3.2-3.el9.x86_64 4/8
インストール中 : gssproxy-0.8.4-6.el9.x86_64 5/8
scriptletの実行中: gssproxy-0.8.4-6.el9.x86_64 5/8
インストール中 : keyutils-1.6.3-1.el9.x86_64 6/8
scriptletの実行中: nfs-utils-1:2.5.4-20.el9.x86_64 7/8
インストール中 : nfs-utils-1:2.5.4-20.el9.x86_64 7/8
scriptletの実行中: nfs-utils-1:2.5.4-20.el9.x86_64 7/8
インストール中 : sssd-nfs-idmap-2.9.1-4.el9_3.5.alma.1.x86_64 8/8
scriptletの実行中: sssd-nfs-idmap-2.9.1-4.el9_3.5.alma.1.x86_64 8/8
検証 : gssproxy-0.8.4-6.el9.x86_64 1/8
検証 : keyutils-1.6.3-1.el9.x86_64 2/8
検証 : libev-4.33-5.el9.x86_64 3/8
検証 : libnfsidmap-1:2.5.4-20.el9.x86_64 4/8
検証 : libverto-libev-0.3.2-3.el9.x86_64 5/8
検証 : nfs-utils-1:2.5.4-20.el9.x86_64 6/8
検証 : rpcbind-1.2.6-5.el9.x86_64 7/8
検証 : sssd-nfs-idmap-2.9.1-4.el9_3.5.alma.1.x86_64 8/8
インストール済み:
gssproxy-0.8.4-6.el9.x86_64 keyutils-1.6.3-1.el9.x86_64 libev-4.33-5.el9.x86_64 libnfsidmap-1:2.5.4-20.el9.x86_64
libverto-libev-0.3.2-3.el9.x86_64 nfs-utils-1:2.5.4-20.el9.x86_64 rpcbind-1.2.6-5.el9.x86_64 sssd-nfs-idmap-2.9.1-4.el9_3.5.alma.1.x86_64
完了しました!
ファイルシステムのマウント
# NFSで共有するディレクトリの作成
[admin@almalinux9 nfs]$ sudo mkdir -p /tmp/nfs
# NFSで共有するファイルを作成する
[admin@almalinux9 nfs]$ sudo sh -c "echo nfstest > /tmp/nfs/nfstest.txt"
# 作成したファイルの中身を確認する
[admin@almalinux9 nfs]$ cat /tmp/nfs/nfstest.txt
nfstest
nfs-serverの設定
[admin@almalinux9 exports.d]$ sudo vim /etc/exports
# /etc/exportsファイルの内容
/tmp/nfs *(rw,root_squash)
nfs-serverの起動
[admin@almalinux9 etc]$ sudo systemctl start nfs-server
NFSクライアントの設定
サーバー「192.168.2.110」のディレクトリ「/tmp/nfs」を/tmpにマウントしている。
[admin@almalinux9 ~]$ sudo mount -t nfs4 192.168.2.110:/tmp/nfs /mnt
# マウント・ディスクの確認
[admin@almalinux9 mnt]$ df -Th /mnt
ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
192.168.2.110:/tmp/nfs nfs4 17G 3.4G 14G 20% /mnt
マウント後の検証
[admin@almalinux9 mnt]$ cd /tmp/nfs/ && ll
合計 4
-rw-r--r--. 1 root root 8 2月 10 04:50 nfstest.txt
# 共有用のディレクトリ「/tmp/nfs/」に、新たに「aftermount.txt」ファイルを作成
[admin@almalinux9 nfs]$ sudo touch aftermount.txt
[admin@almalinux9 nfs]$ ll
合計 4
-rw-r--r--. 1 root root 0 2月 10 05:49 aftermount.txt
-rw-r--r--. 1 root root 8 2月 10 04:50 nfstest.txt
# マウントポイントの/mntを確認すると、先ほど作成したファイルを確認できる。
[admin@almalinux9 nfs]$ cd /mnt && ll
合計 4
-rw-r--r--. 1 root root 0 2月 10 05:49 aftermount.txt
-rw-r--r--. 1 root root 8 2月 10 04:50 nfstest.txt
# エクスポート状況の確認
[admin@almalinux9 mnt]$ sudo exportfs -v
/tmp/nfs <world>(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
# NFSサーバでエクスポートされているディレクトリを調べる
[admin@almalinux9 mnt]$ showmount -e
Export list for almalinux9:
/tmp/nfs *
NFSマウントの解除
NFSマウンとの解除には、umountコマンドをスーパーユーザ権限で実行します。
アンマウントのコマンドは、下記の2つどちらも可能です。
# 事前確認
[admin@almalinux9 ~]$ df -Th /mnt
ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
192.168.2.110:/tmp/nfs nfs4 17G 3.4G 14G 20% /mnt
# マウントポイントを指定してアンマウントする
[admin@almalinux9 ~]$ sudo umount /mnt
# ファイルシステムを指定してアンマウントする
[admin@almalinux9 ~]$ sudo umount 192.168.2.110:/tmp/nfs
参考