centos下初识日志式文件系统(ext3)详解

2020-01-30 16:29:21于海丽

data=ordered日志模式 (默认)

仅记录改变文件系统的元数据,且溢出文件数据要补充到磁盘中。这是缺省的ext3日志模式。这种模式降低了在写入文件系统和写入日志之间的冗余,因此速度较快,虽然文件数据的变化情况并不被记录在日志中,但它们必须做,而且由ext3的daemon程序在与之相关的文件系统元数据变化前执行,即在记录元数据前要修改文件系统数据,这将稍微降低系统的性能(速度),然而可确保文件系统中的文件数据与相应文件系统的元数据同步。

data=writeback日志模式 

仅记录改变文件系统的元数据,但根据标准文件系统,写程序仍要将文件数据的变化记录在磁盘上,以保持文件系统一致性。这是速度最快的ext3日志模式。因为它只记录元数据的变化,而不需等待与文件数据相关的更新如文件大小、目录信息等情况,对文件数据的更新与记录元数据变化可以不同步,即ext3是支持异步的日志。缺陷是当系统关闭时,更新的数据因不能被写入磁盘而出现矛盾,这一点目前尚不能很好解决。

不同日志模式间有差别,但设置的方法一样方便。可以使用ext3文件系统指定日志模式,由/etc/fstab启动时完成。例如,选择data=writeback日志模式,可以做如下设置:

/dev/hda5 /opt ext3 data=writeback 1 0

在一般情况下,data=ordered日志模式是ext3文件系统的缺省模式。

要指定日志方式,可以使用如下方式:

1 向/etc/fstab的选项字段添加适当的字符串例如 data=journal

# /dev/sda3 /var ext3 defaults,data=writeback 1 2

2 在调用 mount 时直接指定 -o data=journal 命令行选项。

# mount -o data=journal /dev/sdb1 /mnt

如果我们想要查看某一个文件系统的日志方式应该怎么查询,这里可以通过dmesg 命令:

# dmesg | grep -B 1 "mounted filesystem" 

kjournald starting.  Commit interval 5 seconds

EXT3-fs: mounted filesystem with ordered data mode.

--

EXT3 FS on sda1, internal journal

EXT3-fs: mounted filesystem with ordered data mode.

--

EXT3 FS on sdb1, internal journal

EXT3-fs: mounted filesystem with journal data mode.

--

EXT3 FS on sdb1, internal journal

EXT3-fs: mounted filesystem with writeback data mode.

4、选择日志模式

速度

在一些典型的情况下,使用选项data=writeback可以显著地提高速度,但是同时会降低对数据一致性的保护。在这些情况下,数据一致性的保护基本上与ext2文件系统相同,不同的是在正常操作时,系统不断地维护文件系统的完整性(这是其它日志文件系统使用的日志模式)。这包括频繁的共享写操作,还包括频繁地创建和删除大量的小文件,例如发送大量的小电子邮件信息。如果你从ext2切换到ext3,发现应用程序性能大幅度下降,选项data=writeback可能会对你提高性能有帮助。即使你没有获得昂贵的数据一致性保护措施,你仍然可以享受ext3的好处(文件系统总是保持一致)。Red Hat还在做工作,以提高ext3某些方面的性能,所以ext3的某些方面性能在将来可以获得改善。这也意味着即使你现在选择了data=writeback,你也需要以data=journal的缺省值重新测试将来的版本,来确定新版本的改变是否与自己的工作有关。