我的 Linux Centos 7.9 服务器上有 512GB 的磁盘空间,我想从服务器内部的整体磁盘大小中知道总共使用了多少磁盘大小
我尝试使用 df -h --total 命令来显示总磁盘空间和已用百分比,但它显示总磁盘空间为 224GB,已用空间为 13%,这是错误的,因为
在 Azure 监控中显示已用空间为 76%,有人可以帮忙解决吗?
我尝试了许多命令,例如 fdisk、lsblk、parted 等,但没有准确的结果
“df -h --total”的完整输出:
df -h --total
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 136M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda2 30G 25G 5.8G 81% /
/dev/sdb1 126G 4.1G 116G 4% /mnt/resource
shm 64M 0 64M 0%
total 224G 29G 189G 14% -
lsblk:
NAME FSTYPE LABEL UUID MOUNTPOINT NAME SIZE OWNER GROUP MODE
sda sda 30G root disk
├─sda1 ├─sda1 1M root disk
└─sda2 xfs centos_root 425e9325-f7cd-4d90-8548-4a79e37eb5b6 / └─sda2 30G root disk
sdb sdb 128G root disk
└─sdb1 ext4 6242553c-4d61-4420-b149-b2a3cb52c912 /mnt/resource └─sdb1 128G root disk
sdc sdc 512G root disk
答案1
512GB 磁盘为/dev/sdc
,并且未安装在您的操作系统中,因此不包括在 显示的总数中df -h
。
答案2
我认为您的 Azure 监控没有df
关于您的 VM 所见的磁盘使用情况的代理报告,但是报告存储层报告的存储消耗,因此存在差异。
大多数云提供商都使用某种形式的精简配置分配存储时。
因此,当您为虚拟机分配 512 GB 虚拟磁盘时,虚拟机将看到 512GB 可用,但实际消耗的存储空间最初将更接近0
GB,而不是分配的 512GB。后端尚未分配空闲磁盘空间,只有当您开始将数据写入该磁盘时,后端测量的实际磁盘消耗才会增加。
换句话说:将 100GB 写入该磁盘后,运行df
将显示 VM 内部使用了 100GB,并且从存储后端查看时您还将看到使用了 100GB。
当你删除 80 GB 的文件时,有趣的事情能发生:
运行时df
将显示虚拟机中仅使用了 20GB,但从存储后端来看,它会报告仍有 100GB 在使用中。这是因为一些/许多存储后端一旦分配了精简配置的存储就无法回收。分配的存储只能在删除整个虚拟磁盘时回收,但当虚拟机删除虚拟磁盘上的文件/数据时无法回收存储。