ext4 2/ext4 3/ext4 4文件系统系列不需要碎片整理。
是什么底层设计帮助这个文件系统不变得支离破碎?
发布于 2014-08-20 12:53:52
ext4文件系统保持分段检查的一种方法是使用延迟分配进程(ext4 4‘S默认分配模式)。
延迟分配的工作是将新写入的文件数据块到文件系统中的磁盘块的映射推迟到写回时间。
这是通过同时为一个文件分配大部分块来实现的,当每个文件中的块总数(或至少一个大概值)已知时。这使得块分配器(MMK的答案中提到的mballoc )能够更好地找到一个合适大小的空闲空间来放置文件。
发布于 2014-08-20 12:31:10
在ext3文件系统中,每个块都有一个磁盘块分配器,因此很可能会发生碎片。
然而,在ext4文件系统中,有一个多块分配器,它可以延迟将块写入磁盘,这样它就可以在磁盘的单个块中一次分配几个块,从而允许连续写入-因此,碎片发生的可能性更小(仍然是可能的,只是不太可能)。
发布于 2014-08-20 16:00:09
至少对于Ext2 (和Ext3,虽然我不太确定),磁盘上的格式/结构中没有任何东西可以防止碎片整理。
碎片整理需求的缺乏仍然存在于实现级别,这将因操作系统而异。也就是说,根据实现的不同,Ext2中的文件可能是碎片的,也可能不是碎片的。
如果避免分散,这可能是由于物理块的延迟分配造成的。也就是说,在实现的某个级别,文件系统将缓存数据(并通过逻辑块号访问数据),直到将其写入/提交到磁盘。当数据最终写入磁盘时,必须分配物理块。分配算法可以(或不可能)为数据分配多个连续的可用物理块。
希望这能有所帮助。
https://askubuntu.com/questions/522787
复制相似问题