Linux ext3
在Red Hat Linux 7.2版中,Red Hat首次支持了日志文件系统的ext3文件系统。
该文件系统是在ext2文件系统的基础上进行了改进,是使用了日志功能的ext2文件系统加强版。
ext3文件系统为ext2文件系统共享了所的磁盘设备,并添加了向ext2文件系统转换的能力。
ext3基于ext2的代码,所以它的磁盘格式和ext2的相同,这意味着一个干净卸载的ext3文件系统可以作将ext2文件系统毫无问题地重新挂装。
ext3文件系统和ext2文件系统都使用相同的元数据,因而有可能执行ext2文件系统到ext3文件系统的现场升级,从ext2文件系统升级到ext3只需要短短的几分钟。
1.日志(Journaling)
日志块设备层(JBD,Journaling block device layer)完成ext3文件系统日志功能。
JBD不是ext3文件系统所特有的,它的设计目标是为了向一个块设备添加日志功能。
当一个修改执行时,ext3文件系统代码将通知JBD,称为一个事务(transaction)。
如果在事务执行时突然断电或出现其他情况导致事务终止,日志功能具有的重放功能,能重新执行中断的事务。
日志中有三种数据模式:第一种模式:data=writeback。
在这种模式里ext3文件系统根本不处理任何形式的日志数据(如XFS、JFS和ReiserFS)。
尽管事实上它提供有限的数据完整性并能摧毁用户最近修改的文件,但这种模式能给用户整体上的最高性能。
第二种模式:data=ordered,在这种模式下ext3文件系统只记录元数据日志,但它将元数据和数据分组成一个单元称为事务(transaction)。
这种模式保持数据的可靠性与文件系统一致性,这意味着在系统崩溃后,用户不会在新近写入的文件中看到任何垃圾数据。
总体来说这种模式的性能远远低于data=writeback模式,但却比data=journal模式快很多。
第三种模式:data=journal。
这种模式提供了完整的数据及元数据日志,所有新数据,首先被写入日志,然后才被定位。
当发生灾难性故障后,日志可以被重新播放,将数据和元数据带回到一致状态。
这种模式的整体性能是最慢的,但数据需要从磁盘读取和写入磁盘时却是三种模式中最快的。
2.ext3文件系统的优点
ext3文件系统在ext2文件系统的基础了做出了很大改进,并解决了ext2文件系统的缺点。
除了具有明显的优点外,ext3文件系统还具有以下特点: 可用性
ext3文件系统提供了登记报表方式,这意味着非正常系统关机后没必要再进行类似ext2中fsck的检查。
ext3文件系统的检查只在一些罕见的硬件失效的情况下发生。
非法系统关机后,ext3文件系统的恢复时间不根据文件系统的大小或文件的数量而定,而是根据用于维护一致性的登记日志文件的大小而定。
●数据完整性
ext3文件系统在非法系统关机时将提供更强健的数据完整性,并允许用户选择数据接受的保护类型和级别。
Fedora Core默认配置ext3文件卷来保持数据与文件系统状态的高度一致性。
●速度
ext3文件系统写入数据时,不会一次将数据写入,即便是这种情况它的总处理能力在多数情况下仍比ext2文件系统要高。
这是因为ext3文件系统登记报表方式优化硬盘驱动器的磁头运动。
●兼容性
ext3文件系统完全兼容ext2文件系统,允许用户在增加日志功能时保留现在相存的文件系统。
很强的平台兼容性,支持32位和64位的体系结构。
由于软件和硬盘错误导致文件系统崩溃时,ext3同样具有防止数据丢失的优点。
所有这些优点不是ext3文件系统所独有的,其他日志型的文件系统同样具有某些优点,如ReiserFS,同样也是一款非常优秀的文件系统。