Ext3文件系統

什麼是日誌文件系統?node

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


Ext文件系統結構
ide


220909967.png



MBR:spa

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


Linux文件系統以「Block」作爲存儲單元。日誌

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

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

  • 全部blok被劃分若干個相等的塊組,每一個塊組中包含相同數量的block,但因爲文件系統可能不是塊大小的整數倍,因此最有一個塊組可能小於其餘塊組;blog

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


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目錄使用;

相關文章
相關標籤/搜索