System Administration Guide: Devices and File Systems
Previous Next

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
Graphic of CacheFS components. Identifies the relationship between the back file system from the server and the cached file system on the client.

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
Previous Next