了解Linux文件系統(tǒng)的知識

2021-02-12    分類: 網(wǎng)站建設(shè)

了解Linux文件系統(tǒng)的知識

在最新版本的Centos Linux系統(tǒng)已經(jīng)采用xfs文件系統(tǒng)作為默認(rèn)的文件系統(tǒng),但是想詳細(xì)了解Linux文件系統(tǒng)的知識還得從最傳統(tǒng)的文件系統(tǒng)(filesystem)ext2說起。而文件系統(tǒng)都是建立在磁盤上面,因此磁盤(硬盤)的有關(guān)知識也應(yīng)該了解清楚。在Linux系統(tǒng)中比較重要的有關(guān)文件系統(tǒng)的知識就是inode(i節(jié)點(diǎn))、數(shù)據(jù)區(qū)塊(block)以及超級區(qū)塊(superblock)等相關(guān)的文件系統(tǒng)知識。

㈠磁盤的物理組成

一個(gè)物理磁盤的組成主要有圓形的碟片(數(shù)據(jù)存放的地方,一般現(xiàn)在的磁盤都由很多碟片所組成),磁頭(磁頭跟機(jī)械臂相連,通過它讀取碟片上的數(shù)據(jù)),旋轉(zhuǎn)馬達(dá)(跟碟片相連帶動(dòng)碟片一起運(yùn)動(dòng)以方便磁頭讀取在碟片上的數(shù)據(jù)),物理磁盤如圖3-1所示。


對于碟片上的內(nèi)容我們是這樣定義的:

①扇區(qū)(Sector)為最小的物理存儲(chǔ)單位,并且會(huì)根據(jù)設(shè)計(jì)的不同,扇區(qū)的容量主要有512B和4KB兩種格式;

②柱面(Cylinder),由扇區(qū)組成的一個(gè)圓,早期的分區(qū)以柱面為單位,現(xiàn)在一般都是以扇區(qū)為單位,每一個(gè)扇區(qū)都有一個(gè)號碼標(biāo)記。

③目前的分區(qū)格式主要有兩種:MBR分區(qū)表和GPT分區(qū)表;在MBR分區(qū)表中最重要的為第1扇區(qū)的內(nèi)容,在MBR的第1扇區(qū)內(nèi)有如下的內(nèi)容:

主引導(dǎo)記錄(Master boot record,簡稱MBR),分區(qū)表(partition table),其中主引導(dǎo)記錄占用446個(gè)字節(jié),而分區(qū)表占用64個(gè)字節(jié),2個(gè)校驗(yàn)字節(jié),共512字節(jié)。這種分區(qū)模式只支持小于2TB容量的磁盤。

GPT分區(qū)表支持的容量多達(dá)2TB以上,并且分區(qū)數(shù)較多。

在Linux系統(tǒng)中設(shè)備都是由文件名來表示,磁盤的名字一般為/dev/sd[a-p]的格式,第1個(gè)磁盤的名字為/dev/sda,而如果對其進(jìn)行分區(qū)操作,那么分區(qū)后的文件名則為/dev/sd[1-128],如果僅分為2個(gè)分區(qū)則有兩個(gè)文件名/dev/sda1和/dev/sda2等。

如果是虛擬磁盤則文件名為/dev/vd[a-p]等格式,如果是磁盤軟陣列其文件名則為/dev/md[0-128],如果做成LVM磁盤陣列則為/dev/VGNAME/LVNAME,其中VGNAME為卷組名,LVNAME為邏輯卷名。

特別說明現(xiàn)在的磁盤容量都很大,大于2TB以上一般應(yīng)該采用GPT格式的分區(qū)表,但是磁盤容量比較少也可以使用MBR分區(qū)表,建議采用GPT格式的分區(qū)表。

㈡文件系統(tǒng)的特性

磁盤分區(qū)完成一般都要對磁盤分區(qū)進(jìn)行格式化(format)操作,格式化的過程就是創(chuàng)建文件系統(tǒng)(filesystem)的過程(把物理磁盤分成一塊塊的數(shù)據(jù)區(qū)塊)。而每一種文件系統(tǒng)它管理的文件屬性及權(quán)限設(shè)置又是不相同的,因此保存數(shù)據(jù)的方式及保護(hù)措施也不相同。并且不同的操作系統(tǒng)它們的文件系統(tǒng)格式有可能是不相通的,不能相互進(jìn)行訪問操作等,如Linux系統(tǒng)的文件系統(tǒng)就不與windiws文件系統(tǒng)相通,但也有可能支持同屬性的文件系統(tǒng)存在,也可以進(jìn)行交流數(shù)據(jù)。

在Linux系統(tǒng)中傳統(tǒng)的文件系統(tǒng)是ext2(Linux second extended file system,ext2fs),傳統(tǒng)的文件系統(tǒng)一般都是一個(gè)分區(qū)格式化為一個(gè)文件系統(tǒng),也就是一個(gè)分區(qū)就是一個(gè)文件系統(tǒng),但是現(xiàn)在出現(xiàn)了很多新的技術(shù),也可以將一個(gè)分區(qū)格式化為多個(gè)文件系統(tǒng),或者把幾個(gè)分區(qū)合并成一個(gè)文件系統(tǒng)(LVM,RAID)等,因此,現(xiàn)在我們多采用一個(gè)能掛載數(shù)據(jù)的點(diǎn)稱為一個(gè)文件系統(tǒng)而不是一個(gè)分區(qū)。

