![为什么在 XFS 中格式化后,我获得比 ext4 更多的可用空间?](https://linux22.com/image/1096443/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%20XFS%20%E4%B8%AD%E6%A0%BC%E5%BC%8F%E5%8C%96%E5%90%8E%EF%BC%8C%E6%88%91%E8%8E%B7%E5%BE%97%E6%AF%94%20ext4%20%E6%9B%B4%E5%A4%9A%E7%9A%84%E5%8F%AF%E7%94%A8%E7%A9%BA%E9%97%B4%EF%BC%9F.png)
我买了一个 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 文件系统格式化卷时,您可以使用-N
mkfs 实用程序的参数调整所需的 inode 数量。(来源)。
这种设计虽然具有可扩展性,但性能可能更好(当一次分配许多文件时)。格式化时必须估计所需的 inode 数量。包含大部分小文件的卷(例如邮件服务器)每 GB 所需的 inode 数量将比包含 ISO 的卷多。
一旦使用了所有 inode,即使驱动器上仍有可用空间,您也无法创建新文件。卷越大,inode 表就越大。这会导致大型驱动器上丢失许多 GB 的数据。
另一方面,西弗斯使用一种称为“动态 inode 分配”的技术(来源)。这可以提高可扩展性,因为 inode 的数量会根据卷上的数据量而增加或减少。当您无法预测文件系统的用途或何时需要为数据节省额外空间时,这是一种更好的设计。这也是NTFS行为。
关于日志的说法是错误的,日志只占用几兆字节。主要的空间损失是由于静态 inode 分配造成的。