在 Linux 的 fstab 中使用 noatime 和相关 Gem

Linux 中更重要的配置文件之一是文件系统选项卡:fstab。一般位于 /etc/ 目录,用于定义如何将东西挂载到 Linux 中。这意味着,如果您对自己正在做的事情有一个不错的了解,那么您可以在碰巧运行的任何服务器上享受到相当显着的性能提升,无论它们是物理的还是虚拟的。


不用说,如果您要运行服务器,则需要了解它是如何工作的。

这就是我们今天要讨论的内容。我们将首先解释一下 fstab 的工作原理,然后再介绍您可以定义的不同属性,以便修改它加载文件的方式。当我们完成时,你应该对如何修改你的 Linux 文件系统以提高性能有了一个相对完善的概念——还有很多其他的东西。

无论如何,fstab 是如何工作的?
(本节中的信息由 ArchLinux Wiki 提供)

功能
文件系统选项卡与 systemd 密切相关,因为它包含一系列关于在启动 Linux 安装时应如何、在何处以及以何种顺序加载文件系统的说明——例如,是否特定文件系统应自动安装或手动安装。 systemd 也可以通过 mount 命令初始化。

布局/格式
在访问 fstab 时,您将看到一个表格——当前 Linux 安装可访问的所有不同文件系统将排列成行,每行包含以下字段:

文件系统:这表示要挂载的分区或设备。出于本教程的目的,我们将假设您不会对此感到困惑。
dir:特定文件系统的挂载点。
类型:
选项:
倾倒:
pass:btrfs 系统,在这种情况下应该设置为 0。
如何识别文件系统
假设您已经为所有块设备分配了持久名称,可以通过多种不同的方式指示 fstab 来识别要挂载的文件系统:

使用 lsblk -f 命令
内核名称描述符:在 NAME 列中使用 /dev/ 为所有值添加前缀
标签:
UUIDs:UUID 列中的前缀值与 UUID=
使用 blkid 命令
GPT 标签:文件系统列中带有 PARTLABEL= 的前言条目
GPT UUID:
如果您想查看上述每个方法在 fstab 中的样子,您可以在此处找到示例列表。

无论如何,既然我们已经对 fstab 有了一个实际的了解,让我们来谈谈你可以用它做的一些事情。

什么是 noatime,它如何提高性能?
(本节中的命令来自 howtoforge)

默认情况下,Linux 在使用文件系统时会记录有关三件事的信息:

创建文件的时间。
上次修改文件的时间。
上次访问文件的时间。
这意味着,如果您不对文件系统进行任何更改,则每次访问文件时,您都在执行写入操作——无论您是否修改任何内容。可以理解的是,这会产生不必要的性能开销。这就是 noatime 的用武之地。

通过将 noatime 添加到文件系统的选项部分,您将禁用该系统的 atime 更新——这意味着您将能够访问和读取文件而无需执行磁盘写入操作。

在大多数 Linux 安装中,应用 noatime 是一个相对简单的过程,甚至不需要重新启动。只需像往常一样编辑您的 fstab,然后使用命令 mount -o remount。但是,如果您使用的是 OpenVZ 容器,则需要输入一系列命令:

为虚拟机设置 noatime:vzctl set veid –noatime yes –save
重启虚拟机:vzctl set 101 –noatime yes –save
重启容器:vzctl restart 101
Red Hat 中的过程与上述类似。

nodiratime 和 relatime 是如何影响所有这些的?
现在您了解了 noatime 是什么,让我们进一步扩展,引入两个额外但密切相关的属性:nodiratime 和 relatime。它们可以定义如下:

relatime:仅当自上次 atime 更新后文件或目录已被修改时才执行 atime 更新。
nodiratime:
这两个命令都可以以与 noatime 相同的方式应用于文件系统,但值得注意的是,在某些安装(例如 Ubuntu)中,relatime 默认启用为挂载属性。

您应该了解的其他属性
除了 atime、nodiratime 和 relatime,还有许多其他属性可以应用于文件系统的挂载选项,例如 auto/noauto、dev/nodev、exec/noexec 和 dirsync。如果您愿意,可以在此处找到完整列表——其中包括对每个属性的解释。

摆弄所有这些属性是否有任何风险?
现在,不用说,您在应用时需要小心谨慎
为文件系统添加新属性。 尽管您可能不会完全破坏您的 Linux 安装,但 Linux 中的某些应用程序需要某些属性才能正常运行。 以 noatime 为例:

某些系统包含一个进程或程序,用于删除在一定时间内未访问的文件。 如果您禁用了一次更新,您最终可能会丢失大量工作。
有些应用程序需要定期更新——尤其是像 Mutt 这样的邮件应用程序。
我可以在这里给您的最好建议是,在开始调整安装选项之前,您应该了解您的安装。