Are there good reasons to partition disks on Windows?

Solution 1:

One of the primary reasons I use different partitions is that of separating the data from the OS. Should you need to re-install windows (which we all know is quite likely) at any point you can do so without needing to move your data off to somewhere else.

As partitions on the same disk will be using the same spindle theres very little to be gained in terms of speed with partitioning a single disk.

Solution 2:

Putting swap on a different disk will not be faster since it's still the same physical disk.

However, by partitioning you can actually determine whether the partitions should be on the inner or outer part of the physical disk (depending on partition order). Thus you can make one partition on the outer edge of the disk that's way faster than the one on the inner part of the disk. Putting swap there might theoretically increase performance. It might also increase disk thrashing since the disk head will have to move from the innermost part to the outermost more often.

Solution 3:

I have always put my user data on D: and this has saved me on multiple occasions.

  1. D drive fails / starts failing. I am able to attach another drive, copy things over, remap and get back up to speed pretty quickly.
  2. C drive fails. Does not affect my user data. Reinstall/reimage, map D: on and I'm back in business.
  3. I can keep upgrading the D drive to larger and larger capacities as newer drives come out.
  4. There's the performance increase as mentioned from having multiple spindles.

YMMV.

Solution 4:

I doubt you would see any performance increase for the first or third items you have listed. Partitioning a single disk doesn't avoid the fact that you need time to seek the head over the proper track and then need to wait for the desired sector to rotate under the head.

The time is lost due to physical reasons. Separating partitions won't improve that latency.

However, I am a huge fan of using it to separate data from the operating system. Makes it a breeze when you need to do a reinstall.

Solution 5:

In general, partitions are inflexible things and one should use as few as possible. However, when the OS partition runs out of space it tends to make a server unstable, so there are still good reasons for using separate partitions, even when only using a single disk array.

  1. Shadow Copies - when using MS shadow copy on file servers, this helps prevent a high I/O load from causing some of the shadow copies to be deleted or filling up a data or OS partition. Recommended 16 KB minimum cluster size to mitigate defragmentation problems that might otherwise delete some of the shadow copy data. See here for more info: http://technet.microsoft.com/en-us/library/cc753975.aspx

  2. Quotas - when using MS quotas, they can only be applied on a per volume/partition basis. While it is possible to apply them to the OS partition, it can cause problems for windows components, installing programs, and service and system accounts if not managed correctly.

  3. Separate user data - Keeping user data separate from OS and application data allows you to recover from various problems and easily upgrade or reload the OS. More importantly, should your users unexpectedly fill up the user partition (say, by copying a VM file to the user share), it won't crash the whole server.

  4. Separate log files - should you experience a BSOD or the OS partition become corrupted and need restoration, this preserves your logs for forensic troubleshooting. Also prevents the log files from filling up the OS partition and causing server instability.

  5. Separate paging file - cheap memory makes swap files less critical than they used to be, but are still recommended. Swap files thrive best with large cluster sizes, 64 KB or larger, and in one contiguous block of disk space. Recommend a partition at least double the size of RAM. Paging files and log files can go on the same partition to simplify the configuration.