On 2014-07-09 20:00, Greg Freemyer wrote:
fyi: Raid 5 and 6 have the same issue, but the most efficient write size is the size of a full raid stripe. XFS as an example will try to structure it's writes to be full stripes when working with Raid. Thus a full stripe write becomes: write all data and parity chunks.
A partial stripe write becomes:
- read data about to be overwritten, - read old parity info. - Calculate new parity info. - - Write new data, - write new parity info
Thus a single partial stripe write to a raid 5 requires at least 4 i/o operations. For a raid 6, it is a minimum of 5 i/o's. Having the filesystem invoke properly aligned full stripe writes is significantly more efficient.
Doh! So that's why! And you mean that number of i/o per disk on the raid? No, that can not be. It has to be one read per disk, that is, 3 reads (which should happen simultaneously). Calculate parity. Do 3 writes, one per disk (which should also happen simultaneously). Mmm... it does not match what you say, so I must be getting it wrong :-? -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar)