Cache

writeback模式下的LVM記憶體相當於外部ext4日誌?

  • August 30, 2019

我在 LVM 上執行 ext4 文件系統。我正在研究的兩大加速選項是 LVM 記憶體和外部 ext4 日誌。

聽起來如果我為此使用單個 SSD,寫回模式下的 LVM 記憶體與將 ext4 日誌放在外部設備上是一樣的……基本上,如果發生任何事情,您將重置為日誌前位置。

這是一個正確的解釋嗎?

外部日誌與 LVM 記憶體設備完全不同。SSD 上用於寫回的 LVM 記憶體不會是易失性的,因此對數據完整性的擔憂並不大(除非該記憶體設備突然發生故障 - 而且該記憶體設備實際上可以是 RAID本身通過 Linux MD 或類似的)。

EXT4 意圖日誌由許多小型寫入組成,這些寫入受益於快速低延遲的儲存設備,無論是外部設備還是儲存數據的同一設備。將旋轉介質用於數據磁碟時,這與高度隨機和跨國工作負載相關。

回寫記憶體將寫入合併在一起,因此寫入大部分是順序的,但不區分數據和元數據,特別是日誌。它將站在所有寫入之前,記憶體所有內容,然後在給定記憶體數據集的刷新期間以盡可能順序的方式將寫入排隊到磁碟。刷新命令與寫屏障命令同時發送(以給定的時間間隔),確保其支持設備上的非損壞狀態。

如果寫回記憶體突然完全死掉,你會在文件系統上浪費一些時間,但它仍然是一致的。(編輯:此聲明在下面的評論中直接存在爭議,該評論警告嚴重的文件系統損壞。)這可以通過 RAID1 記憶體設備來緩解。

如果日誌設備當機,您將無法掛載文件系統,直到使用# tune2fs -O ^has_journal /path/to/ext4device. 在這種情況下,您必須使用完整的 fsck 掃描來修復此文件系統(在某些情況下會花費很多時間)。如果在斷電期間或之前發生這種情況,您也可能會看到損壞。

引用自:https://serverfault.com/questions/808259