Get started Bring yourself up to speed with our introductory content.

Optimizing virtual hard disks with RAID arrays

After reading one of expert Anil Desai's articles, a reader had some more questions. Find out what our expert had to say about designing a RAID array for placement on multiple VHDs.

I read your recent article, " Designing virtual hard disk storage."

It began to touch on a subject that is not very well published: Optimizing VHD's (virtual hard disks) with RAID arrays. Do you have any more specific information on designing a RAID array for placement of multiple VHDs?

It sounds like the possibility of good performance exists rather than having to use independent disks, but some specific examples of scaling and performance would be great.

I'm glad you read the article, and thanks for the follow-up question. You're right - RAID file placement isn't covered all that much. I think it's one of those topics that's more art than science in some cases. I hope this helps:

Start by categorizing the types of disk activity you have. For example, fixed-size and dynamically-expanding VHDs could have a lot of write activity (for example, if you're virtualizing a transaction-processing database), a lot of read activity (for example, in the case of a file server), or neither (in the case of Web server that caches most of its content). Next, look at the types of reads or writes: Are they primarily sequential or random? You can measure all of this using tools like the Windows Performance Monitor (see my article "Designing Virtual Hard Disk Storage" for more details.) Also, consider the activity patterns for undo disks and differencing disks.

Now, on to RAID: Your goal is to choose RAID configurations that allow you to minimize contention for disk access. If you have two large VHDs that generate a lot of random reads, for example, you might want to place them on separate spindles. RAID 0+1 or RAID-5 would be good candidates here (since you won't have to worry much about parity calculation overhead). Some general tips are to separate base VHDs from their associated undo disks and differencing disks (since these are often accessed concurrently).

Dig Deeper on Virtual server backup and storage