cachefiled

1.cachefiled介绍

   FS-Cache 是指在文件系统和缓存之间的接口。  CacheFS 指的则是FS-cache的缓存后端。CacheFS做实际的数据存储和检索处理,并使用块设备的分区。

   NFS,AFS等netfs因为受网络的影响,使得对数据访问和存储的实时性就有了一定的挑战,CacheFS(FS-cache缓存后端即客户端)可解决响应实效的问题 ,用于提供分布式文件系统的本地缓存.
   cachefiled在2.6.30内核中,已作为内核的一部分。已支持NFS和AFS文件系统。

 

加载fscache模块:

modprobe -v fscache

 

确认nfs-utils的版本,cgslv4默认版本为1.2.2-7

[root@localhost ~]# rpm -qa |grep nfs-utils

nfs-utils-1.2.2-7.el6.x86_64

3.配置cachefiled

修改/etc/cachefilesd.conf文件

vi /etc/cachefilesd.conf

dir /var/cache/fscache                  

tag mycache                          

culltable 15

brun 20%

bcull 10%

bstop 5%

frun 20%

fcull 10%

fstop 5%

 

dir参数用于配置本地缓存目录。

tag参数用于指定一个FS-Cache的标签区分使用多个缓存

culltable参数用于设置缓存的等级,数字越大缓存的命中率越高,占有内存也越多。有效参数值在12-20之间。

 

brun,frun参数作用:如果剩余空间或缓存文件数量超过限制值,不会释放已使用缓存的空间

bcull,fcullp参数作用:如果剩余空间或缓存文件数量低于限制值,将停止写入缓存,并释放已经缓存的空间(释放最近比较少使用缓存对象。)

bstop,fstop3参数作用:如果剩余空间或文件数量低于限制值,将缓存停止,并释放至比brun,frun限制或更高才能重新工作。

必须满足:

0 <= bstop < bcull < brun < 100

0 <= fstop < fcull < frun < 100

 

配置文件完成后,执行/etc/init.d/cachefilesd start 启动cachefiled服务(建议关闭selinux,否则有可能导致cachefiled无法启动)

 

把cachefiled设置为开机启动:

chkconfig cachefiledsd on

4.测试缓存

nfs客户端挂载网络nfs共享盘符到本地,必须使用-o fsc参数,netfs挂载后,缓存并不会自动开始工作,只有发生了读或者写的操作后,缓存才会工作。cachefiled只支持小文件的缓存。

挂载命令:

mount -t nfs 172.16.100.127:/mnt /nfs -o fsc

 

可使用vi命令修改netfs中的文件,并检查/var/fscache/cache目录下是否生成@4a的类似文件,如存在表示缓存功能已经激活。

[root@localhost cache]# ls

@4a

 

如出现问题可查看分析/var/log/messages日志。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。