主頁(yè) > 知識(shí)庫(kù) > Linux標(biāo)準(zhǔn)的文件系統(tǒng)知識(shí)分享(Ext2/Ext3/Ext4)

Linux標(biāo)準(zhǔn)的文件系統(tǒng)知識(shí)分享(Ext2/Ext3/Ext4)

熱門(mén)標(biāo)簽:中山ai電銷(xiāo)機(jī)器人招商 怎么坐地圖標(biāo)注 地圖標(biāo)注行業(yè)發(fā)展如何 寧波電信400電話(huà)辦理 疏附縣地圖標(biāo)注 河南400電話(huà)如何辦理 太原地圖標(biāo)注推廣員 電銷(xiāo)機(jī)器人賺錢(qián)思路 河南營(yíng)銷(xiāo)智能外呼系統(tǒng)價(jià)格多少

Ext

全稱(chēng)Linux extended file system, extfs,即Linux擴(kuò)展文件系統(tǒng),Ext2就代表第二代文件擴(kuò)展系統(tǒng),Ext3/Ext4以此類(lèi)推,它們都是Ext2的升級(jí)版,只不過(guò)增加了日志功能,且彼此向下兼容,所以Ext2被稱(chēng)為索引式文件系統(tǒng),而Ext3/Ext4被稱(chēng)為日志式文件系統(tǒng)。

備注:Linux支持很多文件系統(tǒng),包括網(wǎng)絡(luò)文件系統(tǒng)(NFS)、Windows的Fat文件系統(tǒng)。

查看Linux支持的文件系統(tǒng):ls -l /lib/modules/$(uname -r)/kernel/fs

查看Linux支持的文件系統(tǒng)(已載入到內(nèi)存中):cat /proc/filesystems

核心設(shè)計(jì)

數(shù)據(jù)區(qū)

這些元素相對(duì)穩(wěn)定,磁盤(pán)格式化后,就固定下來(lái)了。

1、inode(索引節(jié)點(diǎn))
記錄文件的權(quán)限、屬性和數(shù)據(jù)所在塊block的號(hào)碼,每個(gè)文件都有且僅有一個(gè)的inode,每個(gè)inode都有自己的編號(hào),可以把inode簡(jiǎn)單地理解為文檔索引。

2、block(數(shù)據(jù)區(qū)塊)
存儲(chǔ)的文件內(nèi)容,也叫數(shù)據(jù)區(qū)塊(data block),每個(gè)block都有自己的編號(hào),Ext2支持的單位block容量?jī)H為1k、2k、4k。

備注:為了方便inode的記錄,在磁盤(pán)格式化后,block的大小都已經(jīng)固定了。每一個(gè)塊只能存放一個(gè)文件的數(shù)據(jù),若文件太大,將占用多個(gè)block;若文件太小,block剩余空間就不能被使用了,就會(huì)導(dǎo)致磁盤(pán)空間浪費(fèi),所以在磁盤(pán)分區(qū)后,文件系統(tǒng)格式化前,請(qǐng)先仔細(xì)想想文件系統(tǒng)的預(yù)計(jì)使用情況。
 

中介數(shù)據(jù)(metadata)

這些元素是為了維持文件系統(tǒng)狀態(tài)而設(shè)計(jì)出來(lái)的,主要代表的是文件系統(tǒng)的動(dòng)態(tài)配置信息,屬于描述性信息。

1、superblock(超級(jí)塊)

記錄文件系統(tǒng)(filesystem)的整體信息,包括inode/block的總量、使用量、剩余量、大小、以及文件系統(tǒng)的格式和相關(guān)信息。

備注:整個(gè)文件系統(tǒng)的基本信息全部記錄在superblock,它的大小一般為1024Bytes,如果它死掉,將會(huì)花費(fèi)大量的時(shí)間去補(bǔ)救哦?。?!

2、block group(區(qū)塊群組)

試想一下,假如我們的磁盤(pán)容量高達(dá)數(shù)百G,當(dāng)我們格式后,inode和block會(huì)非常龐大,為了便于管理,Ext文件系統(tǒng)在格式化時(shí),引入了區(qū)塊群組(block group)的概念,每個(gè)區(qū)塊群組都保持獨(dú)立inode/block/superblock,擁有固定數(shù)量的block,這樣就分成了一群一群最基礎(chǔ)的子文件系統(tǒng)。

備注:superblock對(duì)于文件系統(tǒng)太重要了,但是文件系統(tǒng)的superblock又只有一個(gè),所以除了第一個(gè)block group含有superblock外,后續(xù)block group都可能會(huì)含有備份的superblock,目的就是為了避免superblock單點(diǎn)無(wú)法救援的問(wèn)題。

3、block bitmap(區(qū)塊對(duì)照表)

一個(gè)block只能被一個(gè)文件使用,當(dāng)我們新增文件時(shí),肯定需要使用新的block來(lái)記錄文件數(shù)據(jù)。那么如何快速地知道,哪些block是新的?哪些block是已經(jīng)使用了的?block bitmap就是這樣被設(shè)計(jì)出來(lái),記錄所有使用和未使用的block號(hào)碼。同樣的,當(dāng)我們刪除文件時(shí),先從block bitmap中找到對(duì)應(yīng)的block號(hào)碼,然后更新標(biāo)志為未使用,最后釋放block。

inode bitmap(inode 對(duì)照表)

和block bitmap一樣的設(shè)計(jì)理念,只不過(guò)它記錄地是已使用和未使用的inode號(hào)碼,這里就不再敖述了。

group descriptor

描述每個(gè)區(qū)段(block group)開(kāi)始和結(jié)束的block號(hào)碼,以及說(shuō)明每個(gè)區(qū)段(inodemap、blockmap、inode table)分別介于哪些block號(hào)碼之間。

列出目前系統(tǒng)所有被格式化的設(shè)備:blkid

挑選一個(gè)已格式化好的設(shè)備,查看文件系統(tǒng)的詳細(xì)信息:dumpe2fs /dev/vda1

備注:通過(guò)上面的Magic簽名為0xEF53,說(shuō)明我們的磁盤(pán)分區(qū)是一個(gè)的ext2和ext3文件系統(tǒng)。類(lèi)似于通過(guò)文件開(kāi)頭的Magic,可以判斷文件類(lèi)型一樣。

總結(jié)

Ext家族是Linux支持度最廣、最完整的文件系統(tǒng),當(dāng)我們格式化磁盤(pán)后,就已經(jīng)為我們規(guī)劃好了所有的inode/block/metadate等數(shù)據(jù),這樣系統(tǒng)可以直接使用,不需要再進(jìn)行動(dòng)態(tài)的配置,這也是它最優(yōu)秀的特點(diǎn),不過(guò)這也是它最顯著的缺點(diǎn),磁盤(pán)容量越大,格式化越慢,centos7.x已經(jīng)選用xfs作為默認(rèn)文件系統(tǒng)。

標(biāo)簽:滄州 淘寶邀評(píng) 山南 榆林 保定 河池 樂(lè)山 河北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux標(biāo)準(zhǔn)的文件系統(tǒng)知識(shí)分享(Ext2/Ext3/Ext4)》,本文關(guān)鍵詞  Linux,標(biāo)準(zhǔn),的,文件,系統(tǒng),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux標(biāo)準(zhǔn)的文件系統(tǒng)知識(shí)分享(Ext2/Ext3/Ext4)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Linux標(biāo)準(zhǔn)的文件系統(tǒng)知識(shí)分享(Ext2/Ext3/Ext4)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章