/Appl(NFS)に配置したアプリ関係は CacheFS とか使ってローカルにキャッシュさせて使えばいいのでは?っと思って実践。
NFSclient側でNFSを高速にアシストする仕組み
単にNFSclient側でローカルのストレージをキャッシュデバイスに仕立てている。

処理時間が短く、何度も呼び出されるようなプログラムなら有効かな。
/home(NFS)とか/Appl(NFS)とかに有効かと思っているが、実際に早くなったかは未検証。


***導入 [#sa3f4a8e]
NFSクライアント側に設置します。

キャッシュ場所は、SSDデバイス由来になる /scratch/fscache を宛てた
そして、デーモンを起動する

#code(nonumber){{
[root@c101 ~]# yum -y install cachefilesd
[root@c101 ~]# mkdir /scratch/fscache

[root@c101 ~]# vi /etc/cachefilesd.conf
 :
dir /scratch/fscache
 :

[root@c101 ~]# systemctl enable cachefilesd
[root@c101 ~]# systemctl start cachefilesd
}}

***mount [#p08a36ca]
/etc/fstabを修正します。

NFSマウントを行う箇所にオプションとして「fsc」を加える。あとはremountとか再起動します

#code(nonumber){{
[root@c101 ~]# vi /etc/fstab
 :
c:/Appl /Appl nfs fsc,hard,intr 0 0
c:/home /home nfs fsc,hard,intr,defaults 0 0
c:/Appl /Appl nfs fsc,hard,intr,defaults 0 0
 :
}}


&color(white,blue){懸念箇所};
NFSClientのローカルにNFSサーバのデータがキャッシュされるので、clientで繰り返し読み出されるデータなら有効かも
その際、NFSserver側のexportfsのオプションが気になる
#code(nonumber){{
/Appl  192.168.0.*(rw,async,no_root_squash)
/home  192.168.0.*(rw,async,no_root_squash)
}}
このとき非同期なのでclinet側でのNFSの速度は速まるが、clientによって更新され、その更新データが読み込まれる場合、
CacheFSによって未同期のデータが読まれるのだろうか?
CacheFSを使うのなら、対象のデバイスは
#code(nonumber){{
/Appl  192.168.0.*(rw,sync,no_root_squash)
/home  192.168.0.*(rw,sync,no_root_squash)
}}
とすべきなのか....
1

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS