RAID Configuration for Servers
Last Updated: 30 Oct 2005
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*** PLEASE NOTE: Link(s), If Provided, May Be Wrapped ***
RAID stands for both/either of the following:
• Redundant Array of Inexpensive Disks
• Redundant Array of Independent Disks
It was originally developed to attain large storage sizes
at a time where disk costs increased exponentially with
disk size, and also to improve the speed and reliablity of
storage.
Today, the most commonly used RAID levels on workstations
and servers are 0, 1, and 5 (although RAID 0 provides no
redundancy whatsoever). Other fairly common levels found
on high-end servers are RAID 10 and RAID 50.
RAID STORAGE CALCULATOR
The following formulas calculate the storage available
with the various RAID levels:
N = number of drives
S = Size of smallest drive
LEVEL FORMULA NUMBER OF DRIVES NEEDED
==========================================================
RAID 0 = S * N ............... at least 2 drives
RAID 1 = S ................... exactly 2 drives
RAID 5 = S * ((N - 1)) ....... at least 3 drives
RAID 10 = S * ((N / 2)) ....... even number of drives; minimum = 4
RAID 50 = S * ((N / 2) - 1) ... even number of drives; minimum = 6
Any RAID level which involves mirroring (1, 10 & 50) will
consume half of your storage right off the bat. Because
RAID 5 also causes the loss of a drive to parity, RAID 50
is the most expensive of the RAID types in use today.
Bear in mind that any drives allocated as hot-spare will
not be available for storage either...
THE DIFFERENCE BETWEEN RAID 0+1 and RAID 10
Note that RAID 10 and RAID 0+1 are different in a very
subtle way. The former is a stripe of mirrors, while
the latter is a mirror of two stripe arrays, making the
latter somewhat less redundant. A RAID 10 array can
potentially sustain the failure of more than two disks
without performance or data loss:
See the following diagram for more clarity.
• http://KB.UltraTech-llc.com/Diagrams/?File=RAID.JPG
In a typical RAID 0+1, if you lost disk A1, that would
kill the entire A-Striped array, leaving you running on
the B-Striped array (which cannot tolerate any subsequent
disk failure).
However, in a typical RAID 10, if you lost disk A1, disk
A2 would be just fine. You could also lose on drive in the
B-mirror and one in the C-mirror without losing your entire
storage array.
Vendors have not been consistent in how they implement
the functionality they refer to as RAID 0+1, particularly
in consumer level controllers. Some vendors make no
distinction between these two RAID types, but it can be
a huge distinction depending on the desired result.
SOFTWARE RAID vs HARDWARE RAID
You should avoid software RAID like the plague. Really.
It is far less flexible than Hardware RAID, requires more
CPU cycles to operate, and the lack of any hot-swap
capabilities means that you will likely suffer downtime
to correct a failed drive, even if your system doesn't
immediately crash and burn.
Additionally, with NT4 and earlier, all of the RAID
configuration info is stored in the registry, which
means that if the OS goes, you're basically looking at
restoring from tape... With Win2K and later, RAID is
enabled through Dynamic Disks, and the info is stored on
the drives themselves.
There's also a 3rd party product that purports to run
on Windows NT, 2000 and XP
• http://www.winraid.com/
ATA RAID
ATA/IDE RAID is every bit robust enough for smaller,
budget conscious environments, particularly in the file
server space. In fact, where large sequential data
streams are read, as with file or multimedia servers,
ATA RAID from high-end vendors (like 3Ware) offer serious
advantages over higher priced SCSI solutions.
For database servers or servers with lots of random
file access, however, SCSI RAID still cannot be touched.
This should be negated somewhat as Serial ATA becomes
more prevalent.
SERVER CONFIGURATIONS
Here are my *preferred* hard drive configurations for
various types of file and application servers, assuming
SCSI drives (substitute larger drives as necessary):
• FILE/WEB SERVER ................ assuming 4-6 drives total
{Low Space Requirements or Small Footprint}
* 2 x 9GB (or 18GB) ----- RAID1 (OS and pagefile)
* 2 x 18GB (or 36GB) ----- RAID1 (Apps and Data)
{More Space}
* 2 x 9GB (or 18GB) ----- RAID1 (OS and pagefile)
* 4 x 18GB (or 36GB) ----- RAID5 (Apps and Data)
{More Redundancy}
* 2 x 9GB (or 18GB) ----- RAID1 (OS and pagefile)
* 3 x 18GB (or 36GB) ----- RAID5 (Apps and Data)
* 1 x 18GB (or 36GB) ----- Hot Spare
• DATABASE TYPE SERVER ........... assuming 6-10 drives total
{Low Space Requirements or Small Footprint}
* 2 x 9GB (or 18GB) ----- RAID1 (OS and pagefile)
* 2 x 18GB (or 36GB) ----- RAID1 (Database Logs)
* 2 x 18GB (or 36GB) ----- RAID1 (Databases)
{More Space Redundancy}
* 2 x 9GB (or 18GB) ----- RAID1 (OS and pagefile)
* 2 x 18GB (or 36GB) ----- RAID1 (Database Logs)
* 6 x 18GB (or 36GB) ----- RAID5 (Databases)
{More Redundancy}
* 2 x 9GB (or 18GB) ----- RAID1 (OS and pagefile)
* 2 x 18GB (or 36GB) ----- RAID1 (Database Logs)
* 5 x 18GB (or 36GB) ----- RAID5 (Databases)
* 1 x 18GB (or 36GB) ----- Hot Spare
{Redundancy and Performance}
* 2 x 9GB (or 18GB) ----- RAID1 (OS and pagefile)
* 2 x 18GB (or 36GB) ----- RAID1 (Database Logs)
* 6 x 18GB (or 36GB) ----- RAID10 (Databases)
BEST PRACTICES - OS on RAID5
Many folks like the ease of configuring a single RAID5
array and then partitioning it to obtain drive C:, D:
and other necessary drives on the server.
Except for development or home systems, I am opposed to
such a configuration, preferring to stick to the layouts
shown above. Mixing RAID1 and RAID5, rather than using
one big RAID5 does incur additional costs for drives,
but the performance and flexibility it provides are
well worth it in any production environment.
Here are some of the advantages of carving all your
space out of one big array:
• If you lose a drive, the entire system performance
will be degraded while the until the new drive has
been rebuilt, not just the data partition.
• If you encounter a situation where the OS alone is
corrupt, and you want to transplant the data to
another system with the same configuration, this is
hard to do if you're using one big RAID5, but very
easy to do if you're using a RAID1 partition for
your OS.
• With a single RAID5 array, you are forced to put
all of your I/O on one RAID channel, negating any
benefits of performance that would be available
with a multi-channel RAID adapter.
• A pagefile running against a RAID5 partition is slower
than one which does not have to endure any parity
calculations.
BEST PRACTICES - PAGEFILE on RAID
Here are some things to avoid as it relates to various
RAID levels and the Windows pagefile. In environments
where there is zero concern for performance/reliability
some of these may be ignored:
• Don't place the pagefile on RAID5 array
• Don't spread the pagefile across separate partitions
on the same disk. Use separate physical disks.
• Don't place your pagefile on a non-redundant disk
unless your entire system is running without RAID.
In order of desirability, the pagefile on a server or
high-end workstation SHOULD be deployed as follows:
• Across multiple, non-busy drives (not just different partitions)
• On its very own dedicated redundant array
• On a non-busy drive where %SystemRoot% does NOT reside
• On the same drive and partition as %SystemRoot%
If your pagefile is on a single drive, and that drive
goes south, it won't matter how redundant the rest of
your system is -- it will crash. Thus, even though it
is not desirable in terms of performance, placing your
pagefile on a RAID5 partition would still be better than
having it on a single drive (with regards to uptime and
redundancy).
These are the guidelines I try to follow regarding the
optimal drive configuration for recoverability and for
performance with Windows systems (NT and higher). To
support more esoteric configurations or a different
number of drives, simply adjust your RAID choices and
individual disk sizes accordingly...
NOTE: If you are lucky enough to find 4GB or 9GB drives,
use them for the OS, but you'll probably be stuck with
18GB or 36GB drives at this point... If not 73GB
WHITEPAPERS & TECH DOCUMENTS
• http://www.acnc.com/raid.html
• http://www.epidauros.be/raid.jpg (humor)
• http://www.vnroundup.com/index.php?item=articles/raid
• http://www.storagereview.com/guide2000/ref/hdd/perf/raid/
• http://www.3ware.com/products/pdf/RAID_Primer.pdf
• http://eval.veritas.com/webfiles/docs/RAIDirectorWP.PDF
• http://www.business.com/search/rslt_default.asp?AID=678176&PID=261920&query=Redundant%20Arrays%20of%20Independent%20Disks&submit=search
• http://www.digidata.com/raiddesc.html
• http://www.members.home.net/slater/raid/
• http://www.microsoft.com/TechNet/win2000/choosing.asp
• http://www.raidweb.com/whatis.html
• http://www.whatis.com/WhatIs_Definition_Page/0,4152,214332,00.html
• http://www.promise.com/ATARaid/
• http://msdn.microsoft.com/library/periodic/period00/RAID.htm
• http://www.twincom.com/raid.html
• http://webopedia.internet.com/TERM/R/RAID.html
BENCHMARKS
• http://www.acnc.com/04_02.html
• http://www.dalantech.com/atto.shtml
• http://www.3ware.com/storage/summaryReport.asp
REVIEWS
• http://tech-report.com/reviews/2002q4/ideraid/index.x?pg=1
• http://www.storagereview.com/articles/200102/20010214ST1000_vs_Escalade_1.html
ATA RAID VENDORS
• http://www.3ware.com/
• http://www.adaptec.com/
• http://www.highpoint-tech.com/
• http://www.lsilogic.com/
• http://www.promise.com/
• http://www.serialata.com
PERSONAL NOTES
• Oct 2005: SATA RAID is now well established as a robust,
but low-cost option for small businesses or departmental
systems vs. more costly SCSI RAID. It doesn't hurt that
you can get more more ATA/SATA drive for the money.
• ATA RAID is gaining some serious momentum. I'm using
it at home, and it performs better than advertised.
I'm still not at the level where I would consider it
appropriate for Mission Critical servers. Home,
Development and extremely low-budget environments are
good candidates, but I am still of the mind that
SERVER = SCSI. On the desktop, the cost and size of
ATA drives are considerable advantages for almost
every situation (multimedia aside).
• 3Ware makes some awesome, ATA RAID controllers,
supporting up to 8 drives, and various RAID configs.
Their benchmarks must be seen to be believed.
• There is a subtle difference between RAID0+1 and RAID10
that should not be overlooked. In all likelihood, it is
the latter that you want, not the former.
• Be on the lookout for Serial ATA (SATA), which provides
improvements on the performance and flexibility of ATA
devices.