红联Linux门户
Linux帮助

ext3 文件系统

发布时间:2005-09-02 14:13:36来源:红联作者:zz123
从 Red Hat Linux 7.2 发行版本开始,默认的文件系统已从 ext2 格式转换成登记式 ext3 文件系统。

1.1. ext3 的特性
一言以蔽之,ext3 文件系统是 ext2 文件系统的增进版本。这些增进提供了以下优越性:

可用性
在异常断电或系统崩溃(又称 不洁系统关机,unclean system shutdown )发生时,每个在系统上挂载了的 ext2 文件系统必须要使用 e2fsck 程序来检查其一致性。这是一个很费时的过程,特别是在检查包含大量文件的庞大文件卷时,它会大大耽搁引导时间。在这期间,文件卷上的所有数据都不能被访问。

由 ext3 文件系统提供的登记报表方式意味着不洁系统关机后没必要再进行此类文件系统检查。使用 ext3 系统时,一致性检查只在某些罕见的硬件失效(如硬盘驱动器失效)情况下才发生。不洁系统关机后,ext 文件系统的恢复时间不根据文件系统的大小或文件的数量而定,而是根据用于维护一致性的 登记日志(journal) 的大小而定。根据你的硬件速度,默认的登记日志只需花大约一秒钟来恢复。

数据完好性
ext3 文件系统在发送了不洁系统关机时提供更强健的数据完好性。ext3 文件系统允许你选择你的数据接受的保护类型和级别。Red Hat Linux 9 默认配置 ext3 文件卷来保持数据与文件系统状态的高度一致性。

速度
尽管 ext3 把数据写入不止一次,它的总处理能力在多数情况小仍比 ext2 系统要高。这是因为 ext3 的登记报表方式优化了硬盘驱动器的头运动。你可以从三种登记模式中选择来优化速度,但是这么做会在保持数据完好性方面做出一些牺牲。

简易转换
你可以轻而易举地不经重新格式化而把 ext2 转换为 ext3 系统,从而获得强健的登记式文件系统的优越性。请参阅 第 1.3 节 来获取如何完成这一任务的说明。

如果你执行 Red Hat Linux 9 的完整安装,被分配给系统的 Linux 分区的默认文件系统就是 ext3。如果你从某个使用 ext2 分区的 Red Hat Linux 版本中升级,安装程序就会允许你把这些分区转换为 ext3 分区,并且不会丢失数据。细节请参阅 《Red Hat Linux 安装指南》 的附录“ 升级现存系统 ”。

以下各节会指导你进行 ext3 分区的创建和微调。如果你有 ext2 分区,并在运行 Red Hat Linux 9,你可以跳过以下的分区和格式化章节,直接转到 第 1.3 节 。



1.2. 创建一个 ext3 文件系统
安装后,你有时会有必要创建一个新的 ext3 文件下。譬如,如果你给 Red Hat Linux 系统添加了一个新的磁盘驱动器,你可能想给这个磁盘驱动器分区,并使用 ext3 文件系统。

创建 ext3 文件系统的步骤如下所列:

使用 parted 或 fdisk 来创建分区。

使用 mkfs 来把分区格式化为 ext3 文件系统。

使用 e2label 给分区标签。

创建挂载点。

把分区添加到 /etc/fstab 文件中。

关于执行这些步骤的信息,请参阅 第5章 。

1.3. 转换到 ext3 文件系统
tune2fs 程序能够不改变分区上的已存数据来给现存的 ext2 文件系统添加一个登记报表。如果文件系统在改换期间已被挂载,该登记报表就会被显示为文件系统的根目录中的 .journal 文件。如果文件系统没有被挂载,登记报表就会被隐藏,根本就不会出现在文件系统中。

要把 ext2 文件系统转换成 ext3,登录为根用户后键入:

/sbin/tune2fs -j /dev/ hdb X

在以上命令中,把 /dev/ hdb 替换成设备名,把 X 替换成分区号码。

以上命令执行完毕后,请确定把 /etc/fstab 文件中的 ext2 文件系统改成 ext3 文件系统。

如果你在转换你的根文件系统,你将需要使用一个 initrd 映像(或 RAM 磁盘)来引导。要创建它,运行 mkinitrd 程序。关于使用 mkinitrd 命令的信息,请键入 man mkinitrd 。还请确定你的 GRUB 或 LILO 配置会载入 initrd 。

如果改换没有成功,系统仍旧能够引导,只不过文件系统将会被挂载为 ext2 而不是 ext3。

1.4. 还原到 ext2 文件系统
因为 ext3 相对来说比较新,某些磁盘工具可能还不支持它。例如,你可能需要使用 resize2fs 来缩小某分区,该命令不支持 ext3。在这种情况下,可能会有必要把文件系统暂时还原成 ext2。

要还原分区,你必须首先卸载分区。方法是登录为根用户,然后键入:

umount /dev/ hdb X

在以上命令中,把 /dev/ hdb 替换成设备名称,把 X 替换成分区号码。本节以后的示例命令将会使用 hdb1 来代表设备和分区。

下一步,把文件系统类型改回 ext2,以根用户身份键入以下命令:

/sbin/tune2fs -O ^has_journal /dev/ hdb1

以根用户身份键入以下命令来检查分区的错误:

/sbin/e2fsck -y /dev/ hdb1

然后通过键入以下命令来把分区重新挂载为 ext2 文件系统:

mount -t ext2 /dev/ hdb1 /mount/point

在以上命令中,把 /mount/point 替换成分区的挂载点。

下一步,删除根目录下的 .journal 文件。方法是转换到分区的挂载目录中,然后键入:

rm -f .journal

你现在就有一个 ext2 分区了。

如果你永久地把分区改换成 ext2,请记住更新 /etc/fstab 文件。
文章评论

共有 4 条评论

  1. mic1og 于 2007-11-21 09:29:25发表:

    :0w5ty(1 学习了,但怎么理解登记式呢?

  2. 3611291 于 2006-06-06 13:53:06发表:

    终于让我找到类似的教程了

  3. 燕过林山 于 2005-10-22 00:06:54发表:

    了解

  4. reing 于 2005-09-18 12:14:47发表:

    介绍的还挺详细的呀,ext3最强的一点是他的登记功能