ONTAP Discussions
ONTAP Discussions
Hello there,
i have a problem creating a snapshot of a certain volume. I get the following error when invoking the "snap create" command for that volume:
"Snapshot operation failed: No space left on device."
I don't think the volume or aggreagte (aggr1) is full, am I getting something wrong?
filer01> df -A -g
Aggregate total used avail capacity
aggr2 2498GB 843GB 1654GB 34%
aggr2/.snapshot 131GB 114GB 17GB 87%
aggr0 657GB 595GB 61GB 91%
aggr0/.snapshot 0GB 0GB 0GB ---%
aggr1 4090GB 3656GB 434GB 89%
aggr1/.snapshot 0GB 0GB 0GB ---%
filer01> df -V -g
/vol/vol_solaris_bak/ 52GB 50GB 1GB 96% /vol/vol_solaris_bak/
snap reserve 13GB 0GB 13GB 0% /vol/vol_solaris_bak/..
Oh... just as i'm wrinting these lines. Can the missing snapshot reserve on the aggregate öevel be the reason for the problem???
The aggregate in question is aggr1.
Hmm, even after setting the snap reserve for the aggregate to 2% which should be enough to fit the snap for the volume in there it's not working.
Still get the "Snapshot operation failed: No space left on device." error. 😞
Any help would be appreciated. I really need to get this volume snapshotted.
If you have the code snippet, it would be helpful to see it, but just a couple of points:
1) The snapshot shouldn't take space unless there are LUNs in the volume, in which case the reserve comes into play -- if you don't have enough space, it won't let you take the snapshot because it doesn't have enough reserve in the volume for the remaining blocks based on the size(s) of the LUN(s).
2) You are showing aggregate information instead of volume information. Can you 'df -h <volume>' to display the information for the volume? I don't think you're doing aggregate level snapshots, but you're showing aggregate data instead of volume data.
3) You can always test the snapshot manually on the controller and see if it reports the same error. A simple 'snap create <volname> <snapname>' would suffice (unless you're doing some sort of 'snap create -A <aggrname> <snapname> aggregate snapshot -- but I don't know what API call you would use for something like that).
Thanks,
--Matt
Hi Matt,
i'm not doing any API calls, i'm doing all of this via SSH.
Here's the output of 'df -h <vol-name>
filer01> df -h vol_solaris_bak
Filesystem total used avail capacity Mounted on
/vol/vol_solaris_bak/ 52GB 50GB 1924MB 96% /vol/vol_solaris_bak/
snap reserve 13GB 0GB 13GB 0% /vol/vol_solaris_bak/..
The Lun inside the Vol is 50GB in size:
filer01> lun show
/vol/vol_solaris_bak/solaris_bak 50g (53687091200) (r/w, online, mapped)
If that is not enough can i get around this problem by reducing the fractional reserve?
Right now it is set to 100%.
thanks in advance
Alex
Well, a few points to consider:
1) FSR at 100% is the default to prevent running out of space in the volume for new blocks written to the LUN(s). For example, if you have no snapshots on the volume (and there's a LUN in there), once you take a snapshot, it looks at the size of the LUN(s) in the volume and the FSR percentage to determine how much space to reserve. If you don't have space based on the size required, it won't let you take the snapshot. This is the traditional 2x + delta space model.
2) If you are going to go with FSR less than 100%, you should use the 'vol autosize' and 'snap autodelete' features on the volume to help you manage space consumed by snapshots and free space in the volume. I'm a big proponent of using FSR < 100% (such as 0%) but not without first making sure you have appropriate policies set on the volumes to ensure you are keeping enough free space for your snapshots, and if you need more, the volume will automatically grow as needed or delete snapshots in an orderly manner. NetApp has a great set of tunable values to help you manage this just the way you want.
I'd highly recommend a read through NetApp Technical Report 3483 to gather a solid understanding of provisioning to both maximize your space and manage your snapshot growth in a extremely useful fashion. Before setting FSR < 100% take a look at the paper and set the volume/snapshot options according to your SLAs and your growth needs.
Hopefully this helps. Thanks,
--Matt
Hi Matt,
thanks again for your time and information.
Problem ihas been resolved using a lower fractional reserve.
Cheers,
Alex