Which RAID level (5 or 0+1) should I use with 3 disks and why?

Solution 1:

Standard nested RAID10 is not possible with three drives so you may be stuck with RAID5 out of those two options.

Under Linux you can use the single-level RAID10 driver over three drives. This acts like RAID5 but with mirroring rather than checksums - giving both read performance similar to two or three drive RAID0 (depending on layout chosen and I/O pattern) and write performance similar to two drive RAID1. The redundancy offered is the same as that offered by RAID5, so essentially you get a better performing array (i.e. without the read-before-write performance hit usually seen with RAID5) with the same redundancy.

Some higher-end hardware controllers offer similar arrangements under various names. IBM controllers usually refer to it as RAID1E.

Edit:

The arrangement shown in your edit is that used by the default settings for the Linux RAID10-over-three-drives arrangement and IBM's RAID1E. The linux driver offers several arrangement options (near, far and offset) which trade different performance metrics off against each other. For instance this layout:

1     2     3
4     5     6
...   ...   ...
N-2   N-1   N
2     3     1
5     6     4
...   ...   ...
N-1   N     N-2

has performance gains for reading. Essentially it acts like a three-drive RAID0 for just reads and better still it could potentially concentrate pure read activity to the faster end of the platters of spinning-disks. It suffers on write performance with spinning disks though because the heads will end up doing half sweeps or worse more often especially for writes to sequential blocks. The default arrangement generally has write performance no better then a 2-drive RAID0 but write performance generally no worse than RAID1. See http://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10 for some more detail.

Which and Why:

To cut a long story short: if RADI1E/RAID10x3n2/what-ever-your-controller-calls-it is available in your environment and all other things are equal it should perform better than RAID5 while offering the same "any single drive can fail" redundancy, so I would say it is preferable for performance reasons. If space is more important than performance (especially write speed) then go with RAID5 as that will give you two drives worth of space rather than 1.5x.

Under Linux some would warn that 3-device RAID10 it is far less mature and tested by time than the RAID5 driver (though I think it has been in the mainline kernels long enough and been used enough to consider it relatively stable rather than "experimental"). Also if you are working in a large environment with many admins, factor in the chance of other people not understanding (only being familiar with the common 0/1/5/6/10 levels) and messing something up in their confusion!

Solution 2:

Raid5 seems similar to Raid10 with 3 drives in terms of fault-tolerance. The system can tolerate one HD failure.

However, raid5 is better in terms of overall storage capacity. You will get the size of 2 drives out of 3. In raid10, you will get only around 1.5 out of 3 (50%).