2021-02-12 分類: 網(wǎng)站建設
了解Linux文件系統(tǒng)的知識
在最新版本的Centos Linux系統(tǒng)已經(jīng)采用xfs文件系統(tǒng)作為默認的文件系統(tǒng),但是想詳細了解Linux文件系統(tǒng)的知識還得從最傳統(tǒng)的文件系統(tǒng)(filesystem)ext2說起。而文件系統(tǒng)都是建立在磁盤上面,因此磁盤(硬盤)的有關知識也應該了解清楚。在Linux系統(tǒng)中比較重要的有關文件系統(tǒng)的知識就是inode(i節(jié)點)、數(shù)據(jù)區(qū)塊(block)以及超級區(qū)塊(superblock)等相關的文件系統(tǒng)知識。
㈠磁盤的物理組成
一個物理磁盤的組成主要有圓形的碟片(數(shù)據(jù)存放的地方,一般現(xiàn)在的磁盤都由很多碟片所組成),磁頭(磁頭跟機械臂相連,通過它讀取碟片上的數(shù)據(jù)),旋轉馬達(跟碟片相連帶動碟片一起運動以方便磁頭讀取在碟片上的數(shù)據(jù)),物理磁盤如圖3-1所示。
對于碟片上的內(nèi)容我們是這樣定義的:
①扇區(qū)(Sector)為最小的物理存儲單位,并且會根據(jù)設計的不同,扇區(qū)的容量主要有512B和4KB兩種格式;
②柱面(Cylinder),由扇區(qū)組成的一個圓,早期的分區(qū)以柱面為單位,現(xiàn)在一般都是以扇區(qū)為單位,每一個扇區(qū)都有一個號碼標記。
③目前的分區(qū)格式主要有兩種:MBR分區(qū)表和GPT分區(qū)表;在MBR分區(qū)表中最重要的為第1扇區(qū)的內(nèi)容,在MBR的第1扇區(qū)內(nèi)有如下的內(nèi)容:
主引導記錄(Master boot record,簡稱MBR),分區(qū)表(partition table),其中主引導記錄占用446個字節(jié),而分區(qū)表占用64個字節(jié),2個校驗字節(jié),共512字節(jié)。這種分區(qū)模式只支持小于2TB容量的磁盤。
GPT分區(qū)表支持的容量多達2TB以上,并且分區(qū)數(shù)較多。
在Linux系統(tǒng)中設備都是由文件名來表示,磁盤的名字一般為/dev/sd[a-p]的格式,第1個磁盤的名字為/dev/sda,而如果對其進行分區(qū)操作,那么分區(qū)后的文件名則為/dev/sd[1-128],如果僅分為2個分區(qū)則有兩個文件名/dev/sda1和/dev/sda2等。
如果是虛擬磁盤則文件名為/dev/vd[a-p]等格式,如果是磁盤軟陣列其文件名則為/dev/md[0-128],如果做成LVM磁盤陣列則為/dev/VGNAME/LVNAME,其中VGNAME為卷組名,LVNAME為邏輯卷名。
特別說明現(xiàn)在的磁盤容量都很大,大于2TB以上一般應該采用GPT格式的分區(qū)表,但是磁盤容量比較少也可以使用MBR分區(qū)表,建議采用GPT格式的分區(qū)表。
㈡文件系統(tǒng)的特性
磁盤分區(qū)完成一般都要對磁盤分區(qū)進行格式化(format)操作,格式化的過程就是創(chuàng)建文件系統(tǒng)(filesystem)的過程(把物理磁盤分成一塊塊的數(shù)據(jù)區(qū)塊)。而每一種文件系統(tǒng)它管理的文件屬性及權限設置又是不相同的,因此保存數(shù)據(jù)的方式及保護措施也不相同。并且不同的操作系統(tǒng)它們的文件系統(tǒng)格式有可能是不相通的,不能相互進行訪問操作等,如Linux系統(tǒng)的文件系統(tǒng)就不與windiws文件系統(tǒng)相通,但也有可能支持同屬性的文件系統(tǒng)存在,也可以進行交流數(shù)據(jù)。
在Linux系統(tǒng)中傳統(tǒng)的文件系統(tǒng)是ext2(Linux second extended file system,ext2fs),傳統(tǒng)的文件系統(tǒng)一般都是一個分區(qū)格式化為一個文件系統(tǒng),也就是一個分區(qū)就是一個文件系統(tǒng),但是現(xiàn)在出現(xiàn)了很多新的技術,也可以將一個分區(qū)格式化為多個文件系統(tǒng),或者把幾個分區(qū)合并成一個文件系統(tǒng)(LVM,RAID)等,因此,現(xiàn)在我們多采用一個能掛載數(shù)據(jù)的點稱為一個文件系統(tǒng)而不是一個分區(qū)。
文件系統(tǒng)與操作系統(tǒng)有關,一般情況下,操作系統(tǒng)的文件除了保存實際的數(shù)據(jù)內(nèi)容之外,通常都會包含有許多的屬性(如權限,文件的擁有者、同組用戶、文件的一些時間參數(shù)等)。文件系統(tǒng)通常會把文件內(nèi)容與文件的屬性分別存放到不同的數(shù)據(jù)區(qū)塊中,在Linux系統(tǒng)中權限與屬性放置到inode(i節(jié)點)中,實際的數(shù)據(jù)保存在數(shù)據(jù)區(qū)塊中,除此之外,會使用一個超級區(qū)塊(Super block)來保存整個文件系統(tǒng)的相關信息,包括inode數(shù)、整個磁盤的數(shù)據(jù)區(qū)塊的總量,已經(jīng)使用的數(shù)據(jù)區(qū)塊,剩余的數(shù)據(jù)區(qū)塊等信息。
區(qū)塊與inode的相關知識:
在Linux系統(tǒng)中,每個i節(jié)點與區(qū)塊都有編號(Number),超級區(qū)塊記錄的都是文件系統(tǒng)的整體信息,如上所示。i節(jié)點(inode)記錄文件的屬性,一個文件占用一個inode,并記錄此文件的數(shù)據(jù)區(qū)塊位置(號碼),一般的區(qū)塊就是保存數(shù)據(jù)的實際內(nèi)容,如果文件很大占用一個區(qū)塊的容量以上(一般都是占用多個區(qū)塊的內(nèi)容),也就是說一個文件的容量如果超過區(qū)塊的容量會使用多個區(qū)塊來保存文件的內(nèi)容。
當我們對磁盤進行格式化操作時,分配的區(qū)塊跟磁盤容量有關也跟設置的區(qū)塊的大小有關,區(qū)塊分得大所能儲存的文件數(shù)相對來說就少,這是因為每一個文件都會占用一個區(qū)塊,而文件太大會占用多個區(qū)塊。如圖3-2所示。
從上所知每一個i節(jié)點(inode)與數(shù)據(jù)區(qū)塊都會有編號,而每一個文件都會占用一個i節(jié)點(inode)如果是大文件還會占用多個區(qū)塊,而inode除了保存文件的屬性之外,還保存(記錄)數(shù)據(jù)所在的區(qū)塊號碼,因此,只要能找到i節(jié)點(inode)就能夠找到我們所需要的文件實際數(shù)據(jù)了,采用i節(jié)點來記錄文件所在的數(shù)據(jù)區(qū)塊號碼提高了文件的訪問效率,i節(jié)點就像是文件的檢索數(shù)據(jù)庫。不同的文件系統(tǒng)由于工作的方式不同,讀取文件的效率也是不相同的?,F(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),找文件時先找到i節(jié)點,因為i節(jié)點保存了這個文件所在的所有區(qū)塊號碼,從而同時直接找到文件儲存的所有數(shù)據(jù),效率很高。而FAT文件系統(tǒng)的每一個區(qū)塊都會保存前一區(qū)塊的號碼,例如,這個文件是保存在數(shù)據(jù)區(qū)塊2、7、10、14這4個區(qū)塊中,它的動作是依次2→7→10→14寫入?yún)^(qū)塊,讀取時也是一個一個區(qū)塊的讀取,效率相對來說說慢,這是因為當時間久了之后,數(shù)據(jù)會比較離散,有可能一個文件中的數(shù)據(jù)保存有在最前面的磁盤區(qū)塊,也有最后面的區(qū)塊,區(qū)塊之間距離相差好大,磁盤在讀取時,磁頭移動范圍很大,會造成數(shù)據(jù)讀取變慢,而索引文件系統(tǒng)它會直接找到所需的文件數(shù)據(jù),基本不會出現(xiàn)這種問題,而FAT文件系統(tǒng)就不一樣了,文件的讀取是依次讀取,這是因為在每個區(qū)塊中都保存有前一個區(qū)塊的號碼,因此,F(xiàn)AT文件系統(tǒng)通過碎片整理后可以提高文件的訪問速度。
分享題目:了解Linux文件系統(tǒng)的知識
網(wǎng)站路徑:http://redsoil1982.com.cn/news18/100518.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、網(wǎng)站設計公司、搜索引擎優(yōu)化、響應式網(wǎng)站、定制開發(fā)、手機網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容