|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
讨论什么版本好并无意义,关键是你是不是真心想学.不过,为了避免曲高和寡,最好选用的人多的版本。
Linuxkernel自2.6.28入手下手正式撑持新的文件体系Ext4。Ext4是Ext3的改善版,修正了Ext3中部分主要的数据布局,而不单单像Ext3对Ext2那样,只是增添了一个日记功效罢了。Ext4能够供应更佳的功能和牢靠性,另有更加丰厚的功效:
1.与Ext3兼容。实行多少条命令,就可以从Ext3在线迁徙到Ext4,而不必从头格局化磁盘或从头安装体系。原有Ext3数据布局还是保存,Ext4感化于新数据,固然,全部文件体系因而也就取得了Ext4所撑持的更年夜容量。
2.更年夜的文件体系和更年夜的文件。较之Ext3今朝所撑持的最年夜16TB文件体系和最年夜2TB文件,Ext4分离撑持1EB(1,048,576TB,1EB=1024PB,1PB=1024TB)的文件体系,和16TB的文件。
3.无穷数目的子目次。Ext3今朝只撑持32,000个子目次,而Ext4撑持无穷数目的子目次。
4.Extents。Ext3接纳直接块映照,当操纵年夜文件时,效力极为低下。好比一个100MB巨细的文件,在Ext3中要创建25,600个数据块(每一个数据块巨细为4KB)的映照表。而Ext4引进了古代文件体系中盛行的extents观点,每一个extent为一组一连的数据块,上述文件则暗示为“该文件数据保留在接上去的25,600个数据块中”,进步了很多效力。
5.多块分派。当写进数据到Ext3文件体系中时,Ext3的数据块分派器每次只能分派一个4KB的块,写一个100MB文件就要挪用25,600次数据块分派器,而Ext4的多块分派器“multiblockallocator”(mballoc)撑持一次挪用分派多个数据块。
6.提早分派。Ext3的数据块分派战略是尽快分派,而Ext4和别的古代文件操纵体系的战略是尽量地提早分派,直到文件在cache中写完才入手下手分派数据块并写进磁盘,如许就可以优化全部文件的数据块分派,与前两种特征搭配起来能够明显提拔功能。
7.疾速fsck。之前实行fsck第一步就会很慢,由于它要反省一切的inode,如今Ext4给每一个组的inode表中都增加了一份未利用inode的列表,从此fsckExt4文件体系就能够跳过它们而只往反省那些在用的inode了。
8.日记校验。日记是最经常使用的部分,也极易招致磁盘硬件妨碍,而从破坏的日记中恢单数据会招致更多的数据破坏。Ext4的日记校验功效能够很便利地判别日记数据是不是破坏,并且它将Ext3的两阶段日记机制兼并成一个阶段,在增添平安性的同时进步了功能。
9.“无日记”(NoJournaling)形式。日记总回有一些开支,Ext4同意封闭日记,以便某些有特别需求的用户能够借此提拔功能。
10.在线碎片收拾。只管提早分派、多块分派和extents能无效削减文件体系碎片,但碎片仍是不成制止会发生。Ext4撑持在线碎片收拾,并将供应e4defrag工具举行一般文件或全部文件体系的碎片收拾。
11.inode相干特征。Ext4撑持更年夜的inode,较之Ext3默许的inode巨细128字节,Ext4为了在inode中包容更多的扩大属性(如纳秒工夫戳或inode版本),默许inode巨细为256字节。Ext4还撑持疾速扩大属性(fastextendedattributes)和inode保存(inodesreservation)。
12.耐久预分派(Persistentpreallocation)。P2P软件为了包管下载文件有充足的空间寄存,经常会事后创立一个与所下载文件巨细不异的空文件,以避免将来的数小时或数天以内磁盘空间不敷招致下载失利。Ext4在文件体系层面完成了耐久预分派并供应响应的API(libc中的posix_fallocate()),比使用软件本人完成更无效率。
13.默许启用barrier。磁盘上配有外部缓存,以便从头调剂批量数据的写操纵按次,优化写进功能,因而文件体系必需在日记数据写进磁盘以后才干写commit纪录,若commit纪录写进在先,而日记有大概破坏,那末就会影响数据完全性。Ext4默许启用barrier,只要当barrier之前的数据全体写进磁盘,才干写barrier以后的数据。(可经由过程"mount-obarrier=0"命令禁用该特征。)
Ext4随Linuxkernel2.6.28正式公布已无数周,一向苦于找不到测试用的磁盘,正巧年前Intel送来几块SSD测试样品,这两天就顺带把SSD也测了。测试所利用的Linux内核版本为2.6.28.2,测试工具为IOzone3.318。
IOzone测试命令为:time/opt/iozone/bin/iozone-a-s4G-q256-y4>|/root/ext4-iozone-stdout.txt 上述命令的申明以下:AutoMode
Filesizesetto4194304KB
UsingMaximumRecordSize256KB
UsingMinimumRecordSize4KB
Commandlineused:/opt/iozone/bin/iozone-a-s4G-q256-y4
OutputisinKbytes/sec
TimeResolution=0.000001seconds.
Processorcachesizesetto1024Kbytes.
Processorcachelinesizesetto32bytes.
Filestridesizesetto17*recordsize. 测试了局除标明IntelSSD的读写速率快得使人咋舌以外,还能够申明Ext4的各方面功能都凌驾了上一代Ext3,乃至在年夜多半情形下,比没有日记功效的Ext2还要快出很多:
reclenwriterewritereadrereadrandomreadrandomwritebkwdreadrecordrewritestridereadfwritefrewritefreadfrereadExt2
real28m12.718s
user0m10.725s
sys5m8.265s4218,680216,596630,248245,80288,700138,065106,1121,882,62373,538214,175218,364566,570247,3818215,308218,690556,064246,260154,680150,052188,3972,462,367130,896217,157216,647583,808248,39716216,457216,843575,046245,701258,660158,750306,8422,654,320220,939216,061218,140598,174246,58132217,925214,289537,976243,081394,013167,002464,2402,397,831340,775217,434219,353583,463246,34164215,460219,256527,919244,362503,227162,917609,5462,546,079456,243216,875217,692571,707244,264128219,081216,173540,831242,526609,750161,442721,7012,656,729551,122217,780217,427579,271242,291256216,091217,631565,111245,157654,274173,955870,5472,574,261634,835216,638219,693563,735247,101Ext3
real27m42.449s
user0m11.529s
sys7m17.049s4218,242213,039482,132243,98688,007156,926105,5571,540,73975,010216,028216,432522,704243,3858218,390217,915544,892244,979152,424190,454181,4861,945,603130,737218,364216,431530,853243,22216218,083217,683561,038244,506255,244200,032300,2122,096,495221,329216,930216,661514,177244,06932216,258217,013569,246243,811389,745198,275446,4621,934,853338,785216,809219,296530,634243,44664218,850217,711577,529243,725497,689201,693589,5352,036,412450,449219,387214,900514,353244,809128220,234215,687530,519241,615608,244199,619714,2951,992,168553,022217,828218,454513,596241,510256216,011220,188592,578242,548642,341199,408834,2402,092,959624,043217,682218,165529,358242,878Ext4
real27m3.485s
user0m10.847s
sys6m9.578s4221,823216,992532,488273,66885,210183,195103,0361,862,81774,781225,841220,620523,799272,8488226,028218,580561,960272,036154,972216,505178,4822,135,372132,506227,423215,766641,021271,32816222,241217,746547,548270,895260,899223,895295,2882,095,966223,135226,055216,210621,287273,47532220,121213,025240,426247,628345,210175,977451,6312,145,351342,236225,796213,427598,331269,75964223,983214,437308,696551,577754,941225,897523,1302,218,016448,086227,030214,706582,795272,323128222,576217,816624,636271,293644,500224,997720,4682,308,315582,943225,971217,373552,335274,237256221,202222,238541,685270,898671,748228,085845,4942,215,381643,715225,411219,166580,066273,342
Kbytes/sec
注:
1.关于IOzone测试办法,参考BenMartin的文章:IOzoneforfilesystemperformancebenchmarking
2.关于Ext4的相干内容,参考KernelNewbies专页:http://kernelnewbies.org/Ext4
本文出自:http://hutuworm.blogspot.com/2009/02/ext2-vs-ext3-vs-ext4.html
按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统: |
|