我正在rsync
将所有文件从一个格式化为 HFS+ 的 3TB 外部磁盘复制到另一个格式化为 exFAT 的 3TB 外部磁盘。
我已经仔细检查过两个磁盘的大小完全相同,并且在开始复制之前格式化了目标磁盘,实际上源磁盘有 38GB 的空间,所以大约有 2962 GB 的文件(在我的系统上 1TB = 1000GB)。
rsync
大约 90% 的传输都失败了,目标磁盘已满。这可以用 HFS+ 和 exFAT 之间的差异来解释吗?与 HFS+ 相比,exFAT 在存储文件时是否更浪费磁盘空间?
答案1
总结
原因是 exFAT 默认的块大小较大。只需用较小的块大小重新格式化即可
但还要注意,使用 Finder 复制时,macOS 会创建大量隐藏._
文件来存储文件元数据,与 HFS+ 相比,这会占用更多空间。您应该使用命令行进行复制以避免创建这些文件
实际上 exFAT 非常简单,更加高效磁盘使用率比其他更先进的文件系统(如 NTFS、ext4、APFS、HFS+……)更高。提供块大小是一样的,因为文件系统越复杂,所需的元数据就越多。只需在任何一个文件系统中格式化一个新分区,您就会发现空白驱动器中的已用空间比 exFAT 大得多:
但事实是exFAT 更大块大小默认情况下3 TB 驱动器的块大小为 1 MiB,而其他文件系统的块大小为 4 KiB。请参阅1 字节文件在 6 TB exFAT Veracrypt 卷上占用 2 MB(是的,兆字节)。为什么?对于 exFAT 上的默认簇大小:
Volume size Cluster size
500 GiB 128 KiB
1000 GiB 256 KiB
1500 GiB 512 KiB
2000 GiB 512 KiB
3000 GiB 1 MiB
4000 GiB 1 MiB
5000 GiB 2 MiB
8000 GiB 2 MiB
10000 GiB 4 MiB
20000 GiB 8 MiB
这意味着,如果您有一个 640 KiB 文件,则在将其存储在 exFAT 中时,HFS+ 不会浪费任何空间,但会浪费 384 KiB。因此,默认情况下,exFAT 磁盘会更快地填满。您必须重新格式化 exFAT 分区并选择较小的块大小减少空间浪费
也可以看看
答案2
> much more wasteful of disk space
- 文件系统之间的效率总是存在差异。当您接近类似大小的磁盘的最大容量时,这种差异将不可避免地显现出来。
分配块大小的差异就会产生巨大的影响,例如,当你有大量小的文件和相对较大的分配块大小。