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


8

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

在Fedora系统df显示屏上:已使用78 GB

在Ubuntu系统上df显示:已使用60 GB

系统之间的差异:

Ubuntu:ext3(几年前创建)

Fedora 17:ext4(通过香草mkfs.ext4调用创建)

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

备份和还原是使用GNU tar完成的。文件系统包含各种不同类型的文件(即从源树,maildir到ISO的文件等等)。

Answers:


8

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

暂存稀疏文件会导致tar文件(或输出流)和重新创建的文件中未分配磁盘块的稀疏文件的偏移量分配磁盘块。

我记得有些DBMS和MSC / NASTRAN(有限元建模系统)之类的程序一样创建了稀疏文件。备份这些稀疏文件最终会使用大量的脱机存储,这让所有参与其中的人都感到惊讶。


对于不完整的下载,我认为 Torrent程序有一个选项可以做同样的事情。(至少,Azureus中的描述听起来像您的描述)
Izkata 2012年

du --apparent-size ...是一种测试稀疏文件是否有所作为的方法吗?
maxschlepzig 2012年

1
稀疏文件的另一种常见用法是虚拟化软件的磁盘映像。
Jochen Lutz '18

4

看到空间差异时要注意的另一件事是为根保留的空间(在ext {2,3,4}上通常为5%)。即使用户填充了磁盘(只要该用户不是root用户),此空间也可使OS正常运行(写入日志文件等)。

您可以使用tune2fs -l以下方式查看此设置:

[root@host ]# tune2fs -l /dev/md0 |grep Reserved
Reserved block count:     1279986
Reserved GDT blocks:      1017
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)

您可以使用以下命令在ext文件系统上禁用此功能 tune2fs -m 0 /dev/NAME

从快速调查开始,我不相信xfs为root保留了空间

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.