为什么在 XFS 中格式化后,我获得比 ext4 更多的可用空间?

为什么在 XFS 中格式化后,我获得比 ext4 更多的可用空间?

我买了一个 1TB 的外置硬盘,在格式化整个硬盘后ext4 Nautilus 说有 934.3 GB 的可用空间。在此处输入图片描述

我还测试过格式化驱动器西弗斯,此时有 999.7 GB 的可用空间。在此处输入图片描述

为什么缺少超过 60 GB 的可用空间ext4而不是西弗斯

答案1

EXT3/EXT4 文件系统占用 5% 的分区大小,用于安全等目的(例如由于“无可用磁盘空间磁盘”的原因)。

如果它不是根分区,您可以通过执行以下操作将 5% 更改为 1%:

sudo tune2fs -m 1 /dev/sda3

您应该将 sda3 更改为您的分区。

答案2

ext4(以及 extfs 系列)inode 表在格式化时预先分配。这是有关文件系统的传统 Unix 行为。当您使用 extfs 文件系统格式化卷时,您可以使用-Nmkfs 实用程序的参数调整所需的 inode 数量。(来源)。

这种设计虽然具有可扩展性,但性能可能更好(当一次分配许多文件时)。格式化时必须估计所需的 inode 数量。包含大部分小文件的卷(例如邮件服务器)每 GB 所需的 inode 数量将比包含 ISO 的卷多。

一旦使用了所有 inode,即使驱动器上仍有可用空间,您也无法创建新文件。卷越大,inode 表就越大。这会导致大型驱动器上丢失许多 GB 的数据。

另一方面,西弗斯使用一种称为“动态 inode 分配”的技术(来源)。这可以提高可扩展性,因为 inode 的数量会根据卷上的数据量而增加或减少。当您无法预测文件系统的用途或何时需要为数据节省额外空间时,这是一种更好的设计。这也是NTFS行为。

关于日志的说法是错误的,日志只占用几兆字节。主要的空间损失是由于静态 inode 分配造成的。

相关内容