<kbd id="9plqc"><label id="9plqc"></label></kbd>

        <th id="9plqc"></th>
        1. <center id="9plqc"><video id="9plqc"></video></center>
          <sub id="9plqc"><form id="9plqc"><pre id="9plqc"></pre></form></sub>
          <nav id="9plqc"><form id="9plqc"><legend id="9plqc"></legend></form></nav>
          linux文件系統(tǒng)分類(lèi)和特點(diǎn) 您所在的位置:網(wǎng)站首頁(yè) 屬牛人2022年運(yùn)勢(shì)及每月運(yùn)勢(shì)詳解 linux文件系統(tǒng)分類(lèi)和特點(diǎn)

          linux文件系統(tǒng)分類(lèi)和特點(diǎn)

          2024-06-04 00:15| 來(lái)源: 網(wǎng)絡(luò)整理| 查看: 265

          1、linux文件系統(tǒng)分配策略: 塊分配(blockallocation)和擴(kuò)展分配(extentallocation): 塊分配:磁盤(pán)上的文件塊根據(jù)需要分配給文件,避免了存儲(chǔ)空間的浪費(fèi)。但當(dāng)文件擴(kuò)充時(shí),會(huì)造成文件中文件塊的不連續(xù),從而導(dǎo)致過(guò)多的磁盤(pán)尋道時(shí)間。 每一次文件擴(kuò)展時(shí),塊分配算法就需要寫(xiě)入文件塊的結(jié)構(gòu)信息,也就是meta-dada。meta-data總是與文件一起寫(xiě)入存儲(chǔ)設(shè)備,改變文件的作要等到所有meta-data的作都完成后才能進(jìn)行,因此,meta-data的作會(huì)明顯降低整個(gè)文件系統(tǒng)的性能。

          擴(kuò)展分配:文件創(chuàng)建時(shí),一次性分配一連串連續(xù)的塊,當(dāng)文件擴(kuò)展時(shí),也一次分配很多塊。meta-data在文件創(chuàng)建時(shí)寫(xiě)入,當(dāng)文件大小沒(méi)有超過(guò)所有已分配文件塊大小時(shí),就不用寫(xiě)入meta-data,直到需要再分配文件塊的時(shí)候。

          擴(kuò)展分配采用成組分配塊的方式,減少了SCSI設(shè)備寫(xiě)數(shù)據(jù)的時(shí)間,在讀取順序文件時(shí)具有良好的性能,但隨機(jī)讀取文件時(shí),就和塊分配類(lèi)似了。 文件塊的組或塊簇(blockcluster)的大小是在編譯時(shí)確定的。簇的大小對(duì)文件系統(tǒng)的性能有很大的影響。 注:meta-data元信息:和文件有關(guān)的信息,比如權(quán)限、所有者以及創(chuàng)建、訪問(wèn)或更改時(shí)間等。

          2、文件的記錄形式 linux文家系統(tǒng)使用索引節(jié)點(diǎn)(inode)來(lái)記錄文件信息。索引節(jié)點(diǎn)是一種數(shù)據(jù)結(jié)構(gòu),它包含了一個(gè)文件的長(zhǎng)度、創(chuàng)建及修改時(shí)間、權(quán)限、所屬關(guān)系、磁盤(pán)中的位置等信息。 一個(gè)文件系統(tǒng)維護(hù)了一個(gè)索引節(jié)點(diǎn)的數(shù)組,每個(gè)文件或目錄都與索引節(jié)點(diǎn)數(shù)組中的唯一的元素對(duì)應(yīng)。每個(gè)索引節(jié)點(diǎn)在數(shù)組中的索引號(hào),稱(chēng)為索引節(jié)點(diǎn)號(hào)。 linux文件系統(tǒng)將文件索引節(jié)點(diǎn)號(hào)和文件名同時(shí)保存在目錄中,所以,目錄只是將文件的名稱(chēng)和它的索引節(jié)點(diǎn)號(hào)結(jié)合在一起的一張表,目錄中每一對(duì)文件名稱(chēng)和索引節(jié)點(diǎn)號(hào)稱(chēng)為一個(gè)連接。

          對(duì)于一個(gè)文件來(lái)說(shuō),有一個(gè)索引節(jié)點(diǎn)號(hào)與之對(duì)應(yīng);而對(duì)于一個(gè)索引節(jié)點(diǎn)號(hào),卻可以對(duì)應(yīng)多個(gè)文件名。 連接分為軟連接和硬連接,其中軟連接又叫符號(hào)連接。 硬連接:原文件名和連接文件名都指向相同的物理地址。目錄不能有硬連接;硬連接不能跨文件系統(tǒng)(不能跨越不同的分區(qū)),文件在磁盤(pán)中只有一個(gè)拷貝。 由于刪除文件要在同一個(gè)索引節(jié)點(diǎn)屬于唯一的連接時(shí)才能成功,因此硬連接可以防止不必要的誤刪除。 軟連接:用ln-s命令建立文件的符號(hào)連接。符號(hào)連接是linux特殊文件的一種,作為一個(gè)文件,它的數(shù)據(jù)是它所連接的文件的路徑名。沒(méi)有防止誤刪除的功能。

          3、linux文件系統(tǒng)分類(lèi): ext2:早期linux中常用的文件系統(tǒng) ext3:ext2的升級(jí)版,帶日志功能 ext4:ext3的升級(jí)版,大幅度改動(dòng) RAMFS:內(nèi)存文件系統(tǒng),速度很快 NFS:網(wǎng)絡(luò)文件系統(tǒng),由SUN發(fā)明,主要用于遠(yuǎn)程文件共享 MS-DOS:MS-DOS文件系統(tǒng) VFAT:Windows95/98作系統(tǒng)采用的文件系統(tǒng) FAT:WindowsXP作系統(tǒng)采用的文件系統(tǒng) NTFS:WindowsNT/XP作系統(tǒng)采用的文件系統(tǒng) HPFS:OS/2作系統(tǒng)采用的文件系統(tǒng) PROC:虛擬的進(jìn)程文件系統(tǒng) ISO9660:大部分光盤(pán)所采用的文件系統(tǒng) ufsSun:OS所采用的文件系統(tǒng) NCPFS:Novell服務(wù)器所采用的文件系統(tǒng) SMBFS:Samba的共享文件系統(tǒng) XFS:由SGI開(kāi)發(fā)的先進(jìn)的日志文件系統(tǒng),支持超大容量文件 JFS:IBM的AIX使用的日志文件系統(tǒng) ReiserFS:基于平衡樹(shù)結(jié)構(gòu)的文件系統(tǒng) udf:可擦寫(xiě)的數(shù)據(jù)光盤(pán)文件系統(tǒng)

          4、虛擬文件系統(tǒng)VFS linux支持的所有文件系統(tǒng)稱(chēng)為邏輯文件系統(tǒng),而linux在傳統(tǒng)的邏輯文件系統(tǒng)的基礎(chǔ)上增加料一個(gè)蓄念文件系統(tǒng)(VitualFileSystem,VFS)的接口層。虛擬文件系統(tǒng)(VFS)位于文件系統(tǒng)的最上層,管理各種邏輯文件系統(tǒng),并可以屏蔽各種邏輯文件系統(tǒng)之間的差異,提供統(tǒng)一文件和設(shè)備的訪問(wèn)接口。

          5、文件的邏輯結(jié)構(gòu) 文件的邏輯結(jié)構(gòu)可分為兩大類(lèi):字節(jié)流式的無(wú)結(jié)構(gòu)文件和記錄式的有結(jié)構(gòu)文件。 由字節(jié)流(字節(jié)序列)組成的文件是一種無(wú)結(jié)構(gòu)文件或流式文件,不考慮文件內(nèi)部的邏輯結(jié)構(gòu),只是簡(jiǎn)單地看作是一系列字節(jié)的序列,便于在文件的任意位置添加內(nèi)容。 由記錄組成的文件稱(chēng)為記錄式文件,記錄是這種文件類(lèi)型的基本信息單位,記錄式文件通用于信息管理。

          6、文件類(lèi)型 普通文件:通常是流式文件 目錄文件:用于表示和管理系統(tǒng)中的全部文件 連接文件:用于不同目錄下文件的共享 設(shè)備文件:包括塊設(shè)備文件和字符設(shè)備文件,塊設(shè)備文件表示磁盤(pán)文件、光盤(pán)等,字符設(shè)備文件按照字符作終端、鍵盤(pán)等設(shè)備。 管道(FIFO)文件:提供進(jìn)程建通信的一種方式 套接字(socket)文件:該文件類(lèi)型與網(wǎng)絡(luò)通信有關(guān)

          7、文件結(jié)構(gòu): 包括索引節(jié)點(diǎn)和數(shù)據(jù) 索引節(jié)點(diǎn):又稱(chēng)I節(jié)點(diǎn),在文件系統(tǒng)結(jié)構(gòu)中,包含有關(guān)相應(yīng)文件的信息的一個(gè)記錄,這些信息包括文件權(quán)限、文件名、文件大小、存放位置、建立日期等。文件系統(tǒng)中所有文件的索引節(jié)點(diǎn)保存在索引節(jié)點(diǎn)表中。 數(shù)據(jù):文件的實(shí)際內(nèi)容。可以是空的,也可以非常大,并且擁有自己的結(jié)構(gòu)。

          8、ext2文件系統(tǒng) ext2文件系統(tǒng)的數(shù)據(jù)塊大小一般為1024B、2048B或4096B ext2文件系統(tǒng)采用的索引節(jié)點(diǎn)(inode):索引節(jié)點(diǎn)采用了多重索引結(jié)構(gòu),主要體現(xiàn)在直接指針和3個(gè)間接指針。直接指針包含12個(gè)直接指針塊,它們直接指向包含文件數(shù)據(jù)的數(shù)據(jù)塊,緊接在后面的3個(gè)間接指針是為了適應(yīng)文件的大小變化而設(shè)計(jì)的。

          e.g:假設(shè)數(shù)據(jù)塊大小為1024B,利用12個(gè)直接指針,可以保存最大為12KB的文件,當(dāng)文件超過(guò)12KB時(shí),則要利用單級(jí)間接指針,該指針指向的數(shù)據(jù)塊保存有一組數(shù)據(jù)塊指針,這些指針依次指向包含有實(shí)際數(shù)據(jù)的數(shù)據(jù)塊,假如每個(gè)指針占用4B,則每個(gè)單級(jí)指針數(shù)據(jù)塊可保存1024/4=256個(gè)數(shù)據(jù)指針,因此利用直接指針和單級(jí)間接指針可保存1024*12+1024*256=268KB的文件。

          當(dāng)文件超過(guò)268KB時(shí),再利用二級(jí)間接指針,直到使用三級(jí)間接指針。利用直接指針、單級(jí)間接指針、二級(jí)間接指針、三級(jí)間接指針可保存的最大文件大小為:1024*12+1024*256+1024*256*256+1024*256*256*256=16843020KB,約16GB,若數(shù)據(jù)塊大小為2048B,指針占4B,則最大文件大小為:2048*12+2048*512+2048*512*512+2048*512*512*512=268,960,792KB約268GB

          若數(shù)據(jù)塊大小為4096B,指針占4B,則最大文件大小為:4096*12+4096*1024+4096*1024*1024+4096*1024*1024*1024=4,299,165,744KB,約4TB 注:命令tune2fs-l/dev/sda5可查看文件系統(tǒng),ext2文件系統(tǒng)最大文件名長(zhǎng)度:255個(gè)字符

          ext2文件系統(tǒng)的缺點(diǎn): ext2在寫(xiě)入文件內(nèi)容的同時(shí)并沒(méi)有同時(shí)寫(xiě)入文件meta-data,其工作順序是先寫(xiě)入文件的內(nèi)容,然后等空閑時(shí)候才寫(xiě)入文件的meta-data。若發(fā)生意外,則文件系統(tǒng)就會(huì)處于不一致?tīng)顟B(tài)。在重新啟動(dòng)系統(tǒng)的時(shí)候,linux會(huì)啟動(dòng)fsk(filesystemcheck)的程序,掃描整個(gè)文件系統(tǒng)并試圖修復(fù),但不提供保證。

          9、ext3文件系統(tǒng): ext3基于ext2的代碼,所以磁盤(pán)格式與ext2相同,使用相同的元數(shù)據(jù)。 ext2文件系統(tǒng)無(wú)損轉(zhuǎn)化為ext3文件系統(tǒng):tune2fs-j/dev/sda6

          日志塊設(shè)備(Journalingblockdevicelayer,JBD)完成ext3文件系統(tǒng)日志功能。JBD不是ext3文件系統(tǒng)所特有的,它的設(shè)計(jì)目標(biāo)是為了向一個(gè)塊設(shè)備添加日志功能。當(dāng)一個(gè)文件修改執(zhí)行時(shí),ext3文件系統(tǒng)代碼將通知JBD,稱(chēng)為一個(gè)事務(wù)(transaction)。發(fā)生意外時(shí),日志功能具有的重放功能,能重新執(zhí)行中斷的事務(wù)。

          日志中的3種數(shù)據(jù)模式: 1)data=writeback:不處理任何形式的日志數(shù)據(jù),給用戶整體上的最高性能 2)data=odered:只記錄元數(shù)據(jù)日志,但將元數(shù)據(jù)和數(shù)據(jù)組成一個(gè)單元稱(chēng)為事務(wù)(transaction)。此模式保持所句句的可靠性與文件系統(tǒng)的一致性,性能遠(yuǎn)低于data=writeback模式,但比data=journal模式快 3)data=journal:提供完整的數(shù)據(jù)及元數(shù)據(jù)日志,所有新數(shù)據(jù)首先被寫(xiě)入日志,然后才被定位。意外發(fā)生過(guò)后,日志可以被重放,將數(shù)據(jù)與元數(shù)據(jù)帶回一致?tīng)顟B(tài)。這種模式整體性能最慢,但數(shù)據(jù)需要從磁盤(pán)讀取和寫(xiě)入磁盤(pán)時(shí)卻是3種模式中最快的。

          ext3文件系統(tǒng)最大文件名長(zhǎng)度:255個(gè)字符 ext3文件系統(tǒng)的優(yōu)點(diǎn):可用性、數(shù)據(jù)完整性、速度、兼容性

          ?

          Ext4文件系統(tǒng) Ext4是一種針對(duì) ext3系統(tǒng)的擴(kuò)展 日志式文件系統(tǒng), 為 Linux 開(kāi)發(fā)的原始的擴(kuò)展文件系統(tǒng)(ext 或 extfs)的第四版。 Linux kernel 自 2.6.28 開(kāi)始正式支持新的文件系統(tǒng) Ext4。Ext3 中部分重要的 數(shù)據(jù)結(jié)構(gòu),而不僅僅像 Ext3 對(duì) Ext2 那樣,只是增加了一個(gè)日志功能而已。Ext4 可以提供更佳的性能和可靠性,還有更為豐富的功能。 相對(duì)于Ext3,特點(diǎn)如下: 1. 與 Ext3 兼容。 執(zhí)行若干條命令,就能從 Ext3 在線遷移到 Ext4,而無(wú)須重新格式化磁盤(pán)或重新 安裝系統(tǒng)。原有 Ext3 數(shù)據(jù)結(jié)構(gòu)照樣保留,Ext4 作用于新數(shù)據(jù),當(dāng)然,整個(gè)文件系統(tǒng)因此也就獲得了 Ext4 所支持的更大 容量。 2. 更大的文件系統(tǒng)和更大的文件。 較之 Ext3 目前所支持的最大 16TB 文件系統(tǒng)和最大 2TB 文件,Ext4 分別支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系統(tǒng),以及 16TB 的文件。 3. 無(wú)限數(shù)量的子目錄。 Ext3 目前只支持 32,000 個(gè)子目錄,而 Ext4 支持無(wú)限數(shù)量的子目錄。 4. Extents。 Ext3 采用間接塊映射,當(dāng)作大文件時(shí),效率極其低下。比如一個(gè) 100MB 大小的文件,在 Ext3 中要建立 25,600 個(gè) 數(shù)據(jù)塊(每個(gè)數(shù)據(jù)塊大小為 4KB)的映射表。而 Ext4 引入了現(xiàn)代文件系統(tǒng)中流行的 extents 概念,每個(gè) extent 為一組連續(xù)的 數(shù)據(jù)塊,上述文件則表示為“該文件數(shù)據(jù)保存在接下來(lái)的 25,600 個(gè)數(shù)據(jù)塊中”,提高了不少效率。 5. 多塊分配。 當(dāng) 寫(xiě)入數(shù)據(jù)到 Ext3 文件系統(tǒng)中時(shí),Ext3 的 數(shù)據(jù)塊分配器每次只能分配一個(gè) 4KB 的塊,寫(xiě)一個(gè) 100MB 文件就要調(diào)用 25,600 次數(shù)據(jù)塊分配器,而 Ext4 的多塊分配器“multiblock allocator”(mballoc) 支持一次調(diào)用分配多個(gè)數(shù)據(jù)塊。 6. 延遲分配。 Ext3 的 數(shù)據(jù)塊分配策略是盡快分配,而 Ext4 和其它現(xiàn)代文件作系統(tǒng)的策略是盡可能地延遲分配,直到文件在 cache 中寫(xiě)完才開(kāi)始分配數(shù)據(jù)塊并寫(xiě)入磁盤(pán),這樣就能優(yōu)化整個(gè)文件的 數(shù)據(jù)塊分配,與前兩種特性搭配起來(lái)可以顯著提升性能。 7. 快速 fsck。 以前執(zhí)行 fsck 第一步就會(huì)很慢,因?yàn)樗獧z查所有的 inode,而現(xiàn)在 Ext4 給每個(gè)組的 inode 表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系統(tǒng)就可以跳過(guò)它們而只去檢查那些在用的 inode 了。 8. 日志校驗(yàn)。 日志是最常用的部分,也極易導(dǎo)致磁盤(pán)硬件故障,而從損壞的日志中恢復(fù)數(shù)據(jù)會(huì)導(dǎo)致更多的數(shù)據(jù)損壞。Ext4 的日志校驗(yàn)功能可以很方便地判斷日志數(shù)據(jù)是否損壞,而且它將 Ext3 的兩階段日志機(jī)制合并成一個(gè)階段,在增加安全性的同時(shí)提高了性能。 9. “無(wú)日志”(No Journaling)模式。 日志總歸有一些開(kāi)銷(xiāo),Ext4 允許關(guān)閉日志,以便某些有特殊需求的用戶可以借此提升性能。 10. 在線碎片整理。 盡管延遲分配、多塊分配和 extents 能有效減少文件系統(tǒng)碎片,但碎片還是不可避免會(huì)產(chǎn)生。Ext4 支持在線碎片整理,并將提供 e4defrag 工具進(jìn)行個(gè)別文件或整個(gè)文件系統(tǒng)的碎片整理。 11. inode 相關(guān)特性。 Ext4 支持更大的 inode,較之 Ext3 默認(rèn)的 inode 大小 128 字節(jié),Ext4 為了在 inode 中容納更多的擴(kuò)展屬性(如納秒 時(shí)間戳或 inode 版本),默認(rèn) inode 大小為 256 字節(jié)。Ext4 還支持快速擴(kuò)展屬性(fast extended attributes)和 inode 保留(inodes reservation)。 12. 持久預(yù)分配(Persistent preallocation)。 P2P 軟件為了保證下載文件有足夠的空間存放,常常會(huì)預(yù)先創(chuàng)建一個(gè)與所下載文件大小相同的空文件,以免未來(lái)的數(shù)小時(shí)或數(shù)天之內(nèi)磁盤(pán)空間不足導(dǎo)致下載失敗。 Ext4 在文件系統(tǒng)層面實(shí)現(xiàn)了持久預(yù)分配并提供相應(yīng)的 API(libc 中的 posix_fallocate()),比 應(yīng)用軟件自己實(shí)現(xiàn)更有效率。 13. 默認(rèn)啟用 barrier。 磁 盤(pán)上配有內(nèi)部緩存,以便重新調(diào)整批量數(shù)據(jù)的寫(xiě)作順序,優(yōu)化寫(xiě)入性能,因此文件系統(tǒng)必須在日志數(shù)據(jù)寫(xiě)入磁盤(pán)之后才能寫(xiě) commit 記錄,若 commit 記錄寫(xiě)入在先,而日志有可能損壞,那么就會(huì)影響 數(shù)據(jù)完整性。Ext4 默認(rèn)啟用 barrier,只有當(dāng) barrier 之前的數(shù)據(jù)全部寫(xiě)入磁盤(pán),才能寫(xiě) barrier 之后的數(shù)據(jù)。(可通過(guò) "mount -o barrier=0" 命令禁用該特性。)

          ?

          10、ReiserFS文件系統(tǒng) ReiserFS文件系統(tǒng)是由HansReiser和他領(lǐng)導(dǎo)的開(kāi)發(fā)小組共同開(kāi)發(fā)的,整個(gè)文件系統(tǒng)完全是從頭設(shè)計(jì)的,是一個(gè)非常優(yōu)秀的文件系統(tǒng)。也是最早用于Linux的日志文件系統(tǒng)之一。 ReiserFS的特點(diǎn):先進(jìn)的日志機(jī)制 ReiserFS有先進(jìn)的日志(Journaling/logging)功能機(jī)制。日志機(jī)制保證了在每個(gè)實(shí)際數(shù)據(jù)修改之前,相應(yīng)的日志已經(jīng)寫(xiě)入硬盤(pán)。文件與數(shù)據(jù)的安全性有了很大提高。 高效的磁盤(pán)空間利用

          Reiserfs對(duì)一些小文件不分配inode。而是將這些文件打包,存放在同一個(gè)磁盤(pán)分塊中。而其它文件系統(tǒng)則為每個(gè)小文件分別放置到一個(gè)磁盤(pán)分塊中。 獨(dú)特的搜尋方式。

          ReiserFS基于快速平衡樹(shù)(balancedtree)搜索,平衡樹(shù)在性能上非常卓越,這是一種非常高效的算法。ReiserFS搜索大量文件時(shí),搜索速度要比ext2快得多。Reiserfs文件系統(tǒng)使用B*Tree存儲(chǔ)文件,而其它文件系統(tǒng)使用B+Tree樹(shù)。B*Tree查詢速度比B+Tree要快很多。Reiserfs在文件定位上速度非常快。在實(shí)際運(yùn)用中,ReiserFS在處理小于4k的文件時(shí),比ext2快5倍;帶尾文件壓縮功能(默認(rèn))的ReiserFS比ext2文件系統(tǒng)多存儲(chǔ)6%的數(shù)據(jù)。 支持海量磁盤(pán)

          ReiserFS是一個(gè)非常優(yōu)秀的文件系統(tǒng),一直被用在高端UNIX系統(tǒng)上,可輕松管理上百G的文件系統(tǒng),ReiserFS文件系統(tǒng)最大支持的文件系統(tǒng)尺寸為16TB。這非常適合企業(yè)級(jí)應(yīng)用中。

          linux文件系統(tǒng)分類(lèi)優(yōu)異的性能:由于它的高效存儲(chǔ)和快速小文件I/O特點(diǎn),使用ReiserFs文件系統(tǒng)的PC,在啟動(dòng)X窗口系統(tǒng)時(shí),所花的時(shí)間要比在同一臺(tái)機(jī)器上使用ext2文件系統(tǒng)少1/3。另外,ReiserFS文件系統(tǒng)支持單個(gè)文件尺寸為4G的文件,這為大型數(shù)據(jù)庫(kù)系統(tǒng)在linux上的應(yīng)用提供了更好的選擇。



          【本文地址】

          公司簡(jiǎn)介

          聯(lián)系我們

          今日新聞

          推薦新聞

          專(zhuān)題文章
            CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有
            黄色免费网站在线看,韩国精品在线观看,韩国美女一区二区,99国产热 集安市| 林甸县| 剑河县| 大新县| 华亭县| 金华市| 潢川县| 沂南县| 肇庆市| 讷河市| 务川| 湘阴县| 鲁山县| 邢台县| 韩城市| 盐亭县| 桃园市| 伊川县| 昌都县| 土默特右旗| 菏泽市| 石嘴山市| 定日县| 辽中县| 额尔古纳市| 岳普湖县| 新竹市| 蒙山县| 望都县| 枣阳市| 贵南县| 蛟河市| 遂川县| 鹤峰县| 益阳市| 双牌县| 灯塔市| 盘山县| 夹江县| 南陵县| 屯门区| http://444 http://444 http://444 http://444 http://444 http://444