Ext4
對於 Ext4,data=journal 是否比 data=ordered 更安全?
Ext4 的預設日誌模式是
data=ordered
,根據文件,這意味著“在將元數據送出給日誌之前,所有數據都被強制直接輸出到主文件系統。”
但是,還有一個
data=journal
選項,這意味著“所有數據在寫入主文件系統之前都已送出到日誌中。啟用此模式將禁用延遲分配和 O_DIRECT 支持。”
我對此的理解是,該
data=journal
模式將記錄所有數據以及元數據,從表面上看,這似乎意味著在數據完整性和可靠性方面這是最安全的選擇,儘管對於性能而言可能不是那麼多。如果可靠性是最重要的問題,我應該選擇這個選項,但性能要低得多嗎?使用此選項有什麼注意事項嗎?
作為背景,有問題的系統位於 UPS 上,並且驅動器上的寫入記憶體已禁用。
是的,
data=journal
這是將數據寫入磁碟的最安全方式。由於所有數據和元數據在寫入磁碟之前都已寫入日誌,因此您始終可以在崩潰的情況下重播中斷的 I/O 作業。它還會禁用延遲分配功能,這可能會導致數據失去。這 3 種模式在手冊中按安全順序排列:
- 數據=期刊
- 數據=有序
- 數據=回寫
還有另一個您可能感興趣的選項:
commit=nrsec (*) Ext4 can be told to sync all its data and metadata every 'nrsec' seconds. The default value is 5 seconds.
唯一已知的警告是它可能會變得非常緩慢。
noatime
您可以通過使用該選項禁用訪問時間更新來降低性能影響。