On 24/11/2020 18:50, Mukund Sivaraman wrote:
(a) With RAID-5, assuming there are 4 member disks A, B, C, D, a write operation with its data on disk A and stripe's parity on disk B may involve:
Close
1. a read of the stripe 2. update of data in the stripe
2.5 write A^C^D
3. computation and update of parity A^C^D on B These are not atomic updates. If power is lost between steps 2 and 3, upon recovery the mismatch between data and parity for the stripe would be found and the parity can be updated on B. The data chunk written to A may be incomplete if power is lost during step 2, but the ext4's journal would return the FS to a consistent state. Moreover, there should not be any modification/corruption of data in the stripe on disks C and D (assuming the disks are OK).
I *don't* think that's necessarily true. Yes it probably is true, but it's not guaranteed ...
(b) With RAID-6, assuming there are 5 member disks A, B, C, D, E, a write operation with its data on disk A and stripe's parity on disks B(p) and C(q) would involve: 1. a read of the stripe 2. update of data in stripe
2.5 write A^D^E
3. computation and update of parity on B(p) 4. update of parity on C(q)
Cheers, Wol