5.6

Table Of Contents
Because SQL Server is extremely disk-write intensive, performance suffers when SQL is configured with
RAID 5. Understanding the RAID levels can help SQL database administrators configure the disk IO
subsystem in the most efficient manner.
n
RAID 0. Striping Without Parity. In this configuration, each block of data is written to each disk in the
array in a circular order, which means each disk in the array holds only a portion of the total data
written. Depending on the array configuration, this method drastically improves read performance,
because data can be read in small parallel chunks. This method also provides improved write
performance, because data can be written in parallel. However, time is required to break the data into
the “stripe” that will be written. Because no fault-tolerance exists in this model, when a drive fails in the
array, the entire array fails. A minimum of 2 drives is required for RAID 0 and the resulting size of the
array is calculated by adding the sizes of the drives together.
n
RAID 1. Disk Mirroring or Disk Duplexing. This configuration uses mirroring on a single channel or
duplexing when multiple channels are used. In this configuration, each bit of data that is written to a
single disk is duplicated on the second disk in the array. RAID 1 is limited to two physical disks, which
means the array is capable of increasing the read performance. In a duplexed environment, the
performance is theoretically doubled while providing fault tolerance in case a drive fails. Write
performance is not affected by RAID 1. Only two drives can participate in a RAID 1 array, and the size
of the array is the same as a single disk.
n
RAID 5. Disk Striping with Parity. As with RAID 1, data is written to each disk in the array in a “round
robin” fashion, but an additional block of data written as “parity” also exists. This parity information
can be used to rebuild the array in case of a disk failure. RAID 5 is the most popular RAID configuration
in data centers and represents an effective compromise between read performance and fault tolerance.
Because time is required to calculate the parity stripe, write performance is not as good as RAID 0. A
minimum of 3 disks is required for RAID 5. The size of the array is calculated by taking the added size
of the total disks and subtracting the size of one disk. For example, 80GB + 80GB + 80GB is equal to the
total array size of 160GB.
n
RAID 0+1. Mirror of Stripes. In this configuration, two RAID 0 arrays are mirrored with RAID 1, which
provides the fast read and write performance of RAID 0 and the fault tolerant features of RAID 1,
which addresses performance first and then fault tolerance.
n
RAID 10. Stripe of Mirrors. In this configuration, multiple RAID 1 arrays are also striped, which
addresses fault tolerance first and then performance.
Using the RAID Levels with SQLServer
When you examine the RAID levels for use with SQL Server, follow these guidelines.
n
SQL Server log files work best on RAID 10 and should never be used on RAID 5. If RAID 10 is not
available, use RAID 1.
n
SQL Server data files work best on RAID 0+1, but can be used on RAID 5 with little degradation in
performance.
n
Multiple Disk channels are preferred. At the minimum, SQL Server log files should be on a separate
physical channel from the SQL Server data files. Where possible, do not mix the log files or data files
with the OS or application files. For example, at a minimum SQL Server prefers three separate disk
channels.
Configuring SQL Server for VCM
VMware, Inc.
87