不同文件系统的空间开销是多少?

max*_*zig 9 filesystems

我将文件系统从 Ubuntu 系统备份/恢复到 Fedora 17 系统。我注意到根据df输出,已用空间增加了 30%。这可能是什么原因?

在 Fedora 系统df显示:78 GB used

在 Ubuntu 系统df显示: 60 GB used

系统之间的差异:

Ubuntu:ext3(多年前创建)

Fedora 17:ext4(使用 vanillamkfs.ext4调用创建)

恢复到 XFS 文件系统(在 Fedora 17 上)会产生 78 GB 的已用空间。

备份和恢复是用 GNU tar 完成的。文件系统包含范围广泛的不同类型的文件(即从源树、maildirs 到 ISO 等)。

Bru*_*ger 9

首先想到的是“稀疏文件”。传统上,可以创建一个文件,其中数据位于文件的偏移量处,然后寻找更大的偏移量。当将数据写入更大的偏移量时,文件系统不会为中间偏移量分配磁盘块。在没有分配磁盘块的情况下读取这些偏移量的程序读取零值。

对稀疏文件进行 tar 处理会导致在 tar 文件(或输出流)和重新创建的文件中没有分配磁盘块的稀疏文件的偏移量分配磁盘块。

我记得一些 DBMS 创建了稀疏文件,像 MSC/NASTRAN(有限元建模系统)这样的程序也是如此。备份这些稀疏文件最终会使用大量离线存储,这让所有相关人员都感到惊讶。