第 2 章 关于 GFS2 使用的建议
在部署 GFS2 文件系统时,您应该考虑各种常规建议。
2.1. 配置 atime
更新
每个文件内节点和目录内节点都有三个与之关联的时间戳:
-
ctime
- 节点状态最后一次更改的时间 -
mtime
- 文件(或目录)数据最后一次修改的时间 -
atime
- 文件(或目录)数据最后一次访问的时间
如果默认在 GFS2 和其他 Linux 文件系统上启用了 atime
更新,那么每次读取文件时都需要更新其内节点。
因为很少有应用程序使用由 atime
提供的信息,因此这些更新可能需要大量不必要的写流量和文件锁定流量。该流量可能会降低性能,因此最好关闭或降低 atime
更新的频率。
以下是减少 atime
更新效果的方法:
-
使用
relatime
(相对 atime)挂载,如果以前的atime
更新比mtime
或ctime
更新晚,则其更新atime
。这是 GFS2 文件系统的默认挂载选项。 -
使用
noatime
或nodiratime
挂载。使用noatime
挂载 会禁用对那个文件系统上文件和目录的atime
更新,而使用nodiratime
的挂载会只禁用对那个文件系统上目录的atime
更新,通常建议尽可能使用noatime
或nodiratime
挂载选项挂载 GFS2 文件系统,而在应用程序允许时,首选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