首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>系统管理>系统管理>正文

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

http://www.oklinux.cn  2008-04-28  来源: ccidnet foxl  会员收藏  游客收藏  【 】 

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

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

 

有这几种可能:

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

什么是日志式文件系统

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

在下面的内容里将讨论三种日志文件系统:第一种是ext3,由Linux内核Stephen Tweedie开发。ext3是通过向ext2文件系统上添加日志功能来实现的,目前是redhat7.2的默认文件系统;Namesys开发的ReiserFs日志式文件系统,可以从www.namesys.com下载,目前Mandrake8.1采用该日志式文件系统。SGI在2001年三月发布了XFS日志式文件系统。可以在 oss.sgi.com/projects/xfs/下载。下面将对这三种日志文件系统采用不同的工具进行检测和性能测试。

 

◆安装ext3

 

关于ext3文件系统技术方面的问题请参考Dr. Stephen Tweedie的论文和访谈。ext3日志式文件系统直接来自于其祖先ext2文件系统。其具有完全向后兼容的关键特性,实际上其仅仅是在ext2日志式文件系统上添加了日志功能。其最大的缺点是没有现代文件系统所具有的能提高文件数据处理速度和解压的高性能。

 

ext3从 2.2.19开始是作为一个补丁方式存在的。如果希望对内核添加对ext3文件系统的支持,就需要使用补丁,可以从ftp.linux.org.uk/pub/linux/sct/fs/jfs或ftp.kernel.org/pub/linux/kernel/people/sct/ext3得到补丁程序,一共需要如下文件:

 

* ext3-0.0.7a.tar.bz2:内核补丁

 

* e2fsprogs-1.21-WIP-0601.tar.bz2 支持ext3的e2fsprogs程序套件

 

拷贝linux-2.2.19.tar.bz2和ext3-0.0.7a.tar.bz2到/usr/src目录下,进行解压:

共5页: 上一页 1 [2] [3] [4] [5] 下一页

上一篇:Ubuntu Linux系统下Apt-get命令参数详解   下一篇:Linux下使用Shell脚本改变当前工作路径

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Ubuntu Linux系统下Apt-get命令参数详解
·Linux系统防火墙进程查看方法简介
·系统比拼 Linux系统究竟比Vista好在哪里
·从硬盘安装SUSE Linux10系统的两种方法
·把IE收藏夹导出到Ubuntu系统下的Firefox中
·Linux系统下图形界面模式更改IP地址
·Linux系统下三种配置环境变量的方法
·解决Linux系统下管道被接受方关闭的问题
·如何在Linux系统下配置双网卡路由表
·Linux系统下运行命令时CTRL Z的作用
·Linux系统下建立GPRS无线Modem拨号方法
·Linux系统下帐号管理命令及文件介绍
·在Linux系统下如何改变Shell的颜色
·Linux运行VMware Work Station出错问题
·Linux系统下实现SCSI硬盘热插拔及在线识别
·Linux系统下的PDF好帮手 LinuxPDFeditor
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Ubuntu Linux系统下Apt-get命令参数详
·Linux系统防火墙进程查看方法简介
·系统比拼 Linux系统究竟比Vista好在哪
·从硬盘安装SUSE Linux10系统的两种方法
·把IE收藏夹导出到Ubuntu系统下的Firefo
·Linux系统下图形界面模式更改IP地址
·Linux系统下三种配置环境变量的方法
·解决Linux系统下管道被接受方关闭的问
·如何在Linux系统下配置双网卡路由表
·Linux系统下运行命令时CTRL Z的作用
·Linux系统下建立GPRS无线Modem拨号方法
·Linux系统下帐号管理命令及文件介绍
  阅读排行
·使用源代码将 Glibc 升级到 2.6
·Linux下推荐的常用应用程序列表
·什么是Linux?Linux与UNIX之间的关系
·使用 ActiveScaffold 增强 Ruby on Rai
·在 Linux on POWER 上利用透明大内存页
·Linux用户(User)和用户组管理概述
·提高Linux系统性能加速网络应用程序
·应用:postfix邮件服务器安全策略
·Linux操作系统的内核引导程序详细解析
·Linux环境进程间通信——信号(上)
·Ubuntu Linux操作系统中的用户管理
·Grub引导程序的安装、配置及使用汇总
·使用/proc文件系统来访问Linux内核
·基于linux操作系统架构openvpn总结
·C++自动化(模板元)编程基础与应用(1)
网摘收藏: