[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Questions about RAID 6



Mike Bird put forth on 4/26/2010 3:04 PM:
> On Mon April 26 2010 12:29:43 Stan Hoeppner wrote:
>> Mark Allums put forth on 4/26/2010 12:51 PM:
>>> Put four drives in a RAID 1, you can suffer a loss of three drives.
>>
>> And you'll suffer pretty abysmal write performance as well.
> 
> Write performance of RAID-1 is approximately as good as a simple drive,
> which is good enough for many applications.

That's simply not correct.  The number of operations the software RAID
driver performs is equal to the number of drives in the RAID1 set per
application I/O operation.  If the application writes one sector, 512 bytes,
then the RAID driver is going to write 2048 bytes in 4 I/O transfers, one
512 byte write to each disk.  The RAID driver code will loop 4 times instead
of once on a single drive setup, once per physical I/O, quadrupling the
amount of code executed in additional to a quadrupling of the physical I/O
transfers to the platters.

On a sufficiently fast system that is not loaded, the user will likely see
no performance degradation, especially given Linux' buffered I/O
architecture.  However, on a loaded system, such as a transactional database
server or busy ftp upload server, such a RAID setup will bring the system to
its knees in short order as the CPU overhead for each 'real' disk I/O is now
increased 4x and the physical I/O bandwidth is increased 4x.

>> Also keep in mind that some software RAID implementations allow more than
>> two drives in RAID 1, most often called a "mirror set".  However, I don't
>> know of any hardware RAID controllers that allow more than 2 drives in a
>> RAID 1.  RAID 10 yields excellent fault tolerance and a substantial boost
>> to read and write performance.  Anyone considering a 4 disk mirror set
>> should do RAID 10 instead.
> 
> Some of my RAIDs are N-way RAID-1 because of the superior read performance.

If you perform some actual benchmarks you'll notice that the Linux RAID1
read performance boost is negligible, and very highly application dependent,
regardless of the number of drives.  The RAID1 driver code isn't optimized
for parallel reads.  It's mildly opportunistic at best.

Don't take my word for it, Google for "Linux software RAID performance" or
similar.  What you find should be eye opening.

-- 
Stan


Reply to: