How, why and when to defragment your Windows Server disks
Regular defragmentation doesn't only speed up file access, it can extend the life of the drive
Scheduling depends largely on usage, but should never be less than once a month. If uncertain, you can initially manually run periodic scans of increasing time span to determine how fast drives typically fragment.
Windows does include its own defragmentation application however this has several limitations, including only being able to defragment local volumes and only being able to defragment one volume at a time. Although some of these have been addressed in Windows Server 2008, third-party tools like Diskeeper and O&O Defrag offer more features.
Automate defragmentation with batch files and command flags. For Windows' own utility, DEFRAG.EXE /f will force a defrag even if space is low.
Schedule the run through the GUI or with the AT command using the syntax "AT \\computername time /interactive | /every:date,... /next:date,... command". For example "AT 03:00am /every:M,W,F C:\defrag.bat" will run the batch file at three in the morning every Monday, Wednesday and Friday.
You can see the tasks created by the AT commands in the Task Scheduler (Control Panel > Administrative Tools).
For clients using virtualisation, you may need to set up defragmentation more often, perhaps even daily. That's because the VM files are usually a single very large file so even minimal fragmentation can affect performance.
Vendors such as Diskeeper also offer real time scanning, which constantly monitors performance and defragments drives when not in use, removing the need to schedule defragmentation.