Subscribe

fractional reserve

I am reading that if I set fractional reserve to 100% I can overwrite my LUN

I've tried that and it doesn't work

I created a 2GB volume

I created a 1GB LUN

mapped the LUN to a windows box

filled up the disk with 700MB of data

took a snapshot

tried to put another 500MB and I get 'disk is full' from windows

(guarantee=volume)

(fractional reserve=100)

what am I missing?

Re: fractional reserve

My understanding (which is not great!)  is that the Fractional Reserve is used to ensure snapshots can still be taken when the volume is full.

When you took the snapshot, the volume size was reduced by the fractional reserve value a df -r would show the change.

What you have done is used 700MB of your 1GB LUN and then attempted to add another 500MB which exceeds the LUN capacity of 1GB. Hence the windows error that the disk is full.

If you added another 300MB file, the LUN will be full. With Fractional reserve = 100% you can still take a snapshot and ensure both LUN and snaphot data can be accommodated in the volume.

The 100% value allows a snapshot to be taken in the instance that 100% of the LUN changed since the previous snapshot.

I hope this helps.

Re: fractional reserve

Hi guys,

I recommend reading this post (plus comments) for better understanding of fractional reserve:

https://communities.netapp.com/groups/chris-kranz-hardware-pro/blog/2009/03/05/fractional-reservation--lun-overwrite

In a nutshell, fractional reserve purpose is to make sure writes to a LUN will not fail due to the volume being filled with growing snapshots. This is because how NetApp snapshots work - existing blocks are locked in snapshot, so if there is new (or changed) data to be written, some free space in a volume is required.

Regards,
Radek

Re: fractional reserve

thanks guys

I understand what it's supposed to do but why is it not doing that?

there is enough space in the volume - we only using 700MB in the LUN - the volume is 2GB

the purpose of fractional_reserve is to allow overwrite in a LUN, meaning, is I have a 1 GB LUN in a 2GB volume, I should be able to overwrite the 1GB

I hope someone can figure it out because so far I couldn't get any answer other than "read this document", which describes the expected procedure (which doesn't happen in my case)

Re: fractional reserve

You tried to put 500GB of data on a 1GB LUN and now you are surprised that you get “disk full” from Windows?

Re: fractional reserve

Volume size is irrelevant in your particular case, as the host sees the LUN size & is not aware what is going on outside of it.

Think about NetApp volume as a container for LUN, pretty much invisible from the host side in a SAN environment.

Re: fractional reserve

I understand what it's supposed to do but why is it not doing that?

It is behaving exactly as designed, it's your understanding that is lacking detail. Fractional Reserve will allow LUN data to extend into the remaining volume space, but not from the Windows side.

When the first snapshot is taken, the space is reserved in the volume and the volume available space is reduced accordingly.

When you take any snapshot, ONTAP marks all blocks in use by the active file system as read only. If one of these blocks is required to be changed in the future, a copy of that block is made, and it is that copy which is modified. With a fractional reserve, if there is not enough space to allocate this new block in your 1GB LUN it will be allocated in the fractional reserve taken off the Volume when you performed the first snapshot.

Re: fractional reserve

"You tried to put 500GB of data on a 1GB LUN and now you are surprised that you get “disk full” from Windows?"

check again - it is 500MB - it was a mistake

"Volume size is irrelevant in your particular case, as the host sees the LUN size & is not aware what is going on outside of it.

Think about NetApp volume as a container for LUN, pretty much invisible from the host side in a SAN environment"

- not true

the more replies a get, the more I see how people are confused about this

the below screen shots were taken from an official NetApp document that describes fractional reserve scenario (100% first and then 0%)

you can clearly see 50GB LUN that was filled with 100GB of data ("overwrite 25GB...)

Anyone else?

Re: fractional reserve

"Fractional Reserve will allow LUN data to extend into the remaining volume space, but not from the Windows side"

not from windows? from where would it get the overwrite then?

Re: fractional reserve

you can clearly see 50GB LUN that was filled with 100GB of data ("overwrite 25GB...)

This diagram actually gives a very good description of how fractional reserve works.

Bear in mind though "overwrite" means you are changing the data, not appending data - so at any point in time there was not more than 50GB of data within the LUN.