Ext3文件系統

什麼是日誌文件系統?

所謂日誌文件系統是在傳統文件系統的基礎上,加入文件系統更改的日誌記錄,它的設計思想是:跟蹤記錄文件系統的變化,並將變化內容記錄入日誌。日誌文件系統在磁盤分區中保存有日誌記錄,寫操作首先是對記錄文件進行操作,若整個寫操作由於某種原因(如系統掉電)而中斷,系統重啓時,會根據日誌記錄來恢復中斷前的寫操作。在日誌文件系統中,所有的文件系統的變化都被記錄到日誌,每隔一定時間,文件系統會將更新後的元數據及文件內容寫入磁盤。在對元數據做任何改變以前,文件系統驅動程序會向日志中寫入一個條目,這個條目描述了它將要做些什麼,然後它修改元數據。


Ext文件系統結構


220909967.png



MBR:

MBR全稱Master Boot record,即硬盤的主引導記錄。前446字節爲引導器,64字節分區表,2字節校驗,大小一共512字節。


Linux文件系統以“Block”做爲存儲單元。

  • Block通常有若干個連續的扇區組成,通常爲1KB,2KB,4KB,8KB,此值大小通常記錄在位於文件系統2-3號扇區的superblock中;

  • 所有的block都被賦予地址,由0開始編號,0號起始於文件系統的第一個扇區;

  • 所有blok被劃分若干個相等的塊組,每個塊組中包含相同數量的block,但由於文件系統可能不是塊大小的整數倍,所以最有一個塊組可能小於其他塊組;

  • 如果superblock定義了文件系統開始出保留的區域,則此區域不屬於任何block,0號block也在保留區域後開始。


SuperBlock:

  • superblock位於系統的1024字節處,爲其分配空間爲1024字節,但其中部分字節並沒使用

  • 由基本信息組成,如塊大小,總塊數,每組塊數以及第一個快前保留塊數,還有inode數量和每塊組inode數量;

  • 還有一些非實質性的數據,如卷名,最後寫入時間,文件系統是否乾淨,是否需要一致性檢查。2使用dumpe2fs可查看信息。dump2fs /dev/sda1;

  • 日誌文件系統會把SuperBlockdatablock裏做一個備份,當SuperBlock更新時,備份也同樣更新;

  • superblockbackup block之間同步的時間15s30s;



GDT(組描述符表):

組描述符表,位於superblock之後,每個組描述符佔用32字節,通常組描述符不會超過一個塊組;記錄block bitmap和inode bitmap等起始位置的信息;


block bitmap(塊位圖):

  • 管理塊組中的塊的分配情況;


inode bitmap(Inode位圖):

  • 位於block bitmap之後,大小隻佔用一個block;

  • 管理組中inode的分配情況;

  • 起始位置在GDT中給出,通常inode數量小於組中的塊數,不過可以手動更改;


Inode Table(inode表):

  • inode大小爲128字節;

  • 所有inode存放在inode table中,每個塊組都有一個本地組的inode table

  • 1-10號inode被用作保留,並在inode table中設置爲已分配;

  • 1號inode節點用於表明壞塊,但在linux內核中沒有標定的值;

  • 8號節點通常爲日誌使用,但可以在superblock中重新定義;

  • 第一個用戶文件通常使用11號節點,但此一般被lost+found目錄使用;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章