Hey all. I'm fairly new to NetApp and been doing a lot of reading, but haven't found anything to directly explain this and was hoping you guys could help. I'm not even sure this is precisilely the right forum, but seemed a valid place to try.
My netapp has 2 disk aggregates of 26 disks each. aggr0 has 7.91TB, agg1 has 4.88
Aggr1 is showing super low space.
I have 2 volumes on this aggregate:
1 volume of 4.75TB
1 volume of 19GB
My aggregate is showing as only 84.5GB remaining.
However vol1 shows 1.87TB remaining and the other volume shows 9GB remaining.
I'm really confused how the aggregate can have only 86GB free, but the volume has 1.8TB free. Is this pre-allocated space and thus not really an issue as it appears to be?
What you are seeing is the difference between logical and physical storage allocations and the interactions with space guarantees.
Aggregates are physical. The total space available within an aggregate is based on the physical space on the disks that make up the aggregates.
Volumes are logical. Data of course takes up physical space when written to a volume, but until it is, the "size" of a volume is just a logical number.
Now - how that logical space interacts with physical space, in terms of capacity available, depends on the volumes "space guarantee". The default guarantee is "volume", which you might also hear described as "thicK" provisioning. Space guarantee of "volume" means guarantee that the defined capacity of the logical volume is available in the physical aggregate up front. Hence, when you create a 1TB volume in a 4TB aggregate, the total capacity of the volume is immediately subtracted from the available capacity of the aggregate to "reserve" the space. Note that nothing has yet been written to the volume. The volume will show 1TB available, and the aggregate will show 3TB available. In actuality, 4TB is still physically available in total, but 1TB of it is reserved in practice for the 1TB volume. With a space guarantee of volume you need to have the space available as indicated by aggregate capacity to define a new volume on that aggregate.
The alternative is "thin" provisioning which is a space guarantee set to "none". With this definition, the aggregate available capacity is reduced only when actual data is physically used by one of the volumes. With this type of space guarantee you can define volumes that woulud actually consume more space than exists in the aggregate if they were all filled - this is "over" provisioning. Over provisioning isn't a bad thing and in specific circumstances can be a very useful thing but obviously requires a defined management strategy for dealing with space consupmtion as aggregates start to fill.
So to your specific case. Aggr1 is 4.88TB. The two volumes defined on the aggregate total about 4.77TB. If set to the default space guarantee, this capacity is immediately removed from the aggregate's "available" capacity when reported. So the available space in the aggregate you indicate is right, even though the volumes report a bunch of available space. The space guarantee just changes the lens through which you view capacities.
Thank you, the space guarnatee was the piece of the puzzle I was missing, this makes a lot more sense. I'm writing up a huge doc on our setup for the office right now and this is super helpful. I inherited a lot of stuff from the last guy and have very little info here, so I"m trying to piece together everything and this is my first time doing netapp administration. It's a lot to learn 🙂