tft每日頭條

 > 科技

 > 本地磁盤默認文件類型

本地磁盤默認文件類型

科技 更新时间:2024-09-30 21:56:53

文件系統的核心功能就是實現對磁盤空間的管理,要知道哪些空間可以用,哪些空間不可以用。

基于固定功能區

典型文件系統: Linux ExtX

ExtX将磁盤劃分為等份的若幹區域,這個區域被稱為塊組,磁盤空間的管理以塊組為單位,以下是磁盤分區的布局圖(以4K邏輯塊大小為例),其中塊組0最複雜,其他的相似。

本地磁盤默認文件類型(常見本地文件系統磁盤空間布局)1

ext2磁盤布局

概念說明:

  • 超級塊:存儲文件系統級别的信息,比如邏輯塊大小、挂載點等
  • 塊組描述符表:ext文件系統每一個塊組信息使用32字節描述,這32個字節稱為塊組描述符,所有塊組的塊組描述符組成塊組描述符表GDT(group descriptor table)。假如block大小為4KB的文件系統劃分了143個塊組,每個塊組描述符32字節,那麼GDT就需要143*32=4576字節即兩個block來存放。
  • 預留GDT塊:保留GDT用于以後擴容文件系統使用,防止擴容後塊組太多,使得塊組描述符超出當前存儲GDT的blocks。
  • inode:索引節點,即索引數據的節點,一個inode對應一個文件,通常每個塊組有若幹的inode,稱為inode表。
    • 由于inode數量固定,且存儲形式固定,可以根據偏移給與編号,即ino_id。
  • 位圖,包括數據塊位圖和inode位圖,用來描述對應資源的使用,0表示未使用,1表示已經使用。

我們使用如下命令可以創建并格式化一個文件系統:

brdd if=/dev/zero of=30m.file bs=1M count=30br mkfs.ext2 30m.file -b 1K

然後使用dump2fs查看

本地磁盤默認文件類型(常見本地文件系統磁盤空間布局)2

Ext2 磁盤布局實例-1

如果塊大小為4K,那麼有如下塊組:

本地磁盤默認文件類型(常見本地文件系統磁盤空間布局)3

Ext2磁盤布局實例-2

原因:ExtX使用邏輯塊存儲數據位圖,當block = 1K時,對應的數據塊位圖可以管理1024 * 8個數據塊,即1024[一個block的size] * (1024 * 8) [block的數量]= 8M的空間,30M就需要4個塊組;當block = 4K時,對應的數據塊位圖可以管理4 * 1024 * 8個數據塊,即(4 * 1024) * (4 * 1028 *8) = 128M, 因此一個塊組就可以。

基于非固定功能區

基于固定功能區的 磁盤空間管理布局空間智能清晰,便于手動進行丢失數據恢複,但是也容易出現資源不足的情況,比如海量小文件場景。

非固定功能區的磁盤空間管理也分為數據和元數據,但是元數據和數據的區域非固定,随着文件系統對資源的需求而動态分配,典型有XFS和NTFS。

XFS文件系統将磁盤劃分為等份的區域,稱為分配組(AG),XFS對每個分配組進行獨立管理,AG的容量可以很大,最大可以達到1TB。

本地磁盤默認文件類型(常見本地文件系統磁盤空間布局)4

xfs磁盤布局

概念說明:

XFS文件系統通過兩個B 樹來追蹤空閑空間,一個是基于塊編号索引,另一個是基于空閑塊的大小索引。

  • AGF(AG Free Space Block):磁盤空間管理通過兩個B 樹來實現,一個B 樹通過塊的編号來管理,一個B 樹通過剩餘塊的大小來管理,通過兩個不同的B 樹實現對剩餘空間的快速查找。
  • AGI(AG Inode Management):通過一個B 樹管理inode,将64個inode(默認大小是256字節)打包為一個塊(chunk),改塊作為B 樹的一個葉子節點。inode的位置不固定,其編号分為相對inode編号和絕對inode編号兩種。相對inode編号是指針對AG的編号,絕對inode編号是在整個文件系統中的編号。
  • AGFL(AG Free List):包含了在AG空間内一個存放指向預留空間的塊指針的數組。這個空間不能用于任何類型的用戶數據。
基于數據追加的磁盤空間管理

前面的磁盤布局方式都是原地修改,在随機IO比較多的情況下,不太适合SS設備,基于數據追加的磁盤布局方式,對數據的變更并非在原地修改,而是追加寫的方式寫到後面的剩餘空間,将随機寫轉化為順序寫。比如NILFS2。

NILFS2将磁盤劃分為若幹的Segment,Segment默認大小是8M。

本地磁盤默認文件類型(常見本地文件系統磁盤空間布局)5

NILFS2磁盤布局

NILFS2将文件分為若幹類,分别是常規文件、目錄文件、鍊接文件和元數據文件。而元數據文件包括:

  • inode文件(ifile):存儲inode
  • 檢查點文件(cpfile):存儲檢查點
  • 段使用文件(sufile):存儲段的使用狀态
  • 數據地址轉換文件(DAT):虛拟塊号和常規塊号的映射
,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved