Depending on what your system is doing (how it's used by the applications) it can be argued that making the writes to an Aggregate optimal is 'A Good Thing(TM)'. ONTAP prioritises writes anyway and if those bottleneck, everything stops with B2B CP for long periods of time in the worst case. In that kind of situation it makes no difference whatsoever if the layout for read is very good on all the FlexVols
So optimising for the Free Space Allocation Algorithm is not a bad idea per se no matter what workload you have. It won't help reads if FlexVols are fragmented, that's true as most(?) ppl are aware
Note that the idea is that you first do reallocate -A on the Aggregate in Q. Once that's finished (can take a long time, >1 week if it's big and has many inodes in it) you do
aggr options aggr_name free_space_realloc on
which will then try to keep the free space (for future writes) as optimal as it can. But it does take both back-end IOPS and CPU processing from the system. And it might not even be able to keep up with the pace of your workload very well since it's a background task. If your workload contains stuff like creating, writing and then reading plus deleting millions of files over NFS, many TB a day like we have here, it is kind of hard for the automatic free_space_realloc to keep up and it *will* cause more READs from disk which tend to increase NFS READ ops latency.
As with many other clever optimisation things NetApp has come up with (a_sis, compression...), under some workloads it is a two edged sword:
Jeff Mohler wrote:
Not only wont optimize, but makes some things much worse.
/M
Sebastian Goetze wrote:
Reallocate -A would improve *write* performance, though... It improves the 'free space layout'. But I'd switch that one on at the aggregate options level, if your system, isn't too burdened already.
aggr options aggr_name free_space_realloc on
Sebastian
P.S. For read performance, you could also think about: vol options vol1 read_realloc space_optimized (e.g. for a volume with dedupe on)
On 10/23/2013 9:01 AM, Alon Zeltser wrote:
What I meant by "full reallocate" is to perform reallocate using the –f & -p flag on all the volumes on this aggr
see https://library.netapp.com/ecmdocs/ECMP1136573/html/GUID-E1789834-11E5-4748-...
I'm aware that running reallocate on the aggregate won't optimize the layout
Thanks for the heads up though