Overview of the CacheFS File System
The CacheFS file system is a general purpose caching mechanism that improves NFS
server performance and scalability by reducing server and network load. Designed as a
layered file system, the CacheFS file system provides the ability to cache one
file system on another file system. In an NFS environment, the CacheFS file
system increases the client per server ratio, reduces server and network loads, and
improves performance for clients on slow links, such as Point-to-Point Protocol (PPP).
How a CacheFS File System Works
You create a CacheFS file system on a client system so that
file systems you cache can be accessed by the client locally instead of
across the network. The following figure shows the relationship of the components that
are involved in using CacheFS file systems.
Figure 20-1 How a CacheFS File System Works
The back file system is the file system that you specify to be
mounted in the cache. A back file system can be either NFS
or HSFS (High Sierra File System). When the user attempts to access files
that are part of the back file system, those files are placed in
the cache. The front file system is the file system that is
mounted in the cache and is accessed from the local mount point. The
front file system type must be UFS.
To the user, the initial request to access a file in a
CacheFS file system might seem slow. However, subsequent uses of the same file
are faster.
CacheFS File System Structure and Behavior
Each cache has a set of parameters that determines the cache structure and
how it behaves. The parameters are set to the default values listed in
the following table. The default values specify that the entire front file system
is used for caching, which is the recommended method of caching file systems.
Table 20-1 CacheFS File System Parameters and Their Default Values
CacheFS File System Parameter |
Default Value |
Definition |
maxblocks |
90 % |
Sets the maximum number of blocks that
a CacheFS file system is allowed to claim within the front file system. |
minblocks |
0
% |
Sets the minimum number of blocks that a CacheFS file system is
allowed to claim within the front file system. |
threshblocks |
85 % |
Sets the number of blocks
that must be available in the front file system before a CacheFS file
system can claim more than the blocks specified by minblocks. |
maxfiles |
90 % |
Sets the
maximum number of available inodes (number of files) that a CacheFS file system
is allowed to claim within the front file system. |
minfiles |
0 % |
Sets the minimum
number of available inodes that a CacheFS file system is allowed to claim
within the front file system. |
threshfiles |
85 % |
Sets the number of inodes that must
be available in the front file system before a CacheFS file system can
claim more files than is specified in minfiles. |
Typically, you should not change any of these parameter values. They are set
to default values to achieve optimal cache behavior. However, you might want to
modify the maxblocks and maxfiles values if you have some room in the
front file system that is not used by the cache, and you want
to use it for some other file system. You do so by
using the cfsadmin command. For example:
$ cfsadmin -o maxblocks=60