I have a cheap 2-bay NAS with a 2TB HDD. To be robust against disk failure, I'm thinking of buying a second 2TB HDD and putting it in RAID1 with Linux mdadm. The file system is ext4.

Will this increase or decrease the performance of the NAS? What about just read or write performance?

There seem to be lots of opinions about this online but no consensus.

Thanks.

Edit:

So already I've got three different answers: "a fair bit faster", "you wont notice" and "will decrease the performance if anything". (I am interested primarily in read performance.) Wikipedia says "the read performance can go up roughly as a linear multiple of the number of copies". Which one is it?

Edit 2:

I've found mounting evidence in support of RAID1 increasing read performance, including the MD manpage:

Changes are written to all devices in parallel. Data is read from any one device. The driver attempts to distribute read requests across all devices to maximise performance.

I also discovered MD's RAID10 with --layout=f2, which provides redundancy of RAID1 with the read performance of RAID0, and can be used with just two drives. The write performance is reduced however, as a sequential write involves both drives seeking back and forth between distant parts of the drive. man md for details.

link|improve this question
1  
writes; a little slower. reads; a fair bit faster. From what i understand, the write difference is nearly zero though, and the read is pretty noticeable. – Sirex Feb 3 at 9:33
Just what sirex says.. you wont notice performance difference with the bare eye.. Dont expect to double it or even half it. – ppumkin Feb 3 at 9:37
feedback

2 Answers

up vote 2 down vote accepted

Yes, you will get a reading performance boost + the redundancy. You can easily imagine that as you can read the parts of the files at the same from two different HDDs as the files are on both of the HDDs.

So theoretically, if the RAID controller does its job right, you could gain a speedup of O(n).

link|improve this answer
1  
mdadm is software RAID so there is actually no "RAID controller" but it will provide a good read boost when doing multplie reads in parallel, not so much in this case I suppose as a NAS box is rarely concurently acccessed. See here for details: freebsdwiki.net/index.php/… – Shadok Feb 7 at 14:41
feedback

RAID 1 will not improve performance it is just going to give you greater redundancy and will decrease performance if anything (especially when using software and not hardware RAID).

However it does out perform other fault tolerant RAID levels and is often the best choice when you need fault tolerance and performance

Obviously if you are looking for performance without fault tolerance RAID 0 will give you a boost

link|improve this answer
RAID 1 will improve read performance, theoretically up to two times but most likely less, the chunk size and the type of reads/writes are worth considering before initially creating the array. – Shadok Feb 7 at 14:29
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.