linux文件系統基礎知識
利用直接指針、單級間接指針、二級間接指針、三級間接指針可保存的最大文件大小為:
1024*12+1024*256+1024*256*256+1024*256*256*256=16843020 KB,約 16GB
若數據塊大小為2048B,指針占4B,則最大文件大小為: 2048*12+2048*512+2048*512*512+2048*512*512*512=268,960,792 KB 約 268GB
若數據塊大小為4096B,指針占4B,則最大文件大小為: 4096*12+4096*1024+4096*1024*1024+4096*1024*1024*1024=4,299,165,744 KB ,約 4TB
注: 命令 tune2fs -l /dev/sda5 可查看文件系統
ext2文件系統最大文件名長(cháng)度: 255個(gè)字符
ext2文件系統的缺點(diǎn):
ext2在寫(xiě)入文件內容的同時(shí)并沒(méi)有同時(shí)寫(xiě)入文件meta-data, 其工作順序是先寫(xiě)入文件的內容,然后等空閑時(shí)候才寫(xiě)入文件的meta-data。若發(fā)生意外,則文件系統就會(huì )處于不一致?tīng)顟B(tài)。
在重新啟動(dòng)系統的時(shí)候,linux會(huì )啟動(dòng) fsk ( file system check) 的程序,掃描整個(gè)文件系統并試圖修復,但不提供保證。
9、ext3文件系統:
ext3基于ext2的代碼,所以磁盤(pán)格式與ext2相同,使用相同的元數據。
ext2文件系統無(wú)損轉化為ext3文件系統: tune2fs -j /dev/sda6
日志塊設備( Journaling block device layer,JBD)完成ext3文件系統日志功能。JBD不是ext3文件系統所特有的,它的設計目標是為了向一個(gè)塊設備添加日志功能。
當一個(gè)文件修改執行時(shí),ext3文件系統代碼將通知JBD,稱(chēng)為一個(gè)事務(wù)(transaction)。發(fā)生意外時(shí),日志功能具有的重放功能,能重新執行中斷的事務(wù)。
日志中的3種數據模式:
1)、data=writeback :不處理任何形式的日志數據,給用戶(hù)整體上的最高性能
2)、data=odered :只記錄元數據日志,但將元數據和數據組成一個(gè)單元稱(chēng)為事務(wù)(transaction) 。此模式保持所句句的可靠性與文件系統的一致性,性能遠低于data=writeback模式,但比data=journal模式快
3)、data=journal :提供完整的數據及元數據日志,所有新數據首先被寫(xiě)入日志,然后才被定位。意外發(fā)生過(guò)后,日志可以被重放,將數據與元數據帶回一致?tīng)顟B(tài)。這種模式整體性能最慢,但數據需要從磁盤(pán)讀取和寫(xiě)入磁盤(pán)時(shí)卻是3種模式中最快的。
ext3文件系統最大文件名長(cháng)度: 255個(gè)字符
ext3文件系統的優(yōu)點(diǎn):可用性、數據完整性、速度、兼容性
10、ReiserFS文件系統
ReiserFS文件系統是由Hans Reiser和他領(lǐng)導的開(kāi)發(fā)小組共同開(kāi)發(fā)的,整個(gè)文件系統完全是從頭設計的,是一個(gè)非常優(yōu)秀的文件系統。也是最早用于Linux的日志文件系統之一。
ReiserFS的特點(diǎn)
先進(jìn)的日志機制
ReiserFS有先進(jìn)的日志(Journaling/logging)功能 機制。日志機制保證了在每個(gè)實(shí)際數據修改之前,相應的日志已經(jīng)寫(xiě)入硬盤(pán)。文件與數據的安全性有了很大提高。
高效的磁盤(pán)空間利用
Reiserfs對一些小文件不分配inode。而是將這些文件打包,存放在同一個(gè)磁盤(pán)分塊中。而其它文件系統則為每個(gè)小文件分別放置到一個(gè)磁盤(pán)分塊中。
獨特的搜尋方式
ReiserFS基于快速平衡樹(shù)(balanced tree)搜索,平衡樹(shù)在性能上非常卓越,這是一種非常高效的算法。ReiserFS搜索大量文件時(shí),搜索速度要比ext2快得多。Reiserfs文件系統使用B*Tree存儲文件,而其它文件系統使用B+Tree樹(shù)。B*Tree查詢(xún)速度比B+Tree要快很多。Reiserfs在文件定位上速度非???。
在實(shí)際運用中,ReiserFS 在處理小于 4k 的文件時(shí),比ext2 快 5 倍;帶尾文件壓縮功能(默認)的ReiserFS 比ext2文件系統多存儲6%的數據。
支持海量磁盤(pán)
ReiserFS是一個(gè)非常優(yōu)秀的文件系統,一直被用在高端UNIX系統上,可輕松管理上百G的文件系統,ReiserFS文件系統最大支持的文件系統尺寸為16TB。這非常適合企業(yè)級應用中。
優(yōu)異的性能
由于它的高效存儲和快速小文件I/O特點(diǎn),使用ReiserFs文件系統的PC,在啟動(dòng)X(jué)窗口系統時(shí),所花的時(shí)間要比在同一臺機器上使用ext2文件系統少1/3。另外,ReiserFS文件系統支持單個(gè)文件尺寸為4G的文件,這為大型數據庫系統在linux上的應用提供了更好的選擇。
評論