ONTAP Discussions

Snapshots taking space inside a datastore


I'm using snapshots on NFS volumes that are being used as VMware datastores.   VMware sees a datastore size of 4TB.  The NetApp volume itself is 5TB, so that the extra 1TB of space can be used for snapshots.  However, it seems that even though snapshots are only 200TB, they are reducing the free space available in the VMware datastore.  What could be causing this and what setting in NetApp controls this?





Are you using snap reserve to limit what vmware sees as 4TB?  If you're using quotas I could see this as a problem, if you're using snap reserve vmware shouldn't notice.  Unless of course that's all the free space you have in your aggregate which would reduce the available size for all volumes.


i'm not sure if we are using snapreserve to limit what VMware sees as 4TB.  Where would I check that in NetApp and what effect would it have on this problem if it were being used?  If the size of my volume snapshots is 200GB, and inside the datastore 2TB of space is taken by VMs, would that cause VMWare to see 2.2TB used instead of 2TB?


If you're on the command line it'd be something like this:


vol show -vserver <my_vserver> -volume <my_volume> -fields percent-snapshot-space


If the percent is 0% then you have no snap reserve.


If you're more of a GUI person, select your volume, then under "snapshot copies", select "configure", and you can see the snapshot reserve %.  On a 4TB volume you'd need at least 5% to handle 200GB of snapshots.


I generally don't do this, I like to have the snap space decrement the space in vcenter as the guests don't see it anyway.  ESX volumes *cannot* fill or they'll halt all IO, so I like to use autogrow to make sure they don't.  That's under, edit volume, then the advanced tab


OK thanks again.  Snap reserve is 20%.  For a 5TB volume, this means I should have 1TB for snapshots, right?  so snapshots should not begin taking up space on the VMware datastore until they grow over 1TB right?  Any idea why if snapshots are only 200GB that they are taking space out of the 4TB that is presented to VMware?  


Yes, that's correct.  Here's an example:



cluster1::> vol show -vserver vserver1 -volume vol1 -fields percent-snapshot-space,total,used,snapshot-space-used

vserver volume      total  used    percent-snapshot-space snapshot-space-used

------- ----------- ------ ------- ---------------------- -------------------

vserver1 vol1 2.85TB 268.9GB 5%                     11%


The total available is 2.85TB with a 5% snapshot overhead.  So the total volume is 3TB with 150GB allocated to snapshots.  Of that 150GB, 11% has been used in snapshots or about 16.5GB.  And when I look at the snapshot output, that's about right:


cluster1::> vol snapshot show -vserver vserver1 -volumevol1


Vserver  Volume   Snapshot                                  Size Total% Used%

-------- -------- ------------------------------------- -------- ------ -----

vserver1 vol1

                  daily_file.2017-11-15_0200             316.4MB     0%    0%

                  daily_file.2017-11-16_0200              2.07GB     0%    1%

                  hourly_file.2017-11-16_1500             2.80GB     0%    1%

                  daily_file.2017-11-17_0200              1.72GB     0%    1%

                  hourly_file.2017-11-17_1000             8.04MB     0%    0%

... etc ...


Another handy output is df:


cluster1::> df -h vol1

Filesystem               total       used      avail capacity  Mounted on                 Vserver

/vol/vol1/       2918GB      268GB     2649GB       9%  /vol1               vserver1


                         153GB       16GB      137GB      11%  /vol1/.snapshot     vserver1

2 entries were displayed.


What does 'df' output look like for you?