2011-03-03 08:57 AM
We have a flex volume that is exported as a LUN to a Windows 2008 server. The application/database that uses this LUN has seen varying batch runs and we suspect that it may have something to do with the storage.
I was reading up on the reallocate command and thought it might help as well as deleting some snapshots. After deleting all but 7 snapshots and then running the reallocate command a scheduled snapshot took place at 11:59pm and then the batch run began at around 12:00am and ran much faster and we thought we had discovered the problem. However, the morning after the scheduled reallocate at 6pm and snapshot at 11:59pm, the batch ran long again.
This database does a lot of re-writing of data so I was wondering if I should be running the reallocate command with the -f and -p flags. Also, should I be concerned with when the snapshot takes place (before or after the reallocate command)? Or is the snapshot potentially the problem and we should back up a different way? Thanks.
2011-03-03 04:52 PM
I am sure you have seen this thread already: http://communities.netapp.com/message/20969#20969.
If not, then please have a look at it.
Fragmentation & reallocation are still a kind of a skeleton in NetApp's cupboard & frankly speaking, official documentation is either non-existent, or patchy.
To me, using just common sense, snapshots do increase fragmentation due to the very nature of WAFL - unless there are no / very few new writes. So if you require decent sequential read performance in a frequently changed volume with snapshots, running reallocate on regular basis could be good.
-p option is a must IMHO, as this is the only way to avoid inflating existing snapshot whilst reallocating.