首页
/
每日頭條
/
科技
/
本地磁盤默認文件類型
本地磁盤默認文件類型
更新时间:2024-08-30 03:24: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):虛拟塊号和常規塊号的映射
,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
釣魚時應不應該露鈎
釣魚時應不應該露鈎
1、在用葷餌挂鈎的時候我們會遇到一個問題,那就是到底要不要把鈎尖露出來。有釣友表示不要露,以防被魚類發現;也有釣友表示要露出來,否則會刺魚無力。雙方其實都有道理,而且都沒有什麼錯。具體是否露鈎尖,要根據葷餌的種類來決定。2、一方面,在使用紅蟲、蚯蚓等葷餌時,是需要把鈎尖藏起來的。因為此類葷餌的體型都...
2024-08-30
cad教程全集完整版(某寶付費的CAD教程)
cad教程全集完整版(某寶付費的CAD教程)
  常聽CAD大神們講述自己在畫CAD的過程中是多麼神聖,多麼精彩,但這對小白來說簡直是一場場噩夢,常說實踐是最好的課程學習,畢竟孰能生巧嘛,小白在聽課的時候出現學習過沒一會兒又忘記了,最後啥都不會。   小編這兩天也有特意的去尋找真正好用的教程,本期文章就給大家推薦真正有意義的CAD教程資源,并附帶了軟件安裝包。   資源簡介這次帶來了這個教程可謂是非常豐...
2024-08-30
49歲隐形富豪排行(高調的江蘇巨富)
49歲隐形富豪排行(高調的江蘇巨富)
  文:秉文   他曾是一名公務員,不懂電腦,卻偏偏靠倒騰電腦配件發家,如今坐擁1300億商業帝國,喝酒隻喝拉菲,還擁有三架私人飛機。這個厲害的企業家就是三胞集團的創始人——袁亞非。      ​   袁亞非于1964年出生于重慶的一個軍人家庭,祖籍江蘇豐縣。他的父親兩三年就要換一次防,年幼的他就跟着父親全國跑。直到高中,他們一家才在南京的一個部隊大院安頓下...
2024-08-30
芍藥多久時間澆一次水适合
芍藥多久時間澆一次水适合
1、澆水時間:芍藥一年四季都可以澆水,由于本身有不錯的耐旱性,對水分的需求不高,因此不宜在陰雨天進行澆灌,不然容易太過潮濕,導緻細菌滋生,引發病蟲害。通常在晴天進行澆水,夏季需要避開中午,不然水分蒸發太快,導緻地溫降低。2、澆水間隔:芍藥澆水一般要幹透澆透,所以很難控制澆水間隔,通常情況下春秋季每隔...
2024-08-30
薰衣草怎麼養
薰衣草怎麼養
1、光照:薰衣草适宜生長在光照充足的環境中,每天光照時間不能低于6小時。如果太過陰暗,植株就會發育不良,還會影響植株開花。如果卧室的采光比較好的話,可以放在靠窗的位置上,不然需要在白天移到陽台上曬太陽。2、土壤:薰衣草比較喜歡疏松肥沃的土壤,如果酸性或堿性太強,則不利于根部的生長。一般要用園土、泥炭...
2024-08-30
Copyright 2023-2024 - www.tftnews.com All Rights Reserved