第 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
mount BlockDevice MountPoint -o noatime
BlockDevice- 指定 GFS2 文件系统所在的块设备。
MountPoint- 指定要挂载 GFS2 文件系统的目录。
在这个示例中,GFS2 文件系统位于 /dev/vg01/lvol0 上,并挂载到目录 /mygfs2,atime更新关闭。
mount /dev/vg01/lvol0 /mygfs2 -o noatime
# mount /dev/vg01/lvol0 /mygfs2 -o noatime