全部產品
Search
文件中心

Elastic Compute Service:ext4檔案系統掛載參數說明

更新時間:Sep 03, 2024

在Linux系統中通過mount命令為雲端硬碟掛載ext4檔案系統時,您可以根據業務需求使用不同的掛載參數,以滿足您對檔案系統的資料安全性和效能要求。

對資料安全性和效能都有一定要求

如果您對檔案系統的資料安全性和效能都有一定要求,建議在mount命令中不指定任何參數掛載檔案系統。

sudo mount /dev/vdb /media/test
說明

該命令會預設攜帶defaults參數,defaults預設包括rwatimesuiddevexecasyncautonouserdelallocdata=orderedbarriernodiscard,不再需要指定其他掛載參數。

該方式預設啟用寫入緩衝、讀寫權限控制、檔案系統日誌等功能,這些功能可以提高檔案系統的效能和穩定性,並提供資料的完整性和保護。

  • 優點:對檔案系統的資料安全性和效能都有一定的保障。

  • 缺點:

    • 對檔案系統資料安全性的影響:由於部分使用者資料、檔案系統中繼資料仍在記憶體中未寫入硬碟,因此會存在資料丟失的風險。

    • 對檔案系統效能的影響:

      • 自動更新每個檔案的訪問時間,以及讀寫資料時檔案系統會自動記錄中繼資料動作記錄,這會導致檔案系統自身產生大量的寫操作。

      • 當資料從記憶體寫入磁碟時才真正分配資料區塊,會有一次周期性的大塊寫操作,導致資料區塊分配延遲。

資料安全性要求較高

如果您非常重視檔案系統的資料安全,建議在mount命令中使用rwatimesyncbarrierdata=journal參數掛載檔案系統。

sudo mount -o rw,atime,sync,barrier,data=journal /dev/vdb /media/test
重要

使用atimesyncbarrierdata=journal參數會影響檔案系統的效能,請您謹慎選擇。具體影響程度與執行個體的規格、使用者業務模型相關,例如:

  • 對於大量讀寫IO密集型業務,因為每一次IO操作都需要寫入硬碟,因此效能受到的影響大於一般業務。

  • 由於硬體寫入速度本身的限制,使用該參數後,HDD規格的執行個體(例如HDD本地碟)受到的效能影響也會大於SSD規格的執行個體(例如SSD雲端硬碟、ESSD雲端硬碟)。

當軟體發生崩潰或者硬體發生宕機時,如果使用預設的掛載方式(不指定掛載參數)掛載檔案系統,由於部分使用者資料、檔案系統中繼資料仍在記憶體中未寫入硬碟,因此會有資料丟失的風險。如果使用本情境推薦的掛載參數,任何記憶體的修改都會同步寫入磁碟,並且所有資料第一時間保序寫入檔案系統日誌。即使發生低機率異常,檔案系統恢複後也能保證資料不丟失。

  • 優點:資料安全性高,可以確保系統宕機後檔案系統的資料不丟失。

  • 缺點:檔案系統效能下降。

效能要求較高

如果您非常重視效能,建議在mount命令中使用defaultsnoatimenodiratimenobarriernodelallocdata=writeback參數掛載檔案系統。

sudo mount -o defaults,noatime,nodiratime,nobarrier,nodelalloc,data=writeback /dev/vdb /media/test
重要

使用noatimenodiratimenobarrierdata=writeback參數會降低資料的安全性,請您謹慎選擇。

  • 當使用預設的掛載方式(不指定掛載參數)掛載檔案系統時,每一次檔案操作都會被記錄,資料區塊會延遲分配,對效能產生影響。

  • 當使用sync將記憶體中的資料操作寫入硬碟時,檔案系統會在一次性提交所有日誌的同時進行資料區塊分配,這個操作有可能會導致一個周期性的IO毛刺。對於傳統的HDD介質來說,該功能會減少硬碟寫入的次數,在提升效能的同時也能延長介質壽命,但對於快閃記憶體盤SSD這類高效的儲存介質來說,並不會對效能帶來明顯提升。

因此建議您使用該方式掛載檔案系統,通過關閉資料區塊延遲分配、關閉日誌保序寫入記憶體、減少對硬碟的寫操作等方式,來提升檔案系統的效能。

  • 優點:檔案系統效能高(高吞吐低延遲)。

  • 缺點:資料安全性較低,宕機後可能丟失檔案系統的資料。

說明
  • 您可以通過cat /proc/fs/ext4/vdb/options命令擷取當前雲端硬碟完整的掛載參數,通過man mount命令或者參考fstab說明查看詳細的參數說明。

  • 如果您還有其他方面的需求,可以根據掛載參數的含義及作用,合理使用mount命令。