为什么80%的码农都做不了架构师?>>>   

1. CacheFiles介绍 NFS是一种经常使用到的网络共享文件系统,在分布式环境下,多台服务器的文件共享是一个问题。然而,对于这个问题,最常想到最容易做到的那就非NFS莫属了。那么如何来提高NFS文件的访问性能呢?加上缓存呗。没错。在linux下,有一个缓存文件系统叫FS-Cache,来缓存网络文件系统,如NFS。 FS-Cache是在linux内核版本2.6.30及以上版本引入的。在RHCE6.x 、CentOS6.x版本下可用。 为了使FS-Cache工作,需要缓存后端来提供实际存储。默认的缓存后端是cachefiles。因此,一旦设置了cachefiles,它会为NSF共享自动的启用文件缓存。 FS-Cache是由David Howells开发的。当前的设计是对Andrew文件系统和网络文件系统的操作。 需要开启cachefilesd的守护进程来管理。该守护进程管理缓存文件和目录,将网络文件系统如AFS、NFS永久缓存到本地磁盘。 2. CacheFiles前提条件 需要本地文件系统支持用户自定义的扩展文件属性,如xattr。因为cachefiles使用xattr存储额外信息来维护缓存的。 ext4文件系统默认启用xattr。 如果是使用ext3文件系统,需要加上user_xattr选项。按照如下步骤操作:

# vim /etc/fstab
/dev/sdb1 /data ext3 defaults,user_xattr 0 0
# mount -o remount /data

[warning] user_xattr针对缓存存储分区而言的。[/warning] 3. 安装

# yum install cachefilesd.x86_64

4. 配置

# vim /etc/cachefilesd.conf
dir /var/cache/fscache
tag mycache
brun 10%
bcull 7%
bstop 3%
frun 10%
fcull 7%
fstop 3%
# Assuming you're using SELinux with the default security policy included in
# this package
secctx system_u:system_r:cachefiles_kernel_t:s0

说明: dir: 缓存root目录。默认/var/cache/fscache。 tag: 指定一个FS-Cache标签,用来区分多个缓存。默认是"CacheFiles"。 secctx system_u:system_r:cachefiles_kernel_t:s0 : 开启SELinux的话,需要更改安全上下文。 brun 10%, bcull 7%, bstop 3%, frun 10%, fcull 7%, fstop 3% : 缓存策略。 5. 缓存剔除规则: 缓存需要删除来释放空间,将最少使用的对象丢弃掉。cachefiles是基于访问时间来清除缓存的。空的目录如果不使用将删掉。 (*) brun (*) frun 如果剩余空间和缓存中可用的文件数超过了上面的限制,缓存剔除关闭。 (*) bcull (*) fcull 如果可用空间或缓存中的可用文件数量低于上面的限制,缓存剔除将开启。 (*) bstop (*) fstop 如果可用空间或缓存中的可用文件数量低于上面任一限制,然后,没有进一步的分配磁盘空间或文件被允许直到再次超过上面限制。 必须按照下面原则设置: 0 <= bstop < bcull < brun < 100 0 <= fstop < fcull < frun < 100 [warning]这些都是可利用的空间和可用的文件的百分比.[/warning] 6. 缓存结构 cachefiles模块将在缓存root目录下自动创建两个子目录:cache和graveyard。 主动缓存对象存储于cache目录下。守护进程检测graveyard目录,并将删除任何出现在该目录中的缓存。 7. NFS挂载启用fsc选项

# /etc/init.d/cachefilesd restart
# mount -t nfs 10.31.247.202:/data /data/nfs/ -o fsc,remount

查看缓存状态 [warning]注意FSC列的值,如果是yes说明启用,否则没有。[/warning] 8. 测试 在没有使用cachefiles情况下: 在使用cachefiles情况下: 第一次耗时长,是由于第一次没有缓存。 9. 查看cachefiles统计信息 转载请注明来自 运维生存时间: http://www.ttlsa.com/html/4130.html

转载于:https://my.oschina.net/766/blog/211280

