XFS檔案系統簡介(xfs info觀察相關資料)

2021-07-23 18:26:46 字數 1498 閱讀 2041

centos 7開始,預設的檔案系統由原來的ext4變成了xfs檔案系統了,那麼,為什麼會做這一改變?xfs是乙個什麼樣的檔案系統?

ext家族的一些缺點:

這裡鳥哥總結了一句:支援度最廣,但格式化超慢。

ext家族對檔案格式化時預先規劃出所有的inode/block及中介資料等,未來系統就可以直接取用,不需再分配。早期的磁碟容量不太大的時候這就可以,但隨著時代的發展,資料量越來越大,磁碟容量越來越大。現在都已經說到pb,eb的資料了,那麼tb以上等級的傳統ext

家族檔案系統在格式化的時候就得廢掉好多時間。。

另外乙個原因,虛擬化的應用現在越來越廣泛,作為虛擬化磁碟**的巨型檔案(單一檔案好幾個g及以上)也就越來越常見。這種巨型檔案在處理上需要考慮到效能的問題,否則虛擬磁碟的效率就會不太好看。

所以,從centos開始,預設的檔案系統由ext4變成了xfs這個較適合高容

量磁碟與巨型檔案效能較佳的檔案系統了。

基本上xfs就是乙個日誌式檔案系統,之所以現在把它當預設的檔案系統

是因為它原本就是被開發用於高容量磁碟以及高效能檔案系統之用的,相當適合於現在的環境。此外,幾乎所有ext4檔案系統具有的功能,xfs都具備。

xfs檔案系統在資料的分布上,主要規劃為三個部分:資料區(data section),檔案系統活動登入區(log section),實時運作(realtime section)。具體如下:

這個區域基本上與之前說的ext家族一樣,包括inode、block、superblock等資料都放在這個區塊。這個資料區與ext家族的block group類似,分多個儲存區群組(allocation groups)。每個儲存區群組中都包含了整個檔案系統的superblock,剩餘空間的管理機制,inode的分配與追蹤。此外,inode,block都是系統需要用到時才會動態配置產生,所以格式化動作較ext家族快了很多。

其實,只需要把這個資料區的儲存區群組當成ext的block群組就可以了,只是inode與block是動態產生的,並非一開始於格式化就完成配置的。

這個區域主要被用來記錄檔案系統的變化,具體原理和之前說的相同。

因為系統所有的動作都會在這個區域做個記錄所以這個區域的磁碟活動是相當頻繁的,xfs的設計在這裡有乙個巧妙之處,你可以指定外部的磁碟來作為xfs檔案系統的日誌管理區塊。例如,你可以將ssd磁碟作為xfs的檔案系統活動登入區,這樣,當系統需要進行任何活動時,就可以更迅速的工作。

當有檔案要被建立時,xfs會在這個區段裡找乙個到數個extent區塊,將檔案放置在這個區塊中,等到分配完畢後,再寫入到data section的inode和block中。這個extent區塊的大小得要在格式化的時候就先指定,最小值為4k最大可到1g。一般非磁碟陣列的磁碟預設為64k容量,而具有類似磁碟陣列的stripe情況下,則建議extent設定為與stripe一樣大較佳。這個extent最好不要亂動,因為可能會影響到實體磁碟的效能。

下面解釋一下以上輸出的資訊:

xfs檔案系統

debain linux核心的 b ubuntu系統安裝xfs b 安裝時候直接可以選擇格式化分割槽為xfs。安裝系統之後的安裝方法也很簡單 apt cache search xfs grep xfs apt get install xfsprogs b redhat安裝xfs b yum list...

XFS檔案系統擴容

xfs檔案系統擴容 注意 備份!備份!備份!操作前備份!檢視磁碟掛載 分割槽資訊 root bj centos7 df ht grep vdc dev vdc1 xfs 10g 33m 10g 1 vdc1 root bj centos7 root bj centos7 lsblk dev vdc ...

xfs檔案系統備份 恢復

xfs提供了xfsdump和xfsrestore工具協助備份xfs 檔案系統中的資料。xfsdump按inode順序備份乙個xfs檔案系統。centos7選擇xfs格式作為預設檔案系統,而且不再使用以前的ext,仍然支援ext4,xfs專為大資料產生,每個單個檔案系統最大可以支援8eb,單個檔案可以...