RHEL7.4で確認 bind mountとNFSを使った例 bind mountはディレクトリの一部を別のファイルシステムをmountして構成する仕組みです。$ cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Jan 4 23:55:50 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
: 省略 :
/aaa_HDD/aaa/env /aaa/env none rw,bind 0 0
/aaa_HDD/aaa/comp /aaa/comp none rw,bind 0 0
/aaa_SSD/aaa/csv /aaa/csv none rw,bind 0 0
/aaa_SSD/aaa/host /aaa/host none rw,bind 0 0
$
上記例だと、/aaa_HDD と /aaa_SSD というディレクトリで /aaa というディレクトリを構成している図となります。 /aaa <-- 実体は /aaa |-- env <-- 実体は /aaa_HDD/aaa/env |-- comp <-- 実体は /aaa_HDD/aaa/comp |-- csv <-- 実体は /aaa_SSD/aaa/csv |-- host <-- 実体は /aaa_SSD/aaa/host OSからどう見えているかと見ると以下の様に見えるはずです。$ df -a
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
rootfs - - - - /
:
省略
:
/dev/sda1 508580 121064 387516 24% /boot
/dev/mapper/data--vg01-data--lv01 8587829248 57004 8587772244 1% /aaa/env
/dev/mapper/data--vg01-data--lv01 8587829248 57004 8587772244 1% /aaa/comp
/dev/mapper/data--vg01-data--lv01 8587829248 57004 8587772244 1% /aaa/csv
/dev/mapper/data--vg01-data--lv01 8587829248 57004 8587772244 1% /aaa/host
:
省略
:
$
上記の例だと、でかいHDD領域(/aaa_HDD)とSSD領域(/aaa_SSD)を使って一つのディレクトリを構成しています。 こうやって別のディレクトリを使って構成したディレクトリを NFS で export するのは以下の様な方法をとります。$ cat /etc/exports
/aaa IPアドレス/24(fsid=0,crossmnt,rw,no_root_squash)
/aaa/env IPアドレス/24(rw,no_root_squash)
/aaa/comp IPアドレス/24(rw,no_root_squash)
/aaa/csv IPアドレス/24(rw,no_root_squash)
/aaa/host IPアドレス/24(rw,no_root_squash)
ディレクトリ構造をそのまま export するような感じですね。 では、クライアント側ですが、単純に export されている /aaa を mount するだけではダメです。 export するのと同じ様に /etc/fstab を記述します。$ cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Jan 4 23:55:50 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
:
省略
:
ホスト名:/aaa /aaa nfs nfsvers=3,rsize=1048576,wsize=1048576,async,bg,intr,hard 0 0
ホスト名:/aaa/env /aaa/env nfs nfsvers=3,rsize=1048576,wsize=1048576,async,bg,intr,hard 0 0
ホスト名:/aaa/comp /aaa/comp nfs nfsvers=3,rsize=1048576,wsize=1048576,async,bg,intr,hard 0 0
ホスト名:/aaa/csv /aaa/csv nfs nfsvers=3,rsize=1048576,wsize=1048576,async,bg,intr,hard 0 0
ホスト名:/aaa/host /aaa/host nfs nfsvers=3,rsize=1048576,wsize=1048576,async,bg,intr,hard 0 0 #
するとクライアント側では以下の様に見えます。$ df -ah
ファイルシス サイズ 使用 残り 使用% マウント位置
rootfs - - - - /
sysfs 0 0 0 - /sys
proc 0 0 0 - /proc
devtmpfs 55G 0 55G 0% /dev
securityfs 0 0 0 - /sys/kernel/security
tmpfs 55G 0 55G 0% /dev/shm
:
省略
:
ホスト名:/aaa 512G 20G 492G 4% /aaa
:
省略
:
#
ちゃんと安定して使えてます。 最初に bind mount を試した後に NFS を試すと良いです。 一度にやると何が悪いか判りませんからね。