Re: possibly silly question (raid failover)

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

 



On 01/11/2011 23:58, Miles Fidelman wrote:
David Brown wrote:

You are aware, of course, that if you take your 16 drives and use
"-n8", you will get a total disk space equivalent to two drives. It
would be very resistant to drive failures, but /very/ poor space
efficiency. It would also be very fast for reads, but very slow for
writes (as everything must be written 8 times).

It's your choice - md is very flexible. But I think an eight-way
mirror would be considered somewhat unusual.

What would be particularly interesting is if I can do -n4 and configure
things in a way that insures that each of those 4 is on a different one
of my 4 boxes (4 boxes, 4 disks each).


Theoretically, that's just a matter of getting the ordering right when you are creating the array.

However, it is a lot easier to get this right if you separate the stages into setting up 4 raid1 sets, then combine them.

Remember, md RAID10 is good - but it is not always the best choice. It is particularly good for desktop use on two disks, or perhaps 3 disks, with the "far2" layout - giving you excellent speed and safety. Its advantages over standard RAID1+0 drop as the number of disks increase. In particular, RAID10 in "near" format is identical to RAID1+0 if you have a multiple of 4 disks - "far" format still has some speed advantages since it can always read from the faster outer half of the disk.

Also note that the benefits of striping also drop off for bigger disk sets (unless you have very big files, they don't fill the stripes), and if you have multiple concurrent accesses - typical for severs - striping doesn't help much.

Finally, remember the main disadvantage of md RAID10 - once it is established, you have very few re-shape possibilities. RAID0 and RAID1 sets can be easily re-shaped - you can change their size, and you can add or remove drives. This means that if you build your system using RAID1 mirrors and RAID0 striping on top, you can add new servers or change the number of disks later.

You need to establish what your needs are here - what sort of files will be accessed (big, small, etc.), what will access patterns be like (large streamed accesses, lots of concurrent small accesses, many reads many writes, etc.), and what your storage needs are (what disk sizes are you using, and what total usable disk space are you aiming for?).

One idea would be to set up 8 2-way mirrors, with the mirrors split between different machines. These 8 pairs could then be combined with RAID6. That gives you 6 disks worth of total space from your 16 disks, and protects you against at least 5 concurrent disk failures, or two complete server fails, if you arrange the pairs like this:

Server 1:  1a 3a 5a 7a
Server 2:  1b 4a 6a 7b
Server 3:  2a 3b 6b 8a
Server 4:  2b 4b 5b 8b

(Where 1a, 1b are the two halves of the same mirror.)









--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux