Windows 2008r2 SNMP hrStorageSize reporting wrong values

snmpwindows

I'm trying to monitor disks on windows 2008 R2 system, but I'm getting wrong values returned from hrStorageSize and hrStorageUsed for one of the 2 disks the system has. Local disk C: is returning correct values, whereas D: disk, which is an SAN disk, is reporting 32G instead of 500G.
Output of snmpwalk -v 2c -c public hostname-01 .1.3.6.1.2.1.25.2 :

HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: C:\ Label:  Serial Number 7ff87ca6
HOST-RESOURCES-MIB::hrStorageDescr.2 = STRING: D:\ Label:Data  Serial Number dab5b0b9
...
HOST-RESOURCES-MIB::hrStorageAllocationUnits.1 = INTEGER: 4096 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.2 = INTEGER: 4096 Bytes
...
HOST-RESOURCES-MIB::hrStorageSize.1 = INTEGER: 35834383
HOST-RESOURCES-MIB::hrStorageSize.2 = INTEGER: 7864320
...
HOST-RESOURCES-MIB::hrStorageUsed.1 = INTEGER: 32460169
HOST-RESOURCES-MIB::hrStorageUsed.2 = INTEGER: 3192302

I have calculated the first disk (C:) size as 136G, which is correct.
On the other hand, D: is calculated as 30G, where it should be 500G.
I also tried fsutil on the system and the output was correct.

Anyone have any ideas?

Best Answer

If the disk is a data user disk and you have disk quota enabled then check your quota entries. You should set to "No limit" every entry that belongs to NT AUTHORITY\NETWORK SERVICE and NT AUTHORITY\SYSTEM.

When you enable disk quotas,both entries would get a limit of 30GB. That's why your D: drive is calculated as 30GB instead of 500GB.