You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Linux VM诊断磁盘空间指标异常,求原因及调试方法

拆解Azure Linux VM磁盘指标异常问题

我来帮你分析这个Azure Monitor指标和实际磁盘空间不符的问题,这在Linux虚拟机上其实是个挺常见的场景,咱们一步步来捋清楚:

一、异常的核心原因

大概率是这几个情况导致的:

  • 多磁盘空间被汇总了:你的VM除了30GB的系统盘,应该还有Azure默认分配的临时本地磁盘(Ephemeral Disk)——这类磁盘空间通常很大(比如Standard_DS系列的VM临时盘能到150GB左右),刚好和你看到的149GB可用空间对应上。Azure诊断扩展默认会采集所有挂载的文件系统数据,把系统盘、临时盘甚至附加的数据盘的空间加总在一起,就出现了远超实际系统盘的数值。
  • 诊断配置没限定范围:启用诊断时,你可能没指定只采集系统盘的指标,扩展默认会拉取所有文件系统的统计数据,导致图表展示的是所有磁盘的总和,而非单个系统盘。
  • 统计逻辑的小差异:Azure用df -P命令采集数据,和你本地看的df -h可能有细微差别(比如是否包含root预留的5%空间),但这个不会导致这么大的偏差,核心还是多磁盘汇总的问题。

二、指标准确性的判断

这些指标采集本身是准确的,但展示的范围不对——它不是你关注的单个系统盘数据,而是所有挂载磁盘的空间总和。你算一下:24.5GB已用+149GB可用=173.5GB,明显远大于30GB的系统盘,这就坐实了是多磁盘数据被合并展示的问题。

三、调试排查的具体步骤

1. 先确认VM上的实际挂载情况

登录到你的Linux VM,执行这条命令查看所有挂载的文件系统:

df -h

你会看到每个挂载点的总空间、已用、可用数据,对比一下就能找到那个大空间的临时盘(通常挂载在/mnt或者/dev/sdb1),把所有磁盘的可用空间加起来,应该就和Azure Monitor显示的149GB对上了。

2. 检查Azure诊断设置的配置

  • 登录Azure门户,进入你的VM,找到诊断设置(Diagnostic settings)。
  • 找到Filesystem free space和Filesystem used space这两个指标,看看它们的维度设置。默认情况下,这些指标是带有Filesystem维度的,你可以在Azure Monitor的图表编辑界面,添加「拆分依据」选择Filesystem,这样就能看到每个磁盘的单独数据,而不是总和。
  • 如果诊断设置里没做任何筛选,扩展就会采集所有挂载的文件系统数据,自然会把临时盘的空间算进去。

3. 验证诊断扩展的采集逻辑

Azure Linux诊断扩展(wad_linux)是用df -P命令来获取文件系统数据的,你在VM上手动执行:

df -P

把输出里的Used列数值加起来,看看是不是等于Azure Monitor显示的24.5GB;Available列加起来是不是149GB。这样就能100%确认是多磁盘汇总的问题。

4. 调整诊断设置(按需)

如果只需要监控系统盘的空间,你可以修改诊断设置:

  • 在诊断设置的指标部分,找到文件系统相关指标,点击「编辑指标」。
  • 添加维度筛选,选择Filesystem等于你的系统盘对应的设备名(比如/dev/sda1,或者/对应的挂载设备)。
  • 保存设置后,等10-15分钟,再看Azure Monitor的图表,就能看到正确的单个系统盘空间数据了。

内容的提问来源于stack exchange,提问作者Dmitry Shvetsov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:26:17