[Ilugc] Nested RAID 0+1 (SW)

  • From: rajasuperman@xxxxxxxxx (Raja Subramanian)
  • Date: Tue Mar 24 11:26:16 2009

On Tue, Mar 24, 2009 at 10:30 AM, Arun Khan <knura@xxxxxxxxx> wrote:

The main motivation for considering RAID, I want to implement VMs with
the virtual disks on RAID to take advantage of striping.

I am wondering if is there any significant advantage of doing sw RAID
1+0 (4 disks) v/s sw RAID5 (3 disks).

Avoid sw RAID 5 like the plague!

RAID 10 has following advantages:

1. far less computational overhead on CPU.  If you run sw RAID5,
the CPU does the parity computation.  This has the bad side effect
of flushing the CPU cache on every write and results in terrible
performance.


2. even hardware RAID5 is to be avoided for write intensive workloads.
This is because if you write less than a full RAID5 stripe width, you
incur the read-modify-write penalty.  You end up doing 3 x more IO
for every write and performance is terrible.  Even higher end SAN
arrays have this limitation.  The way they solve it is by having huge
battery backed RAM caches, and tuning the RAID stripe width
according to application IO.

RAID1 has no such issues.

Note: check out ZFS -- RAIDZ always does full stripe writes and thus
has no issues with read-modify-write.  ZFS also has other nice
features.


3. 4 HDDs instead of 3 HDDs will give you better performance.


4. RAID10 recovery is much easier and faster.  In a large RAID5 set,
if a disk fails, the entire set needs to be read for rebuilding the failed
disk.  In large TB sized raid groups, rebuild can take 8hrs or more.
RAID6, etc with dual parity can overcome this issue.

Rebuild of RAID10 is much faster as only 2 disks need to be read
for a rebuild.


I also suggest that you consult the Best Practices documents of
you VM vendor.  VMWare, Citrix Xen and Microsoft Hyper-V
websites have excellent documentation on how the IO subsystem
needs to be configured for optimal working of their solutions.

- Raja

Other related posts: