深入认识Linux中的ext2与ext3文件系统(2)

· ext3全面兼容ext2,允许用户在增加日志功能时,保留现存的文件系统。任何想要去除文件系统的日志功能的用户也不需要做很多工作(我们没期望很多人这么做)。而且,只要安装了最新版的e2fsprogs程序(例如Red Hat Linux 7.2中自带的),一个ext3文件系统不需要去掉日志功能,也能以ext2形式装载。

· ext3从ext2不断增强和改进自身功能的历史中获益,并且以后还将吸收ext2的优秀特性。也就是说ext3继承了ext2许多已有的优点,同时 ext2新增加的一些特性,也会很容易的转移到ext3中。例如当扩展属性或者Htree增加到ext2中时,把这些特性加到ext3中也是很容易的(扩展属性实现访问控制列表,Htree可以提高目录操作的速度和改进大目录的可伸缩性)。

· ext3和ext2一样是由来自多家厂商的开发人员联合开发的,它的开发不依赖于任何个人或组织。

· ext3提供并使用了一个通用日志层(jbd),该层可以在其它环境中使用。Ext3不但能在文件系统中使用日志功能,而且能够应用到其它设备中,例如目前Linux开始支持的NVRAM设备,ext3就能够支持。

· ext3有多种日志模式。它可以记录所有的文件数据和(metadata)元数据(data=journal),也可以只记录元数据(data= ordered或data=writeback)。当你不记录文件数据时,你可以选择在记录元数据前修改文件系统数据(data=ordered;这样所有的元数据记录都指向了有效数据),或不特殊地处理文件数据(data=writeback;文件系统保持一致性,但是非正常关机后,文件中会有旧数据存在)。这样,管理员可以在速度和文件数据一致性两方面权衡利弊,并且可以为某些特殊的应用调整速度。

· ext3有很强的平台兼容性,它可以在little-endian和big-endian系统上,支持32和64位体系结构,。任何能够访问ext2文件系统的操作系统,都能访问ext3文件系统,目前包括各种Unix版本及其变种,BeOS,Windows。

· ext3不要求内核做大的修改,也不需要增加新的系统调用,因此目前没有什么难题能够阻止Linux Torvalds把ext3加入他正式的Linux内核版本中。Ext3已经集成到了Alan Cox的 –ac内核中,很快就会进入到Linus的正式内核中。

· 当由于软件或硬件错误导致文件系统崩溃时,文件修复程序e2fsck在修复数据方面有很好的成功记录。ext3使用了和e2fsck相同的代码来修复崩溃的文件系统,因此在出现数据崩溃错误时,ext3和ext2同样具有防止数据丢失的优点。

我们要再次声明这些优点中的每一点都不是ext3所独有的。它们中的大部分是别的文件系统也有的。我们不过是声明这些所有的优点真的是只有ext3才全具备。我们是根据用户的要求,来决定我们目前应该支持哪些特性。根据我们的测试,ext3是目前最能满足我们用户需要的。我们将继续评估其它的文件系统,以便于在以后的Red Hat Linux版本中加入这些文件系统。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/10d5e4c8b3c84b74eeb1adc408a1153f.html