CacheFS 使用示例

OK。。。使用cachefs非常简单。假设您有一个名为theoden的文件服务器,我们使用目录/export/files作为NFS共享的目录。我们例子中的客户端是gandalf。

准备工作:

1.我们先创建一个NFS服务器。这很容易。只需在Solaris服务器上共享一个目录。我们登录到theoden并以根权限执行以下命令。

[root@theoden:/]# mkdir /export/files 
[root@theoden:/]# share -o rw /export/files
# share
- /export/files rw ""

2.OK,当然,在这个目录中放一些文件是很好的。我将使用Solaris环境的一些文件。

[root@theoden:/]# cd /export/files
[root@theoden:/export/files]# cp -R /usr/share/doc/pcre/html/* .

3.让我们快速测试下,目录是否可以挂载

[root@gandalf:/]# mkdir /files
[root@gandalf:/]# mount theoden:/export/files /files
[root@gandalf:/]# unmount /files

现在为止,我们可以在客户端gandalf机器上通过NFS挂载访问theoden服务器上面的共享文件了

4.OK,接下来我们创建一个本地缓存目录,假设我们希望将缓存放在/var/cachefs/caches/cache1。首先,我们在缓存目录上面创建目录。您不需要手动创建目录结构的最后一部分。

[root@gandalf:/]# mkdir -p /var/cachefs/caches

5.这个目录将是我们为cachefs存储缓存的地方。在这个步骤之后,我们必须为cachefs创建缓存。

[root@gandalf:/files]# cfsadmin -c -o maxblocks=60,minblocks=40,threshblocks=50 /var/cachefs/caches/cache1

目录cache1由命令自动创建。如果目录已经存在,命令将退出而不创建缓存。

此外,还创建了缓存,并指定了一些基本参数来控制缓存的行为。引用cfsadmin的主页:

      maxblocks:缓存文件可以使用的最大存储空间量,表示为当前文件系统中块总数的百分比。

      minblocks:最小存储空间量,以文件系统中块总数的百分比表示,始终允许cachefs使用,而不受其内部控制机制的限制。

      threshblocks:当前文件系统中块总数的百分比,超过该百分比后,一旦缓存块的使用率达到minblocks指定的级别,缓存将无法声明资源。

所有这些参数都可以被调到preven cachefs,以耗尽文件系统中的所有可用存储空间,这是此功能早期版本非常常见的行为。

 

通过CacheFS挂载文件系统(Mounting a filesystem via CacheFS):

现在我们必须挂载原始文件系统。

[root@gandalf:/files]# mkdir -p /var/cachefs/backpaths/files
[root@gandalf:/files]# mount -o vers=3 theoden:/export/files /var/cachefs/backpaths/files

您可能注意到了将NFS设置为版本3的参数。这是必须的,因为NFSv4不支持缓存。因此,您只能将其与NFSV3及以下版本一起使用。这种限制的原因在于NFSv4处理iNoD的方式不同。

好的,现在我们将缓存文件系统安装在旧位置:

[root@gandalf:/files]# mount -F cachefs -o backfstype=nfs,backpath=/var/cachefs/backpaths/files,cachedir=/var/cachefs/caches/cache1 theoden:/export/files /files

安装选项控制安装的一些基本参数:

backfstype:指定由cachefs文件系统代理的文件系统类型

backpath:指定当前安装此代理文件系统的位置

cachedir:指定此缓存实例的缓存目录。多个缓存装载可以使用同一个缓存。

从现在起,对/files目录的每次访问都将由cachefs缓存。让我们快速查看/etc/mntab。我们有两个重要的坐骑

[root@gandalf:/etc]# cat mnttab 
[...]
theoden:/export/files /var/cachefs/backpaths/files nfs vers=3,xattr,dev=4f80001 1219049560
/var/cachefs/backpaths/files /files cachefs backfstype=nfs,backpath=/var/cachefs/backpaths/files,cachedir=/var/cachefs/caches/cache1,dev=4fc0001 1219049688

 

缓存的统计信息

使用它时,您将看到/var/cachefs/caches/cache1处的缓存结构中充满了文件。我来解释一下

使用它时,您将看到/var/cachefs/caches/cache1处的缓存结构中充满了文件。我将在下一节中解释一些结构。但是这个缓存有多高效呢?Solaris提供了一个命令来收集有关缓存的一些统计信息。使用cachefstat,可以打印出命中率等数据,包括缓存命中和缓存未命中的绝对数:

[root@gandalf:/files]# /usr/bin/cachefsstat

    /files
                 cache hit rate:    60% (3 hits, 2 misses)
             consistency checks:      7 (7 pass, 0 fail)
                       modifies:      0
             garbage collection:      0
[root@gandalf:/files]#

转载于:https://my.oschina.net/sijinge/blog/3097423

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值