快速业务通道

全面了解安装使用Linux下的日志文件系统

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-07

文件系统是用来管理和组织保存在磁盘驱动器上的数据的系统软件,其实现了数据完整性的保证,也就是保证写入磁盘的数据和随后读出的内容的一致性.除了保存以文件方式存储的数据以外,一个文件系统同样存储和管理关于文件和文件系统自身的一些重要信息(例如:日期时间、属主、访问权限、文件大小和存储位置等等).这些信息通常被称为元数据(metadata).

为了避免磁盘访问瓶颈效应,一般文件系统大都以异步方式工作,因此如果磁盘操作被突然中断可能导致数据被丢失.例如如果出现这种情况:如果当你处理一个在linux的ext2文件系统上的文档,突然机器崩溃会出现什么情况?

有这几种可能:

◆当你保存文件以后,系统崩溃.这是最好的情况,你不会丢失任何信息.只需要重新启动计算机然后继续工作.

◆在你保存文件之前系统崩溃.你会丢失你所有的工作内容,但是老版本的文档还会存在.

◆当正在将保存的文档写入磁盘时系统崩溃.这是最糟的情况:新版文件覆盖了旧版本的文件.这样磁盘上只剩下一个部分新部分旧的文件.如果文件是二进制文件那么就会出现不能打开文件的情况,其文件格式和应用所期待的不同.

这种情况下,如果系统崩溃是发生在驱动器正在写入元数据时,那么情况可能更糟.这时候就是文件系统发生了损坏,你可能会丢失整个目录或者整个磁盘分区的数据.

linux标准文件系统(ext2fs)在重新启动时会通过调用文件扫描工具fsck试图恢复损坏的元数据信息.ext2文件系统保存有冗余的关键元数据信息的备份,因此一般来说不大可能出现数据完全丢失.系统会计算出被损坏的数据的位置,然后或者是通过恢复冗余的元数据信息,或者是直接删除被损坏或是元数据信息损毁的文件.

很明显,要检测的文件系统越大,检测过程费时就越长.对于有几十个G大小的分区,可能会花费很长时间来进行检测.Linux开始用于大型服务器中越来越重要的应用,因此就越来越不能容忍长时间的当机时间.这就需要更复杂和精巧的文件系统来替代ext2. 拥有帝国一切,皆有可能。欢迎访问phome.net

因此就出现了日志式文件系统(journalling filesystems)来满足这样的需求.

什么是日志式文件系统

这里仅仅对日志式文件系统进行简单的说明.如果需要更深入的信息请参考文章日志式文件系统,或者是日志式文件系统介绍.

大多数现代文件系统都使用了来自于数据库系统中为了提高崩溃恢复能力而开发的日志技术.磁盘事务在被真正写入到磁盘的最终位置以前按照顺序方式写入磁盘中日志区(或是log区)的特定位置.

根据日志文件系统实现技术的不同,写入日志区的信息是不完全一样的.某些实现技术仅仅写文件系统元数据,而其他则会记录所有的写操作到日志中.

现在,如果崩溃发生在日志内容被写入之前发生,那么原始数据仍然在磁盘上,丢失的仅仅是最新的更新内容.如果当崩溃发生在真正的写操作时(也就是日志内容已经更新),日志文件系统的日志内容则会显示进行了哪些操作.因此当系统重启时,它能轻易根据日志内容,很快地恢复被破坏的更新.

在任何一种情况下,都会得到完整的数据,不会出现损坏的分区的情况.恢复过程根据日志进行,因此整个过程会非常快只需要几秒钟时间.

应该注意的是使用日志文件系统并不意味着完全不需要使用文件扫描工具fsck了.随机发生的文件系统的硬件和软件错误是根据日志是无法恢复的,借助于fsck工具.

目前Linux环境下的日志文件系统

在下面的内容里将讨论三种日志文件系统:第一种是ext3,由Linux内核Stephen Tweedie开发.ext3是通过向ext2文件系统上添加日志功能来实现的,目前是redhat7.2的默认文件系统;Namesys开发的ReiserFs日志式文件系统,可以从www.namesys.com下载,目前Mandrake8.1采用

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号