用于Linux系统的日志文件系统介绍

豆豆网   技术应用频道   2007年03月11日  【字号: 收藏本文

本文详细介绍用于Linux系统的日志文件系统介绍

  最近12个月以来,Linux已经巩固了其作为服务器操作系统的地位。就像集群(cluster)对于企业级的应用很重要那样,日志文件系统(journaling file system)也是同样重要的。

  为什么日志文件系统很重要呢?它是怎样工作的呢?有哪些日志文件系统可以用于Linux?

  日志文件系统比传统的文件系统安全,因为它用独立的日志文件跟踪磁盘内容的变化。就像关系型数据库(RDBMS),日志文件系统可以用事务处理的方式,提交或撤消文件系统的变化。

  Ext2不能满足要求

  尽管Linux可以支持种类繁多的文件系统,但是几乎所有的Linux发行版都用ext2作为默认的文件系统。Linux可以支持的文件系统有:FAT、VFAT、HPFS(OS/2)、NTFS(Windows NT)、Sun的UFS,等等。

  ext2的设计者主要考虑的是文件系统的效率和性能方面的问题。ext2在写入文件内容的同时并没有同时写入文件的meta-data(和文件有关的信息,例如:权限、所有者以及创建和访问时间)。换句话说,Linux先写入文件的内容,然后等到有空的时候才写入文件的meta-data。如果在写入文件内容之后但在写入文件的meta-data之前,突然断电了,文件系统就会处于不一致的状态。在一个需要大量文件操作的系统中(例如,像Hotmail这样的免费的Web e-mail),出现这种情况会导致很严重的后果日志文件系统可以帮助解决这个问题。

  假定你正在更新一个目录项(directory entry)。你已经在这个巨大的目录项的第五个文件块(block)中改变了23个文件项(file entry)。当正在写这个文件块的时候突然间断电了,这个文件块还没有写完,也就是被损坏了。

  重新启动的时候,Linux(就像其它的Unix)会运行一个叫做“fsck”(file system check)的程序,扫描整个文件系统,保证所有的文件块都被正确地分配或使用。它将找到这个被损坏的目录项并试图修复它,但是不能够保证fsck一定能够修复损坏。修复不了是经常的事。所以,当出现上面那种情况,目录项中所有的文件项可能会丢失,也就造成文件的丢失。

作者:gmdih    责编:豆豆技术应用

正在加载评论...