当我使用 Ubuntu netinst 时,这个问题出现在我的脑海中。问题是:保留5%是一种运行时吗?我的意思是,当执行 sudo apt install 之类的操作时 - 这 5% 此刻已被 root 使用?系统在运行时会使用这 5% 吗?我是否必须将其增加到 10-15%,例如?我有 300GB 硬盘。通常我只进行交换和 / 分区(不使用单独的 /home、/var 或其他分区)。
答案1
保留块意味着磁盘上保留了一些空间,只有超级用户可以使用。
因此,例如,如果我这样做,mke2fs -j /dev/vdb
那么部分输出包括..
13107 blocks (5.00%) reserved for the super user
我们可以验证这一点
% dumpe2fs /dev/vdb | grep -i Reserved.block
dumpe2fs 1.42.9 (28-Dec-2013)
Reserved block count: 13107
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
如果我们查看磁盘空间...
% df -k /mnt
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vdb 999320 1320 945572 1% /mnt
现在我们可以改变那...
% tune2fs -m 1 /dev/vdb
tune2fs 1.42.9 (28-Dec-2013)
Setting reserved blocks percentage to 1% (2621 blocks)
% dumpe2fs /dev/vdb | grep -i Reserved.block
dumpe2fs 1.42.9 (28-Dec-2013)
Reserved block count: 2621
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
现在,如果我们看看可用空间......
% df /mnt
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vdb 999320 1320 987516 1% /mnt
请注意,可用块的数量已经增加。
这个“备用空间”很有用,特别是在保存日志的磁盘上,因为这意味着普通用户无法将磁盘填充到 100%,因此操作系统仍然有空间继续运行和日志记录...希望系统管理员在预留空间用完之前会注意到!
答案2
我的意思是,当执行 sudo apt install 之类的操作时 - 这 5% 此刻正被 root 使用?
是的。不,也许吧。但事实并非如此。
当您听到 root 保留这个术语时,您可能会认为有一个特定区域,只有 root 可以在其中存储文件。就像在停车场一样,您可能会找到专门为残疾人士指定的位置,或者旁边有充电站的电动汽车停车位。他们,或有孩子的父母的地方。并且不允许其他人在那里停车。
然而,根储备却不是这样的。没有指定的可用空间。不,这只是相同的常规可用空间。那么根储备在哪里呢?无处可去。没有具体的地方。
相反,任何进出的东西都必须经过入口/出口(文件系统)并被计数。所以文件系统知道有多少空闲空间。
然后,如果您不是 root 并且剩余的空间少于 root 保留空间,它将简单地拒绝您进入:抱歉,设备上剩余空间不足,请离开。 (是的,我知道仍然有可用空间。但我必须为 root 保留至少 X 个可用空间。)
另一方面,root 不会被拒绝进入,除非真的什么都没有了。
空闲块的位置并不重要。谁已经在使用哪些块也并不重要。对于已经在使用的块,您不能说哪个正在使用根保留,哪个没有。他们都是。他们都不是。责怪谁先离开并释放一些空间。
您可以删除常规用户文件或根文件,以释放足够的空间,以便常规用户可以再次写入。