我正在使用 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)。這是引用和連結:
關聯:
引自第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
是如果您不需要提供任何選項。你需要一些如果您想為下一列提供值,則要放入選項列中的單字。