Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here’s a tip for anyone who would like to control what goes into and is kept out of Flash Cache.
By default, Flash Cache will cache reads of WAFL metadata and user data for all volumes behind the storage controller. You have the option to cache user data for some volumes and exclude user data for others. (WAFL metadata will always be cached for every volume).
The trick is to use FlexShare quality-of-service feature in combination with Flash Cache. In the Normal (default) and Low Priority modes of Flash Cache operation you can deny caching on a volume by volume basis. Conversely, in the Metadata mode you can enable the caching of user data on a volume by volume basis.
For more information, including the FlexShare commands to use, see TR-3832 Flash Cache and PAM Best Practices Guide. Section 3 of this technical report has the details you will need to know. Here’s a link to this report:
http://media.netapp.com/documents/tr-3832.pdf
Cheers,
Mark Woods
11 REPLIES 11
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
And a new tip it is... considering that the TR was issued 16 months ago...
I don't know how widely "FlexShare" is in use, but I have found it to be very useful even with less loaded systems. Without actually having done a thorough scientific analysis, I find that it sort of evens out the bumps and spikes on the I/O "road". It adds a nice complexity to I/O scheduling that works very well for multi-purpose (the marketing droids call it "unified storage") filers. I've advised its use here in the communities a few times to solve performance situations.
Anyway, good to see that someone at NetApp is sacrificing their Sunday.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a few questions related to Flash Cache and setting priority?
- Is it better to set priority on every volume on a filer, or just a higher priority on the volumes you want to keep in cache?
- What performance impact will this have on the controller as a whole, especially the "lower" or "normal" priority volumes?
- Is there a way to dedicate an amount to keep in cache in as a percentage of the whole cache available for different volumes?
- Where can I find the most up-to-date info on setting priorities and using Flash Cache, or is TR 3832 the most current doc?
Thanks in Advance
Ryan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I see how to set priority on a volume, how does one "unset" priority, or set it back to normal?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You're not required to set the priority for every volume and it may make more sense to change the system default for caching if you find yourself setting the vast majority of volumes. Volumes that do not have a specific caching policy set will use the default system setting as determined by the flexscale options. This is also the way you can "unset" a priority, but setting cache=default (as opposed to reuse or keep). There's no way to keep a specific percentage of cache devoted to a specific volume or volumes. The options you set allow you to control the data that gets put into the cache, but the amount of cache that's used by a specific volume is determined by the workload characteristics. One can think of Flash Cache as a system-level component, similar to the WAFL main memory cache.
TR-3832 is the most current doc and may continue to be updated if necessary for future Data ONTAP releases.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ok, I am somewhat confuse with flexscale and flexshare.
Right now we have lopri_blocks on using the flexscale options. However I want certain volumes to never leave the cache. Do I use flexshare for this? how do I achieve this?
thanks,
Maico
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
TR-3832 gives examples of using this..
To enable FlexShare at the command prompt, type:
> priority on
If you only want the caching of FlexShare enabled (if you intend to use all FlexShare functionality do not
perform this step), also type:
> priority set enabled_components=cache
Once the components are enabled, you have two options to combine with the PAM caching mode:
> priority set volume Vol1 cache=keep
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am confuse with that line that says if I only want caching? What does that mean. Isn’t flexscale the one that set ups caching, either metadata, normal or lowpriority?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Flexshare can be used to turn on or off per volume. So if most volumes except a few need cache them enable it and use flexshare priority to disable on the volumes you don't want to cache. Or vice-versa to turn off the flex scale and enable on volumes that need it.
Sent from my iPhone 5
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
when I type “priority show” this is what I see.
filer> priority show
Priority scheduler is stopped.
Priority scheduler system settings:
io_concurrency: 8
enabled_components: all
What does this mean?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you have access to download the tech report I listed?
Sent from my iPhone 5
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Scott,
yes, I am currently reading it. so hear my scenario here.
What I would like is to cache all volumes, however I want certain volumes data to stay longer in the flash cache. I know it is a first in-first out in the cache. But base on what I am reading, you have to choose metadata option and then pick and choose the QoS for the volume you want to stay in cache.
I guess I am also confuse as to what metadata is vs userdata. I am reading the definitions but still not clear.
