Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2316362
  • 博文数量: 846
  • 博客积分: 10011
  • 博客等级: 上将
  • 技术积分: 9499
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-04 19:54
个人简介

日日行,不怕千万里;时时学,不怕千万卷

文章分类

全部博文(846)

文章存档

2010年(36)

2009年(418)

2008年(346)

2007年(46)

我的朋友

分类: LINUX

2009-03-26 09:27:43

文件系统是包括在存储设备或分区上的一种目录结构。通常情况下,一个可应用的存储设备可以包含一个或多个文件系统。通俗的说,一个文件系统是有组织 存储文件或数据的方法,目的是易于操作系统查询和存取数据。现在常见的文件系统有FAT3、NTFS、Ext3和Reiserfs等等。不过不同的操作系 统其支持的文件系统是不同的。以Linux为例,其主要支持Ext2、Ext3和Reiserfs等文件系统。

  作为一个Linux系统工程师,必须了解各个文件系统的特点。然后在实际应用中根据应用场景来选择合适的文件系统。不同的文件系统有不同的特 性,这种特性往往决定着在文件系统中文件和目录的属性。每个文件系统都有一系列的工具,包括创建、修复、备份等。值得一说的是大多文件系统都有自我修复工 具。在您的文件系统意外出现损害的情况下,采用文件系统自带的修复功能修复等等。笔者在这篇文章中将简要介绍一下Ext3和Reiserfs 文件系统的特点,并对他们的优劣做一定的分析。希望这可以帮助大家消除在文件系统选择时的迷惑。

  一、 Ext3 文件系统。

  Ext2文件系统应该说是Linux正宗的文件系统,早期的Linux都是用ext2。但随着技术的发展,大多Linux的发行版本目前并不用 这个文件系统了,而大多都建议用ext3文件系统。Ext3文件系统是由ext2发展而来的。在Linux所用的Ext3文件系统中,文件是以块为单位存 储的,默认情况下每个块的大小是1K,不同的块以块号区分。每个文件还有一个节点。节点中包含有文件所有者、读写权限、文件类型等有用信息。对于一个小于 12个块的文件,在节点中直接存储文件数据块的块号。如果文件大于12个块,那么节点在12个块号之后存储一个间接块的块号。在这个间接块号所对应的块 中,存储有256个文件数据块的块号。如果有更大的文件,那么还会在节点中出现二级间接块和三级间接块。所以Ext3文件系统中是支持大文件的。不过不支 持反删除操作。

  二、 Reiserfs 文件系统。

  Reiserfs 文件系统是一款优秀的文件系统,它支持大文件,而且还支持反删除操作。他也是一个比较老的文件系统。但是他并没有像Ext2文件系统那样被抛弃。现在这个文件系统应用的仍然很广泛,很有生命力。这主要是因为这个文件系统有比较出色的表现。

  如这个文件系统有比较高级的日志管理机制。它的日志管理机制制保证了在每个实际数据修改之前,相应的日志已经写入硬盘。如此的话,文件与数据的 安全性有了很大提高。如在这种文件系统下,磁盘的利用率是很高的。Reiserfs文件系统对一些小文件并不分配inode。而是将这些文件打包,存放在 同一个磁盘分块中。而其它文件系统则为每个小文件分别放置到一个磁盘分块中。这也就是说,如果有20000个小文件,就要占用20000个分块。这很浪费 磁盘空间。在这一点上比NTFS文件系统设计的还要好。而且,其还支持海量的硬盘。ReiserFS文件系统可轻松管理上百G的文件,最大支持的文件系统 尺寸为16TB。为此在一些大型的Linux服务器中,这个文件系统是首选。

  另外,Reiserfs文件系统在性能上也有比较杰出的表现。如文件定位非常的快。Reiserfs文件系统基于快速平衡树搜索。平衡树在性能 上非常卓越,这是一种非常高效的检索算法。Reiserfs文件系统在大量文件中搜索文件时,搜索速度要比其他文件系统快得多。Reiserfs文件系统 使用B*Tree存储文件,而其它文件系统使用B+Tree树。B*Tree查询速度比B+Tree要快很多。故Reiserfs文件系统在文件定位上速 度非常快。 其性能的优越还表现在其存储上。Reiserfs文件系统,它的数据非常高效、快速,甚至小文件硬盘输入输出。使用Reiserfs文件系统的计算机,在 启动X窗口系统时,所花的时间要比在同一台机器上使用其他文件系统少很多。

  三、 自动修复能力的比较。

  Ext3和Reiserfs 文件系统都能够自动修复损坏的文件系统。他们的共同点是都会在开机的时候检测文件系统,若有损坏的话会自动恢复。其实,其他文件系统,如Ext2 或者FAT32等文件系统也都支持这个功能。不过他们性能上有所差异。一般来说,Reiserfs 文件系统要比其他的文件系统表现要好。

  如对于Ext3 文件系统,有时候管理员不得不手工采用fsck命令来进行文件系统的修复。如当一开机系统管理员就选择单用户模式并且把这个系统放进lost+found 目录。此时如果系统管理员要恢复文件系统的话,则必须要手工采用fsck文件系统修复命令。但是这个文件系统修复命令存在着一定的管理风险。如在修复过程 中如果出现意外关机或者断电,那么很可能会导致一些莫名其妙的问题。另外ext3文件系统还有一些备份的超级块。系统管理员可以尝试用备份的超级块加载 ext3 文件系统和修复 ext3 文件系统。这个操作虽然比较复杂,但是在实际工作中却非常有用。以后若有机会,笔者会详细介绍一下如何利用备份的超级块来恢复这个文件系统。

  Reiserfs 文件系统也能自动修复损坏的文件系统。但是他相对来说比较容易操作一点。这个文件系统在自动检测和修复损坏的文件系统上具有很强的功能。如修复速度上比 ext3文件系统要快的多。另外Reiserfs 文件系统对于意外断电的情况也能够很好的处理。如笔者做过一个简单的测试,两台同样的机器,安装了同样的Linux操作系统。只是他们所采用的文件系统不 一样。但是在Ext3文件系统下,如果采用直接拔掉电源关机,然后再重新启动的话,大部分情况需要手工采用fsck 命令来恢复文件系统。但是如果采用Reiserfs 文件系统的话,则基本不用fsck命令就可以自动修复文件系统。

  四、 Ext3不支此反删除操作,安全性相对来说高一点。

  年轻人犯错误,上帝也会原谅。可惜的某些却不是上帝。如一旦我们删除文件同时清空回收站之后,就再也无法恢复被删除的文件了。这对于像笔者这样 以安装、删除、试用软件为娱乐的人来说实在是一大打击。不过从另外一个角度讲,如果被删除的文件仍然可以挽救的回来的话,那就会涉及到安全问题。故如果从 安全来考虑,可以支持反删除的文件系统,反而对安全来说是不利的。

  而reiserfs文件系统支持反删除操作。如果企业安全级别比较高,则很可能意味着不安全。因为即使用户删除了文件,并且清空了回收站,但是 系统管理员仍然可以通过采用一些反删除工具来恢复删除了的文件。为此这可能会泄露企业的机密信息。而Ext3文件系统不支持反删除操作。在ext3文件系 统下,一旦用户删除某个机密文件,则是不可恢复的。虽然也有人说可以在Ext3 文件系统下恢复被删除的文家,但是据笔者了解,成功的可能性并不多。故如果从文件的安全性来考虑,还是采用Ext3文件系统为好。

  五、 文件系统建立与维护。

  硬盘的格式化就是存储设备建立文件系统的过程。一般的情况下,每个类型的操作系统都有这方面的工具,也有多功能的第三方工具,比如PQ软件。不 过笔者建议系统管理员最好利用操作系统自带的工具来初始化分区,也就是建立文件系统。如在Linux操作系统中就带有mkfs工具。它可以帮助系统管理员 建立文件系统。

  另外,我们还可以利用第三方工具如PQ软件,先对硬盘进行分区。然后再利用操作系统自带的格式化工具进行格式化。为了系统的稳定性考虑,笔者强烈建议在安装Linux系统时无论有没有格式化化好了的文件系统,最好利用Linux系统自带的格式化工具再重新格式化一遍。
阅读(615) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~