This article can also be found in the Premium Editorial Download "Storage magazine: Optimizing your enterprise database storage."
Download it now to read this article plus other related content.
Allocating disk extends
Each application array will have different workloads. Again to simplify things, let's assume that applications 3, 6, 9 and 12 are the heaviest workloads in terms of I/O activity. Analyzing the distribution of these heavy workload applications across disks, the shaded extents indicate that disks 5, 6, 9, 10, 11 and 12 all have two I/O heavy applications on them competing for resources in the drive. It's likely that these applications could experience performance degradation due to I/O bottlenecks that would be difficult to replicate, troubleshoot and identify.
If you take a slightly different approach to allocating disk extents, where you try to mix the type of workload across member disks, you could try to reserve space on each disk for heavy applications. Diagram 2 ("...and the right way") shows the exact same set of disks, extents and arrays, but where the "bottom" extents are reserved for high I/O applications. Notice that the high I/O applications are distributed across all the disks, and none have more than one. This is obviously a lucky situation where everything happened to work out nice and square, but the fact remains that structuring disk allocations to workloads is a good idea and should probably be part of a virtualization best practice.
It's worth pointing out that limiting RAID choices to 0 and 0+1 makes the whole process of mixing applications across disks much
easier. The reader is encouraged to try their hand at allocating odd-number member arrays such as RAID 5 to see the additional complexity involved. Not only does the layout become more complex, but the real problem is the impact of the RAID 5 read/modify/write penalty that could impact the performance of all the applications storing data on drives in the array.
Performance This was first published in November 2002
Virtual storage performance can be optimized if disks are all matched and RAID 1 or RAID 0+1 are used. In transaction processing environments, RAID 0+1 has the major advantage of spreading out the I/Os over a number of disk drives. One note of caution: While it sounds simple enough, there's an art to tuning arrays for database performance that goes beyond the confines of this article and it's probably better left for experienced DBAs with detailed understanding of their applications.
This was first published in November 2002