Community

Subscribe
Highlighted
Accepted Solution

Fractional reserve in Volume

Hi Folks,

The word fractional reserve is still being a ambiguous term for me.

i)Volume size when the fractional reserve is 100%-LUN Size =450 GB

Filesystem               total       used      avail capacity  Mounted on

/vol/NYC1ECHIDESX01TEMPVOL02/      463GB      463GB        0GB     100%  /vol/NYC1ECHIDESX01TEMPVOL02/

snap reserve              51GB        0GB       51GB       0%  /vol/NYC1ECHIDESX01TEMPVOL02/..

ii) Volume size with Fractional reserve -50 % for same volume,.

NYCVSNNASA001> df -Vh NYC1ECHIDESX01TEMPVOL02

Filesystem               total       used      avail capacity  Mounted on

/vol/NYC1ECHIDESX01TEMPVOL02/      463GB      454GB     8709MB      98%  /vol/NYC1ECHIDESX01TEMPVOL02/

snap reserve              51GB        0GB       51GB       0%  /vol/NYC1ECHIDESX01TEMPVOL02/..

I had 2 queries regarding the above

We have snap reserve 10 % for this volume and we don't have any snapshots in the volume

1. As per F.R defn it has to reserve the space once the first snapshot is created.In this case, how there is change in volume size occurs between two scenario's?

2.If F.R is reserved then the volume space needs to be comeback as 50 % when the F.R is reduced to 50%. But it was not happened in this case ,moreover the volume doesn't have any enough space for F.R to reserve a 100%  LUN space.

Thanks

Saran

Re: Fractional reserve in Volume

Please show

df -r

snap list

Re: Fractional reserve in Volume

The fractional reserve of a volume comes into play when two conditions exist.  The first condition is that the volume contains one or more LUNs (I strongly recommend that each volume have no more than 1 LUN.)  The second condition is that a snapshot creation is attempted.    The snapshot reserve is not directly related to the fractional reserve.

The fractional reserve is designed to ensure that the LUN remain writable at all times.  When a snapshot is created, the fractional reserve will consume enough data blocks to ensure that x% of LUN data can change.

Let's assume a 120GB volume with a 50GB LUN, a 0% snapshot reserve, and a 100% fractional reserve.

* At T0 (time zero), the volume will show 70GB of available space.
* At T1, a snapshot is created.  The fractional reserve will seize 50GB of available space.  That way, of 100% of the data blocks in the LUN are changed, the volume will not run out of free space.  The volume now shows 20GB of free space.
     - 50GB are reserved for the LUN in the active file system.
     - 50GB are reserved for future snapshots of the LUN because of the fractional reserve.
* At T2, 10GB of data has changed in the LUN.  The volume still shows 20GB of free space.



     - 50GB are reserved for the LUN in the active file system.
     - 50GB are reserved for future snapshots of the LUN because of the fractional reserve.  Of the 50GB, 10GB are used.

* At T3, a snapshot is created.  The fractional reserve will seize an additional 10GB of space because the snapshot because 10GB of the fractional reserve is consumed by the snapshot from T1.  The volume now shows 10GB of free space.
     - 50 GB are reserved for the LUN in the active file system.

     - 10 GB are reserved in the snapshot from T1.

     - 50 GB are reserved for future snapshots of the LUN because of the fractional reserve.

At T4, 20GB of LUN data has changed.  The volume now shows 10GB of free space.
     - 50 GB are reserved for the LUN in the active file system.

     - 10 GB are reserved in the snapshot from T1.

     - 50 GB are reserved for future snapshots of the LUN because of the fractional reserve.  Of the 50GB, 20GB are used.

At T5, a snapshot creation is attempted.  It fails because the NetApp cannot reserve 50GB of available space to protect the LUN's ability to remain writable.


Please let me know if that explanation helps to clear up the fractional reserve and its role.

Bill

Re: Fractional reserve in Volume

Thanks for the info bill..

Here in my case,no snapshot is been created but it reserves some space in volume..

Volume size 463 GB

LUN size 450 GB

The volume shows as 100% used..

Re: Fractional reserve in Volume

Is dedupe enabled by any chance? It tends to create a 'hidden' snapshots, which causes FR to kick in.

Re: Fractional reserve in Volume

Hi Radek,

Dedupe has been enabled for this volume.

NYCVSNNASA001> sis status /vol/NYC1ECHIDESX01TEMPVOL02

Path                           State      Status     Progress

/vol/NYC1ECHIDESX01TEMPVOL02   Enabled    Idle       Idle for 22:02:48

My concern is eventhough the snapshot created F.R needs to reserve based on the percentage mentioned.In this case i dint get a clue how its reserved.?

Re: Fractional reserve in Volume

snap list NYC1ECHIDESX01TEMPVOL02
Volume NYC1ECHIDESX01TEMPVOL02
working...

No snapshots exist.

df -r NYC1ECHIDESX01TEMPVOL02

Filesystem              kbytes       used      avail   reserved  Mounted on

/vol/NYC1ECHIDESX01TEMPVOL02/  486014976  404393880   81621096   57572656  /vol/NYC1ECHIDESX01TEMPVOL02/

snap reserve          54001664          0   54001664          0  /vol/NYC1ECHIDESX01TEMPVOL02/..

Re: Fractional reserve in Volume

Hi,

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

document .FR space will start consume once it uses all the available free space.

Regards,

Saran

Re: Fractional reserve in Volume

Hi,

Snap reserve space should be equivalent to the fractional reserve space , is that right ?

if the above statement holds true, why the default snap reserve for volume is set to 20% ( i mean in older ontap version)


Saran

Re: Fractional reserve in Volume

I think it's because ONTAP was originally made for NAS (in the 90's). And a 20% snapreserve was a good choice at that time (maybe a little too high for most environment but OK).

When SAN features arrived on ONTAP (in 2002 as far as I remember), snapreserve of 20% was an issue but the default settings stayed to 20% until now. SO you had to change it in ONTAP CLI or former GUI FilerView.

Snap reserve was not the only paramater to change for SAN volumes (create_ucode, convert_ucode, for example), and fractional_reserve appeared later (at the beginning, you had to keep fractional_reserve=100).

Since then, System Manager has been a good choice to have all settings right for SAN volumes.:

In a normal situation for a SAN volume, you would have:

- snap reserve = 0 in all cases (so all space in the volume is available for lun overwrite)

- a volume big enough to include the whole lun, plus estimated snap size plus some margin (for fractional_reserve) if you wish.

- autodelete or autosize or both activated, so you minimize risk to have a write failure.

- IMHO, volume guarantee set to volume would be the best choice for luns (but some other may think differently).

- for fractional_reserve:

     - if no snapshots are created, there is no need for fractional reserve (but be careful, deduplication, snapmirror, and other features can create snapshots).

     - if there are snapshots, and you know that your server won't fill and rewrite large parts of the lun or autosize/autodelete policies and their targets are OK to avoid the volume to fill, then fractional_reserve=0 (most cases).

     - if there are snapshots and you don't know how the server will write on the lun, and autodelete/autosize policies won't be able to avoid volume filling (because you need to keep some snapshots for example and you don't have enough space to grow the volume), then you may use some fractional_reserve to avoid any risk. This means that fractional_reserve is not linked at all with snap reserve.

Regis