FlexCache volumes can be smaller than their origin volumes. However, making your FlexCache volume too small can negatively impact your caching performance. When the FlexCache volume begins to fill up, it flushes old data to make room for newly requested data. When that old data is requested again, it must be retrieved from the origin volume.
For best performance, set all FlexCache volumes to the size of their containing aggregate. For example, if you have two FlexCache volumes sharing a single 2TB aggregate, you should set the size of both FlexCache volumes to 2TB. This approach provides the maximum caching performance for both volumes, because the FlexCache volumes manage the shared space to accelerate the client workload on both volumes. The aggregate should be large enough to hold all of the clients' working sets.
FlexCache volumes do not use space management in the same manner as regular FlexVol volumes. When you create a FlexCache volume of a certain size, that volume will not grow larger than that size. However, only a certain amount of space is preallocated for the volume. The amount of disk space allocated for a FlexCache volume is determined by the value of the flexcache_min_reserved volume option.
Note
The default value for the flexcache_min_reserved volume option is 100 MB. You should not need to change the value of this option.
Attention
FlexCache volumes' space guarantees must be honored. When you take a FlexCache volume offline, the space allocated for the FlexCache can now be used by other volumes in the aggregate; this is true for all FlexVol volumes. However, unlike regular FlexVol volumes, FlexCache volumes cannot be brought online if there is insufficient space in the aggregate to honor their space guarantee.
You can have multiple FlexCache volumes in the same aggregate; you can also have regular FlexVol volumes in the same aggregate as your FlexCache volumes.
When you put multiple FlexCache volumes in the same aggregate, they can each be sized to be as large as the aggregate permits. This is because only the amount of space specified by the flexcache_min_reserved volume option is actually reserved for each one. The rest of the space is allocated as needed. This means that a "hot" FlexCache volume, or one that is receiving more data accesses, is permitted to take up more space, while a FlexCache volume that is not being accessed as often will gradually be reduced in size.
If you have regular FlexVol volumes in the same aggregate as your FlexCache volumes, and you start to fill up the aggregate, the FlexCache volumes can lose some of their unreserved space (only if they are not currently using it). In this case, when the FlexCache volume needs to fetch a new data block and it does not have enough free space to accommodate it, a data block must be ejected from one of the FlexCache volumes to make room for the new data block.
If this situation causes too many cache misses (as shown by the flexcache stats command), you can add more space to your aggregate or move some of your data to another aggregate.
When you use the df command on the caching storage system, you display the disk free space for the origin volume, rather than the local caching volume. You can display the disk free space for the local caching volume by using the -L option for the df command.
Copyright © 1994-2005, Network Appliance, Inc. All rights
reserved.
Part No. 210-01085_B0
File: 6vol25.htm
Last updated: 01-Dec-2005 16:51:37