I wrote: > > There's a bit more to RAID6 then adding a second parity > block in a stripe. > > Consider the following stripe: > > > > D1 D2 D3 P1 P2 > > > > If P1 and P2 represent the same encoding of D1 + D2 + D3 > (say, XOR like RAID > > 4/5) you cannot withstand the loss of any two drives. If > two of the data > > drives go down, you are still toast. > > > > You can withstand two data drives going down by not using > the same set of > > drives. If P1 = D1+D2 and P2 = D2+D3, you can now > withstand any two data > > drives going down. But if P1 and D1 go down together, you > are still toast. > Ross Vandegrift wrote: > My interpretation was that the cross-encoding of P1=D1+D2 and P2=D2+D3 > was a given. Is that wrong? > If P1=D1+D2 and P2+D3, you have the following matrix: OK: (D1 and D2 fail) D1 (D2 + P1), D2 (D3 + P2), D3 healthy OK: (D1 and D3 fail) D1 (D2 + P1), D2 healthy, D3 (D2 + P2) no: (D1 and P1 fail), D1 -lost-, D2 healthy, D3 healthy OK: (D1 and P2 lost), D1 (D2 + P1), D2 healthy, D3 healthy OK: (D2 and D3 fail), D1 healthy, D2 (D1 + P1), D3 (D2 + P2) OK: (D2 and P1 fail), D1 healthy, D2 (D3 + P2), D3 healthy OK: (D2 and P2 fail), D1 healthy, D2 (D1 + P1), D3 healthy OK: (D3 and P1 fail), D1 healthy, D2 healthy, D3 (D2 + P2) no: (D3 and P2 fail), D1 healthy, D2 healthy, D3 -lost- OK: (P1 and P2 fail), D1 healthy, D2 healthy, D3 healthy So 20% of the two-drive failures result in data loss. If you rotate parity (a la RAID 5), that pretty much guarantees data loss when the RAID goes down. With fixed parity, it's better fault tolerance than a 6-drive RAID 10, but it's still not great. You can protect yourself completely from two drive failures by adding P3=D1+D3. This is the same wastage as RAID 10, but safer (and significantly more complex). Plus you can rotate parity. This is not really RAID 6, however. Just a dual-fault tolerant scheme. Dale Stephenson steph@snapserver.com - To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html