第 2 章 关于 GFS2 使用的建议
在部署 GFS2 文件系统时,您应该考虑各种常规建议。
2.1. 配置 atime
更新
每个文件内节点和目录内节点都有三个与之关联的时间戳:
-
ctime
- 最后一次内节点(inode)状态发生变化的时间 -
mtime
- 修改文件(或目录)数据最后一次的时间 -
atime
- 最后一次访问文件(或目录)数据的时间
如果默认在 GFS2 和其他 Linux 文件系统上启用了 atime
更新,那么每次读取文件时都需要更新其内节点。
因为有些应用程序使用由 atime
提供的信息,因此这些更新可能需要大量不必要的写入流量和文件锁定流量。该流量可能会降低性能,因此最好关闭或降低 atime
更新的频率。
以下是减少 atime
更新影响的方法:
-
使用
relatime
(相对 atime)挂载,如果以前的atime
更新比mtime
或ctime
更新早,则更新atime
。这是 GFS2 文件系统的默认挂载选项。 -
带有
noatime
或nodiratime
的挂载。使用noatime
挂载时会禁用在那个文件系统上的文件和目录的atime
更新;使用nodiratime
挂载会禁用那个文件系统上的目录的atime
更新。通常建议尽可能将 GFS2 文件系统挂载为使用noatime
或nodiratime
挂载选项,而在允许的情况下首选使用noatime
。有关这些参数对 GFS2 文件系统性能的影响的更多信息,请参阅 GFS2 节点锁定。
使用以下命令使用 noatime
Linux 挂载选项挂载 GFS2 文件系统。
mount BlockDevice MountPoint -o noatime
BlockDevice
- 指定 GFS2 文件系统所在的块设备。
MountPoint
- 指定要挂载 GFS2 文件系统的目录。
在这个示例中,GFS2 文件系统位于 /dev/vg01/lvol0
上,并挂载到目录 /mygfs2
中,atime
更新被关闭。
# mount /dev/vg01/lvol0 /mygfs2 -o noatime