10.2. 设置缓存
目前,Red Hat Enterprise Linux 7 只提供 cachefiles 缓存后端。cachefilesd 守护进程启动并管理 cachefiles。
/etc/cachefilesd.conf
文件控制 cachefile 如何提供缓存服务。
在缓存后端中配置的第一个设置是要将哪个目录用作缓存。要配置它,请使用以下参数:
$ dir /path/to/cache
通常,缓存后端目录在
/etc/cachefilesd.conf
中被设置为 /var/cache/fscache
,如下所示:
$ dir /var/cache/fscache
如果要更改缓存后端目录,selinux 上下文必须与
/var/cache/fscache
相同:
#
semanage fcontext -a -e /var/cache/fscache /path/to/cache#
restorecon -Rv /path/to/cache
在设置缓存时,将 /path/to/cache 替换为目录名称。
注意
如果给定的设置 selinux 上下文的命令无法工作,请使用以下命令:
#
semanage permissive -a cachefilesd_t#
semanage permissive -a cachefiles_kernel_t
FS-Cache 会将缓存存储在托管 /path/to/cache 的文件系统中。在笔记本电脑上,建议使用 root 文件系统(
/
)作为主机文件系统,但对于桌面计算机而言,更谨慎地挂载专门用于缓存的磁盘分区。
支持 FS-Cache 缓存后端所需的功能的文件系统包括以下文件系统的 Red Hat Enterprise Linux 7 实现:
- ext3(启用了扩展属性)
- ext4
- Btrfs
- XFS
主机文件系统必须支持用户定义的扩展属性;FS-Cache 使用这些属性来存储一致的维护信息。要为 ext3 文件系统(例如 设备)启用用户定义的扩展属性,请使用:
# tune2fs -o user_xattr /dev/device
另外,也可在挂载时启用文件系统的扩展属性,如下所示:
# mount /dev/device /path/to/cache -o user_xattr
缓存后端的工作原理是在托管缓存的分区上维护一定数量的空闲空间。当系统的其他元素耗尽空闲空间时,它会增长和收缩缓存,使得可以在根文件系统(例如,在笔记本电脑上)上安全地使用。FS-Cache 对此行为设置默认值,可以通过 缓存剔除限制 进行配置。有关配置缓存剔除限制的详情,请参考 第 10.4 节 “设置缓存剔除限制”。
配置文件就位后,启动
cachefilesd
服务:
#
systemctl start cachefilesd
要将 cachefilesd 配置为在引导时启动,请以 root 用户身份执行以下命令:
#
systemctl enable cachefilesd