系统管理指南:设备和文件系统

CacheFS 文件系统概述

CacheFS 文件系统是一种通用的高速缓存机制,它通过减少服务器和网络负载来提高 NFS 服务器的性能和可伸缩性。由于设计为分层文件系统,CacheFS 文件系统可提供将一个文件系统高速缓存在另一个文件系统上的功能。在 NFS 环境中,CacheFS 文件系统增加客户机与服务器之比,减少服务器和网络负载,并提高客户机在点对点协议 (Point-to-Point Protocol, PPP) 等慢速链路上的性能。

CacheFS 文件系统的工作原理

在客户机系统上创建 CacheFS 文件系统,以便您高速缓存的文件系统可以由客户机在本地访问,而不是通过网络访问。下图说明使用 CacheFS 文件系统时所涉及的各组件的关系。

图 20–1 CacheFS 文件系统的工作原理

CacheFS 组件图。确定来自服务器的后台文件系统与客户机上已高速缓存的文件系统之间的关系。

后台文件系统是指定要在高速缓存中挂载的文件系统。后台文件系统可以是 NFS 或 HSFS(High Sierra File System,高层 Sierra 文件系统)。当用户尝试访问属于后台文件系统的文件时,这些文件放置在高速缓存中。前台文件系统是在高速缓存中挂载并从本地挂载点访问的文件系统。前台文件系统的类型必须是 UFS。

对用户而言,如果是首次请求使用 CacheFS 文件系统中的文件,响应可能会显得较慢。但是,如果以后再次使用同一文件,则响应会变快。

CacheFS 文件系统的结构和行为

每个高速缓存都具有一组确定其结构和行为的参数。这些参数设置为下表中列出的缺省值。缺省值指定将整个前台文件系统用于高速缓存,这是对文件系统进行高速缓存时推荐使用的方法。

表 20–1 CacheFS 文件系统的参数及其缺省值

CacheFS 文件系统的参数 

缺省值 

定义 

maxblocks

90 % 

设置允许 CacheFS 文件系统在前台文件系统内请求的最大块数。 

minblocks

0 % 

设置允许 CacheFS 文件系统在前台文件系统内请求的最小块数。 

threshblocks

85 % 

设置在 CacheFS 文件系统可以请求的块数大于 minblocks 指定的块数之前必须在前台文件系统中可用的块数。

maxfiles

90 % 

设置允许 CacheFS 文件系统在前台文件系统内请求的最大可用 inode 数(文件数)。 

minfiles

0 % 

设置允许 CacheFS 文件系统在前台文件系统内请求的最小可用 inode 数。 

threshfiles

85 % 

设置在 CacheFS 文件系统可以请求大于 minfiles 中指定的文件数之前,前台文件系统中必须提供的 inode 数。

通常,不应更改上述任何参数值。它们设置为缺省值是为了实现最佳的高速缓存行为。但是,如果在前台文件系统中有一些高速缓存未使用的空间,且您希望将它用于其他某个文件系统,则可能需要修改 maxblocksmaxfiles 值。使用 cfsadmin 命令可以实现此操作。例如:


$ cfsadmin -o maxblocks=60