何时何地使用 rw、nofail、noatime、discard、defaults?

何时何地使用 rw、nofail、noatime、discard、defaults?

我正在使用 OpenStack Cloud 并在 RHEL 7 上使用 LVM 来管理卷。根据我的用例,我应该能够将这些卷分离和附加到不同的实例。

在更新 fstab 时,我defaults,nofail现在已经使用了,但我不确定我到底应该使用什么。我知道这些选项:

rw, nofail, noatime, discard, defaults 

但我不知道如何使用它们。我的用例的理想配置应该是什么?

答案1

正如@ilkkachu 所说,如果你看一下mount(8)手册页,您所有的疑虑都应该消失。引用手册页:

-w, --rw, --read-write
   Mount the filesystem read/write. This is the default. A synonym is -o rw.

方法:根本不需要,因为这rw是默认设置,并且它是defaults选项的一部分

nofail Do not report errors for this device if it does not exist.

方法:如果启动后使用fstab挂载设备未启用,则不会报错。您需要知道如果未安装磁盘,是否可以忽略该磁盘。对 USB 驱动程序非常有用,但我认为在服务器上使用它没有意义......

noatime
   Do not update inode access times on this filesystem (e.g., for faster access on the 
   news spool to speed up news servers).

方法:无读操作是文件系统上的“纯”读操作。即使您只是cat file举例,一点点写入操作也会更新inode该文件的上次访问时间。它在某些情况下非常有用(例如缓存服务器),但如果用于 Dropbox 等同步技术,则可能会很危险。如果没有设置或忽略 noatime,我无法在这里判断什么对您来说是最好的......

discard/nodiscard
   Controls whether ext4 should issue discard/TRIM commands to the underlying block device 
   when blocks  are  freed.This  is  useful  for  SSD  devices  and  sparse/thinly
   -provisioned LUNs, but it is off by default until sufficient testing has been done.

方法:SSD 的 TRIM 功能。花点时间阅读这个人的文章,并探测您的 SSD 是否支持此功能(几乎所有现代 SSD 都支持它)。hdparm -I /dev/sdx | grep "TRIM supported"会告诉您您的 SSD 是否支持修剪。

就今天而言,您可以通过以下方式实现更好的性能和数据健康状况:定期修剪而不是不断修剪你的fstab.甚至还有一个内核设备黑名单用于连续修剪,因为它可能因非排队操作而导致数据损坏。

defaults
  Use default options: rw, suid, dev, exec, auto, nouser, and async.

长话短说:关于你的问题,rw可以删除(defaults已经暗示了rw),nofail取决于你,noatime取决于你,同样的方式discard取决于你的硬件功能。

答案2

我发现信息说这非常重要禁用丢弃安装选项Linux 下的 SSD(-o nodiscard)。这是引用和链接:

关联:

https://www.intel.com/content/dam/support/us/en/documents/ssdc/data-center-ssds/Intel_Linux_NVMe_Guide_330602-002.pdf

引自第6页:

“文件系统建议

重要提示:不要丢弃文件系统使用中的块。

在创建 Linux 文件系统时,请务必关闭丢弃选项。您希望允许 SSD 使用 SSD 控制器中更高级、更一致的方法管理 NVM(非易失性存储器)和主机之间的块及其活动。

核心文件系统:

• ext4 – 默认的扩展选项不会在文件系统创建时丢弃块,保​​留它,并且不要像某些信息会告诉您的那样添加“丢弃”扩展选项。

• xfs – 对于 mkfs.xfs,添加 –K 选项,以便您不会丢弃块。

如果您要使用软件 RAID,建议使用 128k 的块大小作为起点,具体取决于您要运行的工作负载。你必须时刻测试你的工作量。”

正如您所看到的,制造商本身(英特尔)如此强烈地表达了这一点,以至于他们在文本中重复了五次,其中四次是明确的,一次是通过专业人士理解的逻辑重复的。这是制造商非常强调的。此外,这款 SSD 也毫不逊色:它是几年前售价 1,200 美元的英特尔 SSD。

我不知道“修剪”选项与此有什么关系;我正在传递文件中的信息。该文档的日期为 2015 年 3 月,修订版 2.0,并更新为 Linux 内核 3.19(该文档在第 2 页列出了该版本)。

答案3

defaults,(或,defaults) 永远不需要。

我不知道为什么例子中man fstab使用它:-(。

使用的原因defaults是如果您不需要提供任何选项。你需要一些如果您想为下一列提供值,则要放入选项列中的单词。

相关内容