CentOS / RHEL Cachefiles 加速网络文件系统NFS访问速度相关推荐

  1. 简述网络文件系统NFS,并说明其作用。

    简述网络文件系统NFS,并说明其作用. (1)网络文件系统是应用层的一种应用服务,它主要应用于Linux和Linux系统.Linux和Unix系统之间的文件或目录的共享. (2)对于用户而言可以通过 ...

  2. 【在linux中搭建网络文件系统NFS的详细教程】

    网络文件系统NFS简介: 网络文件系统NFS可以实现两个或者多个电脑之间文件共享,假设存在两台主机A,B.A为主,B为副. 通过远程挂载形式,将主机A的共享目录里挂载主机B的共享目录: 列如:在A的共 ...

  3. 网络文件系统---nfs

    文件系统 nfs--案例 1.文件系统 1.1 本地文件系统 Linux:  xfs    ext win~  :   ntfs     fat 1.2网络文件系统 nfs    是Linux  与L ...

  4. 如何通过RamDisk的方法加速小型数据库的访问速度

    应用功能: 数据库中存在大量数据时候,我们的程序启动则比较慢,因此启动从ramdisk中读取数据库可以提高速度. RamDisk简介 本文首先介绍了 如何在rh6.0系统上创建一个RamDisk,然后 ...

  5. 网络文件系统 | NFS 服务

    NFS存储服务 定义 NFS即网络文件系统,是一种通过网络方式共享文件系统的通用共享解决方案. 版本对比 Centos 7 版本默认使用版本v4,最小化安装的应该没有. 更多的版本对比可以参考官方网站 ...

  6. 网络文件系统(NFS)简介

    网络文件系统(Network File System, NFS)是一种分布式文件系统协议,最初由Sun Microsystems公司开发,并于1984年发布.其功能旨在允许客户端主机可以像访问本地存储 ...

  7. 小麦盒子cdn_CDN加速,提高网站访问速度的最佳方法

    上个月,一台湾的朋友向我反映了他的网站现在十分糟糕的情况. 事情是这样的,这位台湾朋友有一网站,面向用户主要在中国大陆,2010年10月,他把网站寄存地从台湾移到了广东,他租用的是独立服务器,使用线路 ...

  8. 网络文件系统——NFS

    目录 一 .NFS简介 二.NFS工作原理 三.nfs服务安装和启动 四.NFS配置文件 4.1常见指定方式 ​编辑 4.2常见经典范例 4.3 nfs客户端卸载 五.按需自动挂载NFS--autof ...

  9. windows挂载linux网络文件系统NFS

    ubuntu上安装配置nfs服务 #apt-get install nfs-kernel-server #mkdir /home/nfs #vim /etc/exports 在文档的最后一行加入/ho ...

最新文章

  1. 在Centos 6.5 上面配置 SVN
  2. thinkphp5 404 file_put_contents 无法打开流:权限被拒绝
  3. Jmeter中中文乱码
  4. Qt时间轴QTimeLine的基本用法
  5. Category 特性在 iOS 组件化中的应用与管控
  6. java跳跳球代码,README.md
  7. mac上数据库管理工具Navicat Premium 连接mySQL
  8. arr访问绝对地址_ECSHOP源码里的图片的相对地址改为绝对地址 (1)
  9. 国务院:推进电子印章、签名应用,君子签助推高频事项“跨省通办”
  10. 计算机无法启动printspooler,打印服务PrintSpooler无法启动解决方法
  11. beta版和alpha版
  12. 计算机系统崩溃重新装机,电脑系统崩溃有几种重装系统的方法,赶紧试试看
  13. swoole 协程与go 协程对比
  14. Mac电脑如何转化二维码?方法了来了
  15. 如何评估前端开发周期/排期?
  16. 尚硅谷-离线数仓-笔记
  17. UHD在DPDK下进行编译
  18. 身体检查 生化全套 血常规 微量元素
  19. 计算机控制技术专业全球排名,2019QS世界大学专业排名,快来看看!
  20. 【期末复习】网络空间安全导论

热门文章

  1. 淘宝联盟 推广链接 API取链 转链报错 传入参数错误,请检查adzone_id是否属于appkey拥有者
  2. 码云克隆项目到IntelliJ IDEA中
  3. MySQL中table_schema的基本操作
  4. pycharm中plt.show()不显示图像的解决办法
  5. Android Studio如何去除界面默认标题栏
  6. php输出因子,如何在PHP因子程序中返回值
  7. qtreewidgetitem 选中背景颜色_列表式报表阶梯背景色效果
  8. idea 生成自己项目 API (跟jdk api 一样的界面) 香吧
  9. 期末C语言45分能过的吗,C语言—期末小黄衫获奖感言
  10. 宏基因组应用_宏基因组及宏转录组测序揭示极端环境微生物的生态学作用