tune2fs -m 1 /dev/sdXY
我很好奇的是,此保留空间的实际用途是什么。它在某些情况下是否有实际用途,在某些情况下会占用5%以上的空间?
我偶然发现此问题的原因是我们最近建立了一个1TB的文件存储,并且无法完全确定找出为什么df -h会使我们损失5%的容量。
#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]文件系统变满,这是碎片。
评论
好的,现在这是对“不可用”空间的巨大浪费。也许5%应该限制为小于X的驱动器大小(例如,磁盘空间的5%最多为100MB)。在我的8 TB文件系统上,刚刚消失了400 GB-这是对空间的真正浪费! :)
使用ext4,您可以使用-m reserved-blocks-percentage选项控制在创建文件系统时的百分比。