According to TR-3749 (jan 2010), Netapp and vSphere storage best practices:
“DISK DEFRAGMENTATION UTILITIES
Virtual machines stored on NetApp storage arrays should not use disk defragmentation utilities as
the WAFL file system is designed to optimally place and access data at level below the GOS file
system. Should you be advised by a software vendor to run disk defragmentation utilities inside of
a VM, please contact the NetApp Global Support Center prior to initiating this activity.
“
I would tend to think this applies to non - VMs on Netapp storage as well.
We have an ongoing debate in our office about if we should do this or not. Seems like anyone you talk to will give you a different answer. I argue NO, you should not. A few of the cons:
- Significant growth of snapshots
- Depulicated data may have changed from the filers perspecitve when the next dedup job runs, resuling in the need to "re-dedup"
- Frequently accessed blocks are stored in cache, defraging accesses many otherwise unaccessed blocks. Now the caching algorithm will be fooled into thinking that a dormant block of data is acutally active,, and store it in cache
- increase in disk I/O traffic
- WAFL optimises placement of blocks anyway. Obviously there is no single physical disk corresponding to your guest partition.
The question is, is there a measurable overhead within the Windows guest that would be reduced by defrag, and does the benefit outweigh the chaos on the storage side caused by deffraging?