我刚刚格式化了一个 500G 的磁盘并将其安装到/data
文件夹中。
~ :) df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 795M 748K 795M 1% /run
/dev/xvda2 25G 1.2G 22G 6% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/xvdc1 492G 73M 467G 1% /data
/dev/xvda1 240M 40M 188M 18% /boot
tmpfs 795M 0 795M 0% /run/user/0
可以看到,可用大小好像是467G,而实际磁盘大小是492G。
只使用了73MB,但我损失了25GB。
文件系统是 ext4。
我的25G现在在哪儿?
答案1
如果文件系统属于 ext 系列,那么man 8 mke2fs
适用:
-m reserved-blocks-percentage
指定为超级用户保留的文件系统块百分比。这可避免碎片化,并允许 root 拥有的守护进程(如
syslogd(8)
)在非特权进程被禁止写入文件系统后继续正常运行。默认百分比为 5%。
注意500G的5%是25G,一切都合适。
以下命令将为您提供两个相关数字:
tune2fs -l /dev/xvdc1 | grep -E 'Reserved block count|Block size'
他们的产品就是您“丢失”的精确空间(以字节为单位)。
欲了解其基本原理,请参阅此问题的答案:文件系统上为根保留的空间-为什么?
要调整现有文件系统的设置,请使用tune2fs -m
或tune2fs -r
(也可能是tune2fs -u
)。请参阅man 8 tune2fs
。对于一般数据存储文件系统,无需为根目录留出任何空间。您可以通过运行以下命令完全禁用该功能:
tune2fs -r 0 /dev/xvdc1
此后的输出df -h
应该与您预期的差不多。