DF may show logical space consumption
Applies to
- ONTAP Select
- ONTAP 9.6
Answer
Article explains:
- The user data (vol status -S) calculation
- What does df take into account?
- Gap between the df used / total used (vol status -S) and the physical used.
In this case, there are holes reserved as the customer was using CIFS, which uses file reservations.
Calculations
- Use the following node shell command:
> vol status -S
User Data is realized by subtracting the metadata (FS metadata + Inodes + Deduplication metafiles + quota metafiles + snap reserve - snap reserve unusable ) from the "total used" of the same command.
Example:
Volume : fsdebsgv5602_HyV_SQL_2
Feature Used Used%
------------------------ ------------ ----------
User Data 896GB 13%
Filesystem Metadata 356MB 0%
Inodes 524KB 0%
Deduplication 2.56GB 0%
Quota Metafiles 20.0KB 0%
Total 899GB 13%
Total Physical Used 94.5GB 1%
Logical Used 6.01TB 86%
Logical Available 6.12TB 87%
899 GiB - 356 MiB - 524 KiB - 2.56 GiB - 20.0 KiB = 896 GiB
What does df take into account?
- Delayed allocations
- File reservations if any (hole reserves/overwrite reserves/cifs eof reserves)
- Blocks reserved by flexible space pools for different operations.
- PostCP saved counters: in-CP inline savings (packing/idedup) that cannot be released to general front-end use until the CP has its superblock safely on-disk.
- Snapshot spill (blocks trapped in snapshots beyond snap-reserve).
The gap between df used and physical used
- In case of an apparent huge difference between the df used and the physical used (vol status -S), it's mostly possible that there are file reservations that occur at volume level and not at aggregate level.
- File/LUN reservations are the holes reserves and overwrite reserves, whose users are CIFS and LUNs. This can be understood using the fields in the stat show commands.
- Start statistics for volume object:
::> set advanced
::*> statistics start -object volume
::*> statistics show -object volume <> -counter wv_fsinfo_blks_blks_rsrv_holes_cifs
::*> statistics show -object volume <> -counter wv_fsinfo_blks_blks_rsrv_overwrite
::*> statistics stop
Example:
volume:vol1:wv_fsinfo_blks_blks_rsrv_holes_cifs:212453208
volume:vol1:wv_fsinfo_blks_blks_rsrv_overwrite:0
- The difference between in the
df
.used/ total used and the physical used can be realized by these hole reserved 212453208
Additional Information
- used total size of df command is bigger than logical used of show-efficiency command
- How to calculate the non-guaranteed volume for thin provisioning space on df
- Discrepancies between aggregate and volume when using the df command
- How to check volume space usage discrepancies between df and aggr show_space using stats show volume
- "logical available space" discrepancies for flexvol volumes