由異常掉電問題---談xfs文件系統

本文皆是做者本身的學習總結或感悟(linux環境),若有不對,歡迎提出一塊兒探討!!linux

目錄結構緩存

  一.相關知識數據結構

  二.問題提出多線程

  三.處理方法函數

  四.最終結果學習

 

1、相關知識測試

1.xfs文件系統(概念性知識網上不少,本身去查嘍)優化

  文件系統的定義:操作系統

    文件系統是操做系統用於明確存儲設備(常見的是磁盤,也有基於NAND Flash的固態硬盤)或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。線程

  xfs文件系統:

    是一個日誌型文件系統

    日誌文件系統?加一個日誌來記錄文件系統的更改,即便在斷電或者是操做系統崩潰的狀況下也能保證文件系統一致性

    怎麼保持的?

    要向磁盤寫數據的時候,確定要改變元數據,日誌就要在這以前記錄要怎麼去改元數據的,當發生異常掉電或者文件系統崩潰後,進行修復時會檢查文件系統的一致性,當出現不一致  時,可經過它來恢復。

                                                      (在數據下刷到磁盤以前,會先將對元數據的變更存放在日誌中)

2.VM參數

  1.Vm( virtual memory )是什麼

    1).不一樣的linux 內核版本,VM的參數是不同的,本文介紹的kernel 3.4.24-v64

    2).VM的相關參數位於/proc/sys/vm,用來優化虛擬內存的

    3)./proc這個目錄?  Linux 內核提供了一種經過 /proc 文件系統,在運行時訪問內核內部數據結構、改變內核設置的機制。proc文件系統是一個僞文件系統,它只存在內存當中,而     不佔用外存空間。它以文件系統的方式爲訪問系統內核數據的操做提供接口。用戶和應用程序能夠經過proc獲得系統的信息,並能夠改變內核的某些參數。因爲系統的信息,如進程,    是動態改變的,因此用戶或應用程序讀取proc文件時,proc文件系統是動態從系統內核讀出所需信息並提交的。

    4). /proc/sys包含了系統信息和內核參數

    5). /etc/sysctl.conf全部內核配置信息,可作永久性修改

  注:因爲VM參數較多,感興趣的話可參考個人另外一篇隨筆《vm參數簡介》

 

3.XFS文件系統參數

  1.這個網上內容比較少,我作以下幾點介紹

    1)xfs文件系統各個參數只有在xfs文件系統被掛載到linux系統上時,咱們才能獲取到。

    2)xfs文件系統的參數位於/proc/sys/fs/xfs裏,能夠實時查看或調試各個參數

  注:XFS參數較多,感興趣的話能夠參考個人另外一篇隨筆《XFS參數簡介》

 

4.個人理解:VM參數和XFS參數是兩套控制緩存的參數,他們應該具備如下的關係:

  vm參數與xfs參數影響的階段不一樣:

  這裏面涉及到的是linux的緩存機制,詳細信息請參考《Linux 內核的文件 Cache 管理機制介紹》

 與《Linux 文件系統剖析》這裏我作簡單的介紹:linux在具體文件系統(ext3,xfs,fat32等等)之上,存在了虛擬文件系統。虛擬文件系統對具體文件系統進行了‘封裝’,這也使得linux能夠掛載多種文件系統,但只使用同一套的函數或者命令。對於文件系統的緩存,這裏細分了page cache和buffer cache。他們都存在於內存中,可是page cache主要用於緩存文件的內容,用於頻繁的讀取,buffer cache則用於將數據下刷到磁盤。經過實驗能夠發現,當用dd寫裸設備時,buffer cache增加迅速,當像文件系統裏copy數據時,page cache增加迅速。具體請參考文檔

2、問題的提出

寫這篇文章是由於帶有xfs文件系統的機器上,在有IO的狀況下出現異常掉電時,文件系統會出現損壞(不一致,數據丟失等)。當對這個xfs文件進行修復時,文件系統爲十幾T的狀況下,修復時間很是慢,咱們最終也沒有解決這個問題,估計現階段除了使用PMBUS電池或者UPS,尚未更好的方法來解決xfs文件系統異常掉電問題。

 

3、處理方法

咱們主要針對如下變量進行了測試:

1.VM參數的dirty_radio與dirty_background_radio

2.xfs參數的age_buffer_centisecs、xfsbufd_centisecs、xfssyncd_centisecs

3.mkfs.xfs參數

4.mount參數

5.內存大小

6.cpu多線程

 

注:詳細的測試結果和處理方法因爲商業機密,不能泄露

 

4、最終結果

這裏我給你們展現一下華爲公司針對xfs修復的一個流程:

 

結束:但願提出更多關於xfs文件系統修復相關的建議,謝謝!

相關文章
相關標籤/搜索