文件系統(tǒng)與操作系統(tǒng)有關(guān),一般情況下,操作系統(tǒng)的文件除了保存實(shí)際的數(shù)據(jù)內(nèi)容之外,通常都會(huì)包含有許多的屬性(如權(quán)限,文件的擁有者、同組用戶、文件的一些時(shí)間參數(shù)等)。文件系統(tǒng)通常會(huì)把文件內(nèi)容與文件的屬性分別存放到不同的數(shù)據(jù)區(qū)塊中,在Linux系統(tǒng)中權(quán)限與屬性放置到inode(i節(jié)點(diǎn))中,實(shí)際的數(shù)據(jù)保存在數(shù)據(jù)區(qū)塊中,除此之外,會(huì)使用一個(gè)超級區(qū)塊(Super block)來保存整個(gè)文件系統(tǒng)的相關(guān)信息,包括inode數(shù)、整個(gè)磁盤的數(shù)據(jù)區(qū)塊的總量,已經(jīng)使用的數(shù)據(jù)區(qū)塊,剩余的數(shù)據(jù)區(qū)塊等信息。

區(qū)塊與inode的相關(guān)知識:

在Linux系統(tǒng)中,每個(gè)i節(jié)點(diǎn)與區(qū)塊都有編號(Number),超級區(qū)塊記錄的都是文件系統(tǒng)的整體信息,如上所示。i節(jié)點(diǎn)(inode)記錄文件的屬性,一個(gè)文件占用一個(gè)inode,并記錄此文件的數(shù)據(jù)區(qū)塊位置(號碼),一般的區(qū)塊就是保存數(shù)據(jù)的實(shí)際內(nèi)容,如果文件很大占用一個(gè)區(qū)塊的容量以上(一般都是占用多個(gè)區(qū)塊的內(nèi)容),也就是說一個(gè)文件的容量如果超過區(qū)塊的容量會(huì)使用多個(gè)區(qū)塊來保存文件的內(nèi)容。

當(dāng)我們對磁盤進(jìn)行格式化操作時(shí),分配的區(qū)塊跟磁盤容量有關(guān)也跟設(shè)置的區(qū)塊的大小有關(guān),區(qū)塊分得大所能儲(chǔ)存的文件數(shù)相對來說就少,這是因?yàn)槊恳粋€(gè)文件都會(huì)占用一個(gè)區(qū)塊,而文件太大會(huì)占用多個(gè)區(qū)塊。如圖3-2所示。


從上所知每一個(gè)i節(jié)點(diǎn)(inode)與數(shù)據(jù)區(qū)塊都會(huì)有編號,而每一個(gè)文件都會(huì)占用一個(gè)i節(jié)點(diǎn)(inode)如果是大文件還會(huì)占用多個(gè)區(qū)塊,而inode除了保存文件的屬性之外,還保存(記錄)數(shù)據(jù)所在的區(qū)塊號碼,因此,只要能找到i節(jié)點(diǎn)(inode)就能夠找到我們所需要的文件實(shí)際數(shù)據(jù)了,采用i節(jié)點(diǎn)來記錄文件所在的數(shù)據(jù)區(qū)塊號碼提高了文件的訪問效率,i節(jié)點(diǎn)就像是文件的檢索數(shù)據(jù)庫。不同的文件系統(tǒng)由于工作的方式不同,讀取文件的效率也是不相同的。現(xiàn)在來比較一下Linux系統(tǒng)的ext2文件系統(tǒng)讀取數(shù)據(jù)方式與windows系統(tǒng)里的FAT文件系統(tǒng)讀取數(shù)據(jù)方式的不同。Linux讀取數(shù)據(jù)的方式我們稱為索引式文件系統(tǒng)(indexed allocation),而FAT讀取數(shù)據(jù)的方式我們稱為連鎖式。如圖3-3所示。


如圖3-3所示,對于采用索引方式的文件系統(tǒng),找文件時(shí)先找到i節(jié)點(diǎn),因?yàn)閕節(jié)點(diǎn)保存了這個(gè)文件所在的所有區(qū)塊號碼,從而同時(shí)直接找到文件儲(chǔ)存的所有數(shù)據(jù),效率很高。而FAT文件系統(tǒng)的每一個(gè)區(qū)塊都會(huì)保存前一區(qū)塊的號碼,例如,這個(gè)文件是保存在數(shù)據(jù)區(qū)塊2、7、10、14這4個(gè)區(qū)塊中,它的動(dòng)作是依次2→7→10→14寫入?yún)^(qū)塊,讀取時(shí)也是一個(gè)一個(gè)區(qū)塊的讀取,效率相對來說說慢,這是因?yàn)楫?dāng)時(shí)間久了之后,數(shù)據(jù)會(huì)比較離散,有可能一個(gè)文件中的數(shù)據(jù)保存有在最前面的磁盤區(qū)塊,也有最后面的區(qū)塊,區(qū)塊之間距離相差好大,磁盤在讀取時(shí),磁頭移動(dòng)范圍很大,會(huì)造成數(shù)據(jù)讀取變慢,而索引文件系統(tǒng)它會(huì)直接找到所需的文件數(shù)據(jù),基本不會(huì)出現(xiàn)這種問題,而FAT文件系統(tǒng)就不一樣了,文件的讀取是依次讀取,這是因?yàn)樵诿總€(gè)區(qū)塊中都保存有前一個(gè)區(qū)塊的號碼,因此,F(xiàn)AT文件系統(tǒng)通過碎片整理后可以提高文件的訪問速度。

分享題目:了解Linux文件系統(tǒng)的知識
網(wǎng)站路徑:http://www.muchs.cn/news18/100518.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)公司、搜索引擎優(yōu)化響應(yīng)式網(wǎng)站、定制開發(fā)、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)