轉載自華為服務支持的磁盤打開crash后肄扎,掉電后文件系統(tǒng)損壞
問題描述
物理機燎悍,開啟磁盤cache,并且沒有開barrier:整機下電后,出現文件系統(tǒng)損壞净神、數據損壞等現象何吝。
原因分析
1. barrier關閉的情況下, 操作系統(tǒng)層面鹃唯,按照數據爱榕、日志、元數據順序下發(fā)坡慌,只能保證這部分數據按順序下發(fā)到raid 卡cache或者磁盤cache 黔酥, 并不保證落入磁盤。
而raid cache和磁盤cache洪橘,從經驗來看跪者,并沒有保證先進先落盤,掉電的時候熄求,任何IO均可能丟失渣玲。
這種情況下,可能出現各種損壞現象:
靜態(tài)配置文件被刪除
文件名稱和屬性顯示”??”
文件數據損壞
………
2. barrier打開的情況下弟晚,下發(fā)完數據忘衍,日志和元數據后,分別會通知RAID控制卡和cache強制flush卿城,從而保證順序枚钓。
barrier=on是默認模式,但是需要關注存在不生效的情況瑟押,如下圖所示:
磁盤初始化時搀捷,如果上報“Write cache:disabled”,則barrier不生效多望。比如RAID 3416指煎,不帶保電功能蹋偏,RAID控制卡無cache,但是磁盤有cache至壤。
解決方法
1. 替換為具備保電能力的SSD卡或者更換保電RAID威始。
2. 關閉磁盤cache,避免異常掉電cache中的IO丟失像街。