Sunday, June 20, 2010

NetApp Fractional Reserve

When we snapshot the filesystem, we take a copy of the file allocation tables and this locks the data blocks in place. Any new or changed data is written to a new location, and the changed blocks are preserved on disk.

This means that any new/changed blocks (D1 ) in the active file-system are written to a different location - this overwrite space is called as fractional reserve.

Fractional reserve ensures that there is space available for overwrites and the default fractional reserve space is 100% but this can be changed and generally set to "0" value.

So the reason a LUN will be switched offline if the fractional reservation area is set to 0, is that the filer needs to protect the existing data that is locked between the active file system and the most recent snapshot, plus any additional changes that happen to the active file system. If the volume / LUN / frac-res and snap reserve are full, then this space is not available and the filer needs to take action to prevent these writes from failing. The filers guarantee no data loss, but with no space free and no-where to write the new data, it has to offline the lun to prevent the writes from failing.

So fractional reservation is in constant use by the filer as an over-write area for the LUN. Without it, you need to make sure that sufficient space is free to allow for the maximum rate of change you would expect. Defaults are good, but trimming down on these you need to monitor the rate of change and make sure the worst case scenario is within a buffer of free space that you allow.

No comments:

Post a Comment