作为ext2的改进版本,ext3ext2文件系统相比,最大的改进就是引入了journal功能,这在既提高了文件系统数据和元数据的一致性,又大大缩短了数据一致性检查和恢复的时间。


  • ext3文件系统的mount 选项

只读模式:ro

journal选项: journal=update/inum

journal_dev=devmum


norecovery/noload:不挂载日志分区,可能会挂载上inconsistent file-system.

数据模式:data=journal/ordered/writeback

writeback:

data/meta-data同步间隔:commit=nrsec

默认是5秒,表示每隔5s sync 它所有的datameta-data ,这个5s间隔是指把journal里面的内容每刷一次的间隔.


JBD (journal block device laywer)设置: barrier=<0/1> or  nobarrier

Write barriers enforce proper on-disk ordering of journal commits, making volatile disk write caches safe to use, at some performance penalty.


其他选项:

acl/noacl/data_err=ignore/abort/quota



  • ext3Journaling Block Device layer (JBD)

ext3专有,它的功能是为了支持块设备的日志功能。ext3 file-system会高速JBD它正在做的修改,JBD的日志支持日志记录的开始、停止和重放操作。



  • ext3data mode

Ext3 journal中有详细的介绍,根据kernle里的文档,可以归纳为下面三种:



Jouranl 内容

Replay 策略

数据可靠性

性能

data=writeback

No

No

data=journal

Metadata + data

新数据先被记录到Journal, 最后才写到它的最终位置

data=ordered

metadata

记录metadata和其对应的data作为一个transaction; 重放的时机到,先把data 落盘

较好

较好


  • 工具和参考

Tool

tune2fs:   create a ext3 journal on a ext2 partition with the -j flag.

mke2fs:    create a ext3 partition with the -j flag.

debugfs:   ext2 and ext3 file system debugger.

ext2online: online (mounted) ext2 and ext3 filesystem resizer


References

kernel source:  <file:fs/ext3/>

<file:fs/jbd/>

programs:  http://e2fsprogs.sourceforge.net/

http://ext2resize.sourceforge.net

useful links:   http://www.ibm.com/developerworks/library/l-fs7/index.html

http://www.ibm.com/developerworks/library/l-fs8/index.html