Network File System(NFS)

ネットワーク経由で取得されたデータをローカルのディスクにキャッシングしますFS-Cache

単純にNFSサーバを作る

CentOS7の一部のフォルダか、あるいは追加したHDDをNFSとして供出する。
ここでは/dev/sdbと/etc/sdcを供出した。
*HDD全体を使うので、パーティション操作は不要かな?って思うのだが、、良くわからない

[root@nfs ~]# mkfs -t xfs /dev/sdb
[root@nfs ~]# mkfs -t xfs /dev/sdc
 
[root@nfs ~]# blkid | grep -e sdb -e sdc
/dev/sdb: UUID="5fa03bdf-5f7b-4cc4-9448-4a742edb97fc" TYPE="xfs"
/dev/sdc: UUID="e510e1fc-50c4-43bb-aa00-a81651bc810b" TYPE="xfs"
[root@nfs ~]#
 
[root@nfs ~]# mkdir -p /home /Appl
[root@nfs ~]# vi /etc/fstab
(略)
UUID=5fa03bdf-5f7b-4cc4-9448-4a742edb97fc /home xfs defaults 0 0
UUID=e510e1fc-50c4-43bb-aa00-a81651bc810b /Appl xfs defaults 0 0
 
[root@nfs ~]# mount -a
[root@nfs ~]# mount | grep -e sdb -e sdc
/dev/sdb on /home type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sdc on /Appl type xfs (rw,relatime,attr2,inode64,noquota)
 
[root@nfs ~]#

NFS機能を提供するパッケージをインストールして起動させます。
*事前にrpcbind.socketを起動しないとエラーになる
加えて、マシンが再起動したら自動的にNFSサービスも起動するように調整します。

[root@nfs ~]# yum install nfs-utils
 
[root@nfs ~]# systemctl start rpcbind.socket
[root@nfs ~]# systemctl start nfs-server.service
 
[root@nfs ~]# systemctl enable nfs-server.service

*rpcbind.socketは、nfs-utilsインストール時に enable になっている
次に、供出するファイルシステムを /etc/exportfs に記載します。書式は従来のままでも擬似ファイルシステムの形式でも構わない。
ここでは簡単に従来様式で記述する

[root@nfs ~]# vi /etc/exports
/Appl 192.168.0.0/24(rw,no_root_squash)
/home 192.168.0.0/24(rw)
[root@nfs ~]#

/ApplはNFS mountしたクライアントのrootでも操作可能にした。

これを反映させるために exportfs -av を実行する

[root@nfs ~]# exportfs -av
exporting 192.168.0.0/24:/Appl
exporting 192.168.0.0/24:/home
[root@nfs ~]#

NFS mount

クライアントからNFSサーバが提供しているファイルシステムをマウントしてみる。

インストールするパッケージは nfs-utils

[root@client ~]# yum -y install nfs-utils

再起動するか、rpcbind.socketを起動させて、mount操作を行う

[root@client ~]# systemctl start rpcbind.socket
[root@client ~]# mkdir -p /home /Appl
[root@client ~]# mount -t nfs nfs:/Appl /Appl
[root@client ~]# mount -t nfs nfs:/home /home

確認を行う

[root@client ~]# df | grep nfs
nfs:/Appl         16766976  32768 16734208    1% /Appl
nfs:/home         16766976  32768 16734208    1% /home
[root@client ~]#
 
[root@client ~]# mount | grep nfs
nfs:/Appl on /Appl type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,
                               retrans=2,sec=sys,clientaddr=192.168.0.20,local_lock=none,addr=192.168.0.41)
nfs:/home on /home type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,
                               retrans=2,sec=sys,clientaddr=192.168.0.20,local_lock=none,addr=192.168.0.41)
[root@client ~]#

clientマシンを再起動しても/Applと/homeをmountさせるには /etc/fstabを修正する

[root@client ~]# umount /Appl /home
 
[root@client ~]# vi /etc/fstab
(略)
nfs:/Appl /Appl nfs defaults 0 0
nfs:/home /home nfs defaults 0 0
 
[root@client ~]# mount -a
[root@client ~]# df | grep nfs
nfs:/Appl         16766976  32768 16734208    1% /Appl
nfs:/home         16766976  32768 16734208    1% /home
[root@client ~]#

no_root_squashのテスト

/ApplはNFSサーバ側で no_root_squash としたので、clientのroot権限で操作可能である。

[root@client ~]# cd /Appl
[root@client Appl]# ls
[root@client Appl]# touch sample
[root@client Appl]# ls -l
合計 0
-rw-r--r-- 1 root root 0  3月  6 14:19 sample
[root@client Appl]#

次に、no_root_squashを付けていない /home で同様の操作を行うと

[root@client ~]# cd /home
[root@client home]# touch sample
touch: `sample' に touch できません: 許可がありません
[root@client home]#

となる。

autofs

複数のmount pointを常時接続ではなく、その場所に移った時にmountさせるようにしてみる。

[root@client ~]# yum install autofs
 
[root@client ~]# vi /etc/auto.master.d/data.autofs
/- /etc/auto.nfs --timeout=60
 
[root@client ~]# vi /etc/auto.nfs
/data4 emfs:/data4
/data5 emfs:/data5
 
[root@client ~]# systemctl restart autofs

timeoutの時間は「/etc/autofs.conf」の「timeout = 300」で決まる。規定は300sec->5min
* 「dismount_interval」の値も効く様であるが,,,,

最新の60件
2025-02-03 2025-02-02 2025-02-01 2025-01-27 2025-01-26 2025-01-25 2025-01-24 2025-01-23 2025-01-20 2025-01-13 2025-01-12 2025-01-08 2024-12-30 2024-12-29 2024-12-22 2024-12-20 2024-12-17 2024-12-15 2024-12-14 2024-12-12 2024-12-11 2024-12-10 2024-12-09 2024-12-08 2024-12-04 2024-11-28 2024-11-22 2024-11-15 2024-11-14 2024-11-12 2024-11-06 2024-11-05 2024-11-04 2024-11-02 2024-11-01 2024-10-28 2024-10-27 2024-10-23 2024-10-18 2024-10-17 2024-10-15 2024-10-14 2024-10-13 2024-10-11 2024-10-10

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-03-10 (水) 03:34:00