LoginSignup
6
8

More than 3 years have passed since last update.

NFSv4疑似ルートの使い方

Last updated at Posted at 2020-07-25

1 はじめに

NFSv4にfsidというオプションがあります。
このオプションを設定したディレクトリが、サーバの疑似ルートになります。
つまり、クライアントからは、fsidを設定したディレクトリが、NFSサーバの
ルートディレクトリとして見えます。

2 環境

VMware Workstation 15 Player上の仮想マシン(2台)を使いました。
どちらの仮想マシンも、最小構成+開発環境で作成しました。

ネットワーク構成
                   192.168.3.0/24 
NFS client --------------------------- NFS server
          .20                        .10

仮想マシンの版数は、2台とも以下のとおりです。

CentOS版数
[root@server ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
カーネル版数
[root@server ~]# uname -r
3.10.0-957.el7.x86_64

3 パッケージのインストール

サーバ、クライアントにnfs-utilsパッケージをインストールします。

パッケージのインストール
[root@server ~]# yum install nfs-utils
[root@client ~]# yum install nfs-utils

4 事前準備(サーバ側)

NFSv4サーバを起動します。

NFSv4の起動
[root@server ~]# systemctl start nfs-server.service

NFSv4で使用するポート番号を開放します。
なお、firewall-cmdの使い方は、firewall-cmdコマンドの使い方を参照ください。

ポート番号の開放
[root@server ~]# firewall-cmd --add-port=2049/tcp
success
テスト用ディレクトリの作成
[root@server ~]# mkdir -p /DIR1/DIR2/DIR3/DIR4/DIR5

5 実験1

/DIR1を疑似ルート(fsid=0)に設定してみます。
クライアントからは、/DIR1がNFSサーバのルートディレクトリ(/)として見えます。

exportsファイルの編集
[root@server ~]# vi /etc/exports
[root@server ~]# cat /etc/exports
/DIR1 192.168.3.20(fsid=0,rw,no_root_squash)

/etc/exportsの設定内容をエクスポートします。

エクスポート
[root@server ~]# exportfs -ar

エクスポートした内容を確認します。
/DIR1が疑似ルートになっていることがわかります。

確認
[root@server ~]# exportfs -v
/DIR1           192.168.3.20(sync,wdelay,hide,no_subtree_check,fsid=0,sec=sys,rw,secure,no_root_squash,no_all_squash)

サーバの/をクライアントの/mntにマウントします。

マウント実行
[root@client ~]# mount -t nfs4 192.168.3.10:/ /mnt

/mntにサーバの/がマウントできたことがわかります。

マウントポイントの確認
[root@client ~]# df -hT /mnt
ファイルシス   タイプ サイズ  使用  残り 使用% マウント位置
192.168.3.10:/ nfs4      20G  8.3G   12G   43% /mnt

/mnt配下を確認すると、ルートディレクトリとして設定した
/DIR1配下のDIR2,DIR3,DIR4,DIR5が確認できます。

疑似ルート配下の確認
[root@client ~]# ls -R /mnt
/mnt:
DIR2

/mnt/DIR2:
DIR3

/mnt/DIR2/DIR3:
DIR4

/mnt/DIR2/DIR3/DIR4:
DIR5

/mnt/DIR2/DIR3/DIR4/DIR5:

6 実験2

今度は、/DIR1/DIR2/DIR3を疑似ルート(fsid=0)に設定してみます。
クライアントからは、/DIR1/DIR2/DIR3がNFSサーバのルートディレクトリ(/)として見えます。

exportsファイルの編集
[root@server ~]# vi /etc/exports
[root@server ~]# cat /etc/exports
/DIR1/DIR2/DIR3 192.168.3.20(fsid=0,rw,no_root_squash)

/etc/exportsの設定内容をエクスポートします。

エクスポート
[root@server ~]# exportfs -ar

エクスポートした内容を確認します。
/DIR1/DIR2/DIR3が疑似ルートになっていることがわかります。

確認
[root@server ~]# exportfs -v
/DIR1/DIR2/DIR3
                192.168.3.20(sync,wdelay,hide,no_subtree_check,fsid=0,sec=sys,rw,secure,no_root_squash,no_all_squash)

サーバの/をクライアントの/mntにマウントします。

マウント実行
[root@client ~]# mount -t nfs4 192.168.3.10:/ /mnt

/mntにサーバの/がマウントできたことがわかります。

マウントポイントの確認
[root@client ~]# df -hT /mnt
ファイルシス   タイプ サイズ  使用  残り 使用% マウント位置
192.168.3.10:/ nfs4      20G  8.3G   12G   43% /mnt

/mnt配下を確認すると、ルートディレクトリとして設定した
/DIR1/DIR2/DIR3配下のDIR4,DIR5が確認できます。

疑似ルート配下の確認
[root@client ~]# ls -R /mnt
/mnt:
DIR4

/mnt/DIR4:
DIR5

/mnt/DIR4/DIR5:

Z 参考情報

Ping-t
Linux教科書 LPICレベル2 スピードマスター問題集 Version4.5対応
Linux教科書 LPICレベル2 Version 4.5対応 (日本語)

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8