1. 什么是ext3?
ext3是第三代延伸式文件系统(3rd extended filesystem)的缩写,是ext2的改良版本。
它与ext2完全兼容,因此可以使用诸如:e2label、lsattr、chattr、tune2fs等磁盘管理工具。而且,ext3相比ext2还有一些特殊的功能。
2. ext3的特殊功能
2.1 方便地调整文件系统的大小
2.1.1 命令格式
resize2fs [OPTIONS...] DEVICE [NEWSIZE]
2.1.2 应用举例
注意,如果要放大文件系统,必须先将其挂载。如果要缩小文件系统,则必须先卸载。
-- 检查/dev/hda8的挂载点
# mount | grep '/dev/hda8'
/dev/hda8 on /mnt/tmp type ext3 (rw)
-- 将该文件系统的大小调整到最大,即整个分区大小 (放大)
# resize2fs /dev/hda8
-- 卸载该文件系统
# umount /dev/hda8
-- 调整该文件系统大小为50M (缩小)
# resize2fs /dev/hda8 50M
2.2 提供日志式文件系统(Journal File System)的能力
系统在进行磁盘读写操作时,会先把数据拷贝到内存的cashe/buffer中,然后再把数据转移到硬盘中。
如果发生不正常关机,这些在cashe/buffer中的数据就来不及存到硬盘中,于是造成了某些文件系统上的数据毁损。
日志式文件系统,则把cashe/buffer记录在磁盘中。利用磁盘中某些特殊的扇区存放cashe/buffer的数据。
当挂载一个ext3文件系统时,系统会把这个文件系统的状态标注为clean,然后启动一个名为kjournald的服务。
当数据写入到内存的cashe/buffer时,kjournald服务就会立即把cashe/buffer的数据同步写入磁盘中的那些特殊扇区。这个提供日志功能的扇区称为日志区块(Journal Block)。
就算系统不正常关机,在下次启动时,fsck只要发现文件系统是具备日志功能的,就会利用日志区块中保存的数据直接复原成为当机那一刹那的cashe/buffer,这样一来就大大缩短了fsck修复文件系统的时间了。
3. ext3与ext2的异同
ext3 = ext2 + 日志区块