I am using Hyper-V on my Windows Server 2008 R2 DC x64 machine. I am also using standard SATA drives. I read some threads on here about defraging but could not reach a conclusion about whether or not I should use defragging. Can anyone shed some light on whether this will be right for me?

Furthermore, what tool is best? There seems to be 3:

Anyone have experience with this?

link|improve this question

30% accept rate
1  
Are you talking about defragging the host or the client? – Mark Henderson Apr 13 '10 at 23:24
feedback

5 Answers

Yes, you will achieve performance improvement by defragmenting the host and the virtual machines, unless you're running on Solid State storage.

However, the amount of improvement depends, so that's for a test that you can perform in your own time :-)

I use Defraggler, from Piriform.

link|improve this answer
+1 I was screwing around with my disks on my guest, restarted and the performance dropped by like 90%, running defraggler on the host put it back to normal. – Chris Marisic Mar 16 '11 at 12:30
feedback

Windows file systems will benefit from defraging but, as Rudolph has already stated, the amount of benefit you will receive can vary. It really depends on just what is fragmented, how much and how far apart the bits are scattered on the disk(s). This is because the real performance hit caused by fragmentation results from the head having to charge all over the place to read or write a fragmented file.

For best results I suggest you perform some tests and make a decision regarding defragmentation strategy, both method and frequency, based on the results of your tests. In short, if you don't really see an improvement it's probably not worth the bother.

As for what to use, I'm quite happy with MyDefrag

link|improve this answer
feedback

Maybe you've already seen these pdfs, but if you haven't, you may find these useful

http://downloads.diskeeper.com/pdf/Topix_WP_en_DOLLAR.pdf

Best thing to do is download the V-locity trialware and check it out for yourself to see if it helps in your specific situation; all the theoretical arguments for/against are meaningless unless your system actually benefits.

link|improve this answer
feedback

IMO, defragging servers is a waste of time unless you are running a high-volume file and/or print server that regularly runs near capacity or sees a high turnover of files.

Testing doesn't hurt, but don't expect much.

link|improve this answer
feedback

As others have said, it really depends on how fragmented your data is. The easiest and cheapest route is to just use the disk management tools that come with Windows to see the defragmentation levels, and then make a decision from there.

Host Issues: The host obviously has the OS files and the virtual machine hard drive images (assuming they are physical files locally - other storage technologies will be different). They will benefit from defragging if they are fragmented, but typically they don't fragment too badly. The worst offenders will be the dynamic drives that change size as the data they contain increases. There are tools you can run to compact them down, but really for a dedicated server you are probably better off just converting them to fixed size images, defrag them once and then forget about it.

Guest Issues: Fragmentation issues can still be a problem, so it is a good idea to at least check each guest to see what fragmentation exists (again, using the available tools). For dynamic disks, running a defrag inside the guest should really be accompanied by zero-ing out the available sectors in the virtual disk so that it can be reclaimed and optimized. Again, if you have the available storage to just convert them to fixed size drives, I would really recommend that. I typically use sdelete.exe from Sysinternals like this:

sdelete -c c:

For Linux I would imagine you could use /dev/null or something to fill in the blanks.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.