从 ext2 升级文件系统有什么好处?

从 ext2 升级文件系统有什么好处?

我的工作机器上安装了 ext2 文件系统。我和一位更了解 Linux 的朋友聊过,他说这个文件系统太老了,我使用这么老的文件系统很奇怪。

我现在正尝试将其更新(我没有root)到ext3。

此次更新有什么重大原因吗?这样我就可以向帮助台指出它们。

我是一名 Java 程序员,正在从事一个非常大的项目(构建整个项目需要 50-90 分钟)。它有很多小文件需要编译并生成更多小文件。所以也许升级有助于提高速度?

我也遇到了....冻结的问题。有时我的计算机会冻结,5-25 分钟后它又可以正常工作(我无法做任何事情,甚至无法切换到另一个控制台)。文件系统可以对此负责吗?

我正在寻找升级的任何理由,理由越多,升级的机会就越大。

PS:由于升级错误,我丢失数据的可能性有多大?(我从未在 Linux 上这样做过,但在 Windows 上... 4%?)。我确实有 UPS。请记住,那些人似乎不太好,因为我有 ext2,而且它是一台新机器(9 个月旧)

答案1

维基百科涵盖了大部分内容:

ext3 的最大优点是日志记录,这意味着您不需要在每次不干净地卸载(例如电源故障/内核崩溃)时都进行 fsck。当您需要时,ext4 可以使 fsck 更快。

很难知道对于您的用例来说 ext3 或 ext4 是否会比 ext2 更快。我知道对于某些工作负载,它们会更慢。

冻结问题听起来就像是硬盘抖动或硬盘坏了。

如果进行升级的人没有做一些愚蠢的事情,那么数据丢失的可能性就会很小。

答案2

我敢打赌,你的冻结问题不是由于你古老的 ext2 文件系统造成的,而是与您的硬盘有关,因为我敢打赌您的 RAM 已经用完了,并且系统正在将进程交换到磁盘。您可以使用命令检查可用内存free。如果您看到交换已使用,那么这解释了您的问题。如果您想监视交换使用情况,您可以运行free -s 1或运行top。让他们为您购买更多 RAM!

如果您的系统使用的是 ext2,那么听起来肯定需要升级了。大多数 Linux 发行版几年前就开始默认使用 ext3。建议升级到较新的文件系统,因为这意味着在系统崩溃时,您将拥有更好的数据完整性,因为 ext2 中不存在文件系统日志。请注意,与 ext2 相比,ext3 的文件系统日志实际上可能会略微降低某些操作的性能,但是,为了提高数据完整性,这种小小的性能牺牲是值得的。

另一方面,ext3 还为您提供dir_index这在 ext2 中不存在;该选项(在 ext3 中默认启用)使用 htree 索引来访问目录,从而加快访问包含大量文件的目录的速度。

此外,在有大量小文件的情况下,你可以尝试提高性能而无需升级任何东西的另一个方法是修改文件系统的挂载选项以添加noatime;这将关闭更新上次访问时间在您访问的文件上。还有一个nodiratime选项可以对目录执行相同的操作,但只需使用 即可隐式启用该选项noatime。例如,如果您的/etc/fstab文件包含这样的根文件系统条目:

/dev/hda2 / ext2 defaults 0 0

然后像这样修改它:

/dev/hda2 / ext2 defaults,noatime 0 0

虽然有可能将 ext2 转换为 ext4,你最好将所有文件复制到备份驱动器(无论如何你都需要文件的备份!),安装最新版本的 Ubuntu然后将文件复制回新格式化的系统(确保安装程序确实不保存您的旧文件系统;您想清除所有旧内容)。

完成所有这些之后,你可能仍然想了解 ext2、ext3 和 ext4 之间的区别;这段摘录很好地总结了这一点:

Ext3 主要是在 Ext2 的基础上添加了日志功能,而 Ext4 则修改了文件系统的重要数据结构,例如用于存储文件数据的数据结构。结果是文件系统的设计得到改进,性能、可靠性和功能也得到了改善。

答案3

我认为在新机器上使用 Ext2 没有任何理由。但是如果与 FAT32 相比,缺点并不大。因此,我不会说绝对有必要从 ext2 升级,但我会推荐它。优点不是速度快,而是数据完整性更高。因此,如果您的系统经常崩溃,它可能对您非常有用。有几种基准测试。通常 ext2、ext3 和 ext4 不会显示出很大的差异,但在大多数任务中 ext4 是最快的。如果将它们与其他文件系统进行比较,会发现差异更大(但不能说其中一种总是胜出)。我谷歌了一下这个基准,这表明在处理许多小文件时,ext4比ext3更快。

我强烈建议您升级到 ext4,而不仅仅是 ext3,因为文件系统检查速度更快。当我每 30 次挂载就必须等待 800GB ext3 分区的文件系统检查时,大约需要 30 分钟。使用 ext4 应该只需要十分之一,也就是几分钟。但请注意,从 ext3 转换为 ext4 后,只有转换后的新文件才能使用所有 ext4 功能。因此,如果您在其他地方或同一张光盘上有足够的空间,请将所有内容打包到 tar 球等中,然后再次写入。

在升级文件系统之前,你一定要备份整个机器(系统和数据)。但这并不是因为这个过程本身非常危险,而是因为总是可能会出现问题,当您更改文件系统时,可能会造成致命的后果。很难估计升级过程中数据丢失的风险,但我确信人为错误比升级过程中的任何其他问题都更有可能发生。如果您有备份,那就没什么大不了的。我最近从 ext3 升级到 ext4,花了大约 20 分钟。如果您想了解有关升级过程的更多详细信息,您可以阅读有关从 ext2 升级到 ext3 或这是关于将 ext2 直接升级到 ext4

如果电脑冻结,我首先会怀疑是某种加热问题。您可以尝试监控温度,或者只是试着问自己:在电脑还很冷的时候,打开电脑后不久是否会发生这种情况?但是你的服务台应该真的解决。这听起来比你的文件系统重要得多。

答案4

Ext3 具有日志功能,但我认为这不足以成为更改现有文件系统的理由。根据我的经验,ext2 比 ext3 更快,可能是因为缺少日志功能。此外,Ext2 为您提供了更多磁盘空间,因为 ext3 创建的日志占用磁盘空间。所以我不推荐 Ext3。您提到的冻结问题似乎是硬件问题,更改或升级文件系统无法解决它。

因此,如果您在其他地方有足够的空间来备份整个磁盘/分区,并且可以负担得起格式化它的费用,那么请选择 ext4,因为它具有改进的性能,并且对大文件具有连续的块分配,这也可以提高性能。

或者,如果您可以在硬件上花钱,那么就购买一个 SSD,因为它将大大提高编译和构建的性能。

相关内容