SNMP 上的存储大小为负值

SNMP 上的存储大小为负值

Windows 存储服务器上的 5 TB 卷空间不足,因此我们将数据复制到新的 10 TB 卷中。

现在我们基于 nagios 的监控报告的数据让我很不满意。当我查看数据时,我注意到它报告的卷总空间为负值。

  • 状态信息:
    V:标签:VolumeXYZ 序列号 f6435543:-72%已使用(4545076MB/-6291462MB) (<80%):正常
  • 性能数据:'V:_Label:VolumeXYZ__Serial_Number_f6435543'=4545076MB;-5033169;-5662316;0;-6291462

一开始我以为是缓存问题,但后来我通过手动查找值snmpwalk。结果是:

iso.3.6.1.2.1.25.2.3.1.1.6 = INTEGER: 6
iso.3.6.1.2.1.25.2.3.1.2.6 = OID: iso.3.6.1.2.1.25.2.1.4
iso.3.6.1.2.1.25.2.3.1.3.6 = STRING: "V:\\ Label:VolumeXYZ  Serial Number f6435543"
iso.3.6.1.2.1.25.2.3.1.4.6 = INTEGER: 4096
iso.3.6.1.2.1.25.2.3.1.5.6 = INTEGER: -1610614235
iso.3.6.1.2.1.25.2.3.1.6.6 = INTEGER: 1163527892
iso.3.6.1.2.1.25.2.3.1.7.6 = Counter32: 0

鉴于所有其他卷在分支中都报告正值iso.3.6.1.2.1.25.2.3.1.5,我假设在这里看到相关卷的负值,这表明了为什么我在 nagios 中看到负值。

我该如何补救这种情况?

答案1

负数是由于整数溢出用于报告块数量的有符号 32 位整数

我在基于 Linux 的 NAS 上也遇到过同样的问题。我能够在 Linux 中伪造更大的块大小,从而防止整数溢出,并且块大小 * 块数的乘积会产生正确的存储量。漏洞报告了 Net-SNMP 的修补可用。我不确定您是否能以同样的方式调整 Windows 系统。

相关内容