Ext4

斷電後零字節文件-ext4 centos 6.4

  • August 6, 2013

當系統恢復時,在電源故障後一分鐘內寫入的文件是零字節。測試一個我們不能保證會有 ups 備份的系統。

Centos 6.4

核心 2.6.32-358.14.1.el6.x86_64

ext4 預設掛載

看到這發生在 2 個不同的系統上(我嘗試過的只有兩個)

第一個使用 PERC h710 控制器 RAID 6 和 4 個 3TB 驅動器。

它發生在有和沒有 lvm的情況下

它發生在直寫和回寫記憶體中。

2nd 沒有 RAID 控制器 2TB 磁碟

僅在沒有 lvm 的情況下測試

關於如何防止這種情況的建議?

根據您的描述,這聽起來像作業系統沒有將您的數據刷新到磁碟,因為您確實擁有文件元數據,只是沒有任何內容/長度。

write(2)絕不保證您的數據已命中磁碟(除非您使用 O_DIRECT打開(2)您的文件),您是在作業系統/文件系統的要求下,並且當它決定刷新數據/元數據時到磁碟。為了保證您的數據被安全地藏起來,您有兩種選擇:

最大的警告是記憶體(可能會或可能不會)在驅動器和raid控制器上都有電池支持,特別是有些驅動器會將您的寫入放在它們的內部ram記憶體上並聲明它們已經寫入它,在某個時間視窗中,斷電會使您失去數據。

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