复制文件夹 - 在目标上获取不同的已用空间(使用 FreeBSD 和 UFS)

复制文件夹 - 在目标上获取不同的已用空间(使用 FreeBSD 和 UFS)

因此,我尝试将带有子文件夹的文件夹备份到另一个磁盘,但它不适合。

我用了

rsync -aiv --delete /mysrc /mydest

源上没有任何类型的链接(符号链接或硬链接)。

我跑了

du -d 1 -h

在源上,1 个子文件夹约为 195GB,但将其传输到目标后,根据相同的命令,它现在占用 260+GB。

因此,我无法将 365GB 源文件夹放入 450+GB(格式化大小)磁盘中。

两个驱动器均格式化为 UFS。对于巨大的差异有什么想法吗?

多谢 :)

编辑。我刚刚尝试使用复制另一个子文件夹

cp -av mysrc mydest/

到新磁盘(320GB,格式化为 UFS)。据du称,该文件夹在源上占用约144GB。但是当我在目的地上运行 du 时,它使用了大约 165GB。

答案1

如果任何文件是“稀疏”的(即其中包含空的未分配孔的文件),则使用任何类型的读取和写入文件的复制机制进行逻辑复制,那么您可以获得此结果。有一个选项可以使用 rsync(即 --sparse)复制稀疏文件。尝试使用该选项。

另一个问题可能是目标文件系统上配置的块大小的基础大小。如果它们不相同,那么您可能会遇到您所看到的情况。换句话说,假设您在目标磁盘上将块大小设置为 8K...那么大小从 0 到 8196 字节的任何文件都使用一个簇。因此,复制不是块大小倍数的文件可能会导致每个文件末尾的块已分配但未使用。如果您有很多小文件,这可能会出现问题。

这些是我对您可能会看到的内容的最有根据的猜测。

相关内容