什么不需要碎片整理?Linux 或 ext2 ext3 FS?

xyz*_*xyz 34 linux filesystems ubuntu maintenance

为什么不需要对 Linux 系统进行碎片整理?因为它使用的是 ext2/ext3 文件系统,还是因为它是 Linux?

这是相关的,因为我有一个双引导系统(W7 / Ubuntu)和一个可以被两个系统访问的公共分区(NTFS)。如果我在 Linux 上使用这个分区,它会碎片化吗?

另一个问题是 Truecrypt 容器。我也用 Linux 和 Windows 访问它们,它们是 FAT32。它们是否会因 Linux 上的运行而变得碎片化?

dou*_*BTV 27

这是一篇关于How To Geek的文章,内容是关于 ext2/ext3 如何在磁盘上分配文件。他们还有一篇文章问“你真的需要碎片整理吗?”


关于为什么 FAT 变得支离破碎:

“当您将文件保存到 FAT 文件系统时,[文件被保存]尽可能靠近磁盘的开头。当您保存第二个文件时,[文件被保存]紧跟在第一个文件之后——等等上。当原始文件变大时,它们总是会变得碎片化。附近没有空间供它们生长。”
- 如何极客

和维基百科有大约FAT碎片的详细信息。

关于EXT2,3,4如何分配文件:

“ext2、ext3 和 ext4 文件系统 [...] 以更智能的方式分配文件。Linux 文件系统不是将多个文件彼此靠近放置在硬盘上,而是将不同的文件分散在整个磁盘上,留下大量他们之间的自由空间。”
- 如何极客

(以及更多关于 ext3 碎片整理的信息,来自维基百科)

“现代 Linux 文件系统通过将文件中的所有块保持在一起,即使它们不能存储在连续的扇区中,从而将碎片保持在最低限度。一些文件系统,如 ext3,有效地分配了与其他块最近的空闲块块在一个文件中。因此不必担心 Linux 系统中的碎片。”
- TLDP

  • 很好的答案!但是你应该多放一点内容。这个想法是 StackExchange 上的任何答案本身就足够了。如果你的问题链接被破坏,你的回答将没有任何帮助,所以你应该在你的帖子中给出足够的解释,然后给出进一步阅读的链接。 (4认同)

Bra*_*ley 24

无论文件系统如何,碎片始终是一个问题。但是,Ext3/Ext2 已将问题最小化到大多数管理员只是操作的地步,就好像它不是问题一样。通过使用有能力的 I/O 调度程序和文件系统在每个文件后留下尾随空间以适应增长,这可以最小化。最重要的是,额外的碎片存储得更近,所以即使有碎片,效果也会被严重削弱。Ext4 切换到范围也旨在帮助进一步减轻碎片。

碎片仍然存在,ext2 有一个离线碎片整理工具,ext4 正在获得一个在线碎片,而 btrfs(只是因为它与问题有关)已经有一个在线碎片整理。如果您使用的是 ext3,您唯一真正的选择是转换为 ext4(通过tune2fs),或者尝试使用shake.

根据您的文件系统正在经历的 I/O 类型,即使在其静音级别,它仍然可能是一个问题,这就是为什么在线工具被认为是有用的开始。

关于FAT32的问题,分片不会发生在你对文件进行操作时,而是在你写入文件时发生。直接回答您的问题,碎片化是文件系统设计的一个方面,因此您的 FAT32 文件系统在您向其写入内容时都有可能出现碎片化。