Linux系統XFS文件系統簡介

Linux系統XFS文件系統簡介

從Centos 7開始Linux原來默認的ext4文件系統已經變成了xfs文件系統了,使用功能更加強大的xfs文件系統的原因可以總結如下:

1、ext系列文件系統的優缺點是支持度最廣,但是做成文件系統所使用的時間漫長;

這是因為ext系列文件系統在進行格式化時已經分配好i節點、區塊、元數據等數據,做成ext文件系統後就可以直接使用,不需要再進行動態配置,這就是它的命門所在,當磁盤容量還不大的情況下可以接受,但是磁盤很大的情況下,創建文件系統的過程就非常漫長了。而現在的系統特別是虛擬化系統的文件都很大,在處理大文件時就應該考慮到性能問題。而xfs文件系統更加適合高容量磁盤與巨型文件,且性能較好的文件系統,其工作原理與ext系列文件系統不太一樣。

2、xfs文件系統的配置特點

跟ext文件系統一樣,從ext3開始ext系列文件系統就具有日誌功能,而xfs基本上就是一個日誌文件系統,並且xfs文件系統幾乎支持所有的ext4文件系統的功能。

xfs文件系統的規劃配置:

其規劃為三個部分:①數據區(data section)②文件系統活動登錄區(log section)③實時運行區(realtime section)等。

各個部分的內容如下:

⑴數據區(data section)

這個部分跟ext系列一樣,包括i節點、數據區塊、超級區塊等數據,其也分多個存儲區群組(allocation groups)來分別放置文件系統所需要的數據。每一個存儲區群組都會包含:①整個文件系統的超級區塊;②剩餘空間的管理機制;③i節點的分配與追蹤。此外,其i節點與區塊都是要使用時才動態配置產生,所以格式化超級快。如圖3-13所示。

Linux系統XFS文件系統簡介

在xfs文件系統中,區塊與i節點的容量大小的配置選擇問題,區塊的容量可在512B~64K之間選擇,但是,由於其它原因(如頁面文件pagesize的容量)等,最高只可選擇4K的容量。i節點的容量可以在256B~2MB之間進行選擇,在Centos 7中默認會選擇512B,通常選擇256B即可。

⑵文件系統活動登錄區(log section)

這個區就像日誌一樣主要用來記錄文件系統的變化情況,當文件發生變化時,就會在這個區中記錄下來,一直到該變化完整地寫入到數據區後,該條記錄才會被結束。並且當系統崩潰時,也會在這個區中檢驗損壞情況,因此,這個區活動相當頻繁,也因為文件系統的所有操作都是在這個區中做個記錄。在xfs文件系統中這個區支持指定外部的存儲設備來保存這個區塊的內容,因此,你可以選擇存取速度更快的磁盤來存儲這些數據。

⑶實時運行區(realtime section)

它的工作過程是這樣的,當有文件被創建時,會在這個區段裡找一個或多個的extent區塊(根據文件大小選擇區塊的數據),並把文件暫時放置到這個區塊內,等到分配完成後,再寫入到數據區(data section)中的i節點與區塊中

extent區塊的大小要在格式化的時候要先指定大小,它的值在4K~1G之間。一般非磁盤陳列的磁盤默認為64K容量,而如果具有類似磁盤陳列的stripe情況下,則應該將其大小設置為與stripe一樣大,通常情況下這個值不改變為最好,因為它會影響到物理磁盤的性能。

3、查看XFS文件系統的描述信息

可以使用xfs_info命令去查看已經格式成xfs文件系統的描述信息,如下圖3-14所示。

Linux系統XFS文件系統簡介


解釋:

meta-data這一行,isize指i節點的容量,其大小為512B,agcount則為AG(存儲區群組)的數量,其值為4個,agsize指每個存儲區群組的區塊個數,其值為131007個,而區塊的大小為4K,因此,整個文件系統的容量可以這樣計算:4×131007×4K=2096112K約為2G。

data 這一行,bsize則為區塊的容量,每個區塊的容量是4K,其有524027個區塊。

log這一行,log=internal,表示這個登錄區的位置在文件系統內,而不是外部設備的意思,其容量為4096×2560=10485760KB≈10MB。

上面所列的數值,如果值為0的一般是沒有定義。


分享到:


相關文章: