我了解默认情况下,将使用分配给root的5%的空间来创建新创建的文件系统。我还知道您可以使用以下方法更改定义的空间:

tune2fs -m 1 /dev/sdXY


我很好奇的是,此保留空间的实际用途是什么。它在某些情况下是否有实际用途,在某些情况下会占用5%以上的空间?

我偶然发现此问题的原因是我们最近建立了一个1TB的文件存储,并且无法完全确定找出为什么df -h会使我们损失5%的容量。

评论

好的,现在这是对“不可用”空间的巨大浪费。也许5%应该限制为小于X的驱动器大小(例如,磁盘空间的5%最多为100MB)。

在我的8 TB文件系统上,刚刚消失了400 GB-这是对空间的真正浪费! :)

使用ext4,您可以使用-m reserved-blocks-percentage选项控制在创建文件系统时的百分比。

#1 楼

节省重要根进程(和可能的救援动作)的空间是一个原因。
还有另一个原因。 Ext3很好地避免了文件系统碎片,但是一旦达到95%的满度,这种行为就会大打折扣,并且突然文件系统的性能变得一团糟。因此,保留5%的预留空间将为您提供一个缓冲。

Ext4应该会更好,正如Linux文件系统开发人员/专家Theodore Ts'o解释的那样:


如果将保留的块计数设置为
零,则不会对性能造成很大的影响
,除非您长时间运行
(创建大量文件,并且
删除),而文件系统几乎已满(即95%以上),则在
,您将遇到
碎片问题。 Ext4的
多块分配器具有更强的抗碎片性,因为它
更加努力地寻找连续的
块,因此即使您未启用
,其他ext4功能,您会看到
更好的结果,只要在
文件系统完全满之前,使用ext4挂载ext3
文件系统。

如果您只是使用文件系统
,用于长期存档,其中文件
更改不频繁(例如,
巨大的mp3或视频存储),显然
无关紧要。


评论


如superuser.com/a/1257550/38062所述,这些“ 90%”和“ 95%”的数字源自1980年代对伯克利FFS的测量。此后的几十年中,其他人一直在挑战这种屡屡接受的智慧。

– JdeBP
17年11月8日在12:43

具有此保留空间的普通用户不会降低性能。他们根本不会比预期的早获得设备上的空间。但是,根目录将有足够的空间来修复磁盘填充问题。

– crististm
19年6月25日在14:18

#2 楼

例如,如果允许其他人通过ssh登录到系统,则保留这5%的块将确保外部用户无法填充磁盘。即使您不允许其他人登录到系统,保留的块也会阻止未以root用户身份运行的程序填充磁盘。

评论


谢谢,为此,真正地为将答案标记为正确而苦苦挣扎-答案一经提出就被立即提出,由于附加的背景和细节,mattdm被标记为正确,这使我更加了解“为什么”。

–suitedupgeek
2011-2-24在16:35

#3 楼

在保留了块的情况下,您的用户以及以特定用户身份而非以root用户身份运行的服务无法填充filesystsem并可能破坏其他需要写入该文件系统的内容-尽管以root用户身份运行的服务仍可以使其完全完成

它还为您提供了一些空间,当用户抱怨磁盘已满,或者服务由于文件系统已满而开始出现故障时,可以使用该空间。例如,您可以在删除文件之前将一些文件归档到zip / gz / 7zip归档文件中(尽管如果文件系统已满,则可能还有其他一些文件系统可用,可以在其中创建归档文件)。

5%的默认值已经很长时间了,从那时开始磁盘就小得多(几十兆字节而不是几百兆字节),所以5%并不是那么多。幸运的是,如果您使用tune2fs-r选项而不是-m,可以轻松地将其调整为较小的百分比,或者将其设置为特定的块数。在这两种情况下,您都可以将参数0设置为完全关闭预留-对于//tmp/var等,我不会这样做,但是您可能希望使用仅充当用户存储的文件系统(例如全局文件共享)或仅包含固定大小文件(例如固定大小的VM)的文件,只有在创建新文件时才会增长。

#4 楼

默认值5%用于系统分区。例如,如果磁盘空间已满,则系统日志(/var/log)和root的邮箱(/var/mail/root)仍可以接收重要信息。对于/home或常规数据存储分区,无需为root保留任何空间。出于特殊需要,您可以更改获得紧急空间(tune2fs -u 1234)的用户。

还有另一个原因是不允许ext [234]文件系统变满,这是碎片。