何時何地使用 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是如果您不需要提供任何選項。你需要一些如果您想為下一列提供值,則要放入選項列中的單字。

相關內容