On 2013-04-16 23:56, Jay Heyl wrote:
result in more devices being hit for both read and write. Or am I wrong
about reads being issued in parallel to all the mirrors in the array?

Yes, in normal case (not scrubbing which makes a point of reading
everything) this assumption is wrong. Writes do hit all devices
(mirror halves or raid disks), but reads should be in parallel.
For mechanical HDDs this allows to double average read speeds
(or triple for 3-way mirrors, etc.) because different spindles
begin using their heads in shorter strokes around different areas,
if there are enough concurrent randomly placed reads.

Due to ZFS data structure, you know your target block's expected
checksum before you read its data (from any mirror half, or from
data disks in a raidzn); then ZFS calculates the checksum of the
data it has read and combined, and only if there is a mismatch, it
has to read from other disks for redundancy (and fix the detected
broken part).

HTH,
//Jim


_______________________________________________
OpenIndiana-discuss mailing list
[email protected]
http://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to