Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 04 Oct 2006 17:35:57 +0100
From:      Pete French <petefrench@ticketswitch.com>
To:        fullermd@over-yonder.net
Cc:        jasen.gibson@ge.com, freebsd-amd64@freebsd.org
Subject:   Re: suggestions for SATA RAID cards
Message-ID:  <E1GV9iv-0007hZ-T9@dilbert.firstcallgroup.co.uk>
In-Reply-To: <20061004152125.GK75501@over-yonder.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> I would guess that's nothing to do with blocks or striping per se.  A
> single big file won't be laid out 'sequentially' on the disk; the
> filesystem tries to avoid filling up cylinder blocks.  It puts enough
> in given places that the seek costs are pretty low.  So, after reading
> one bit a while, it'll seek somewhere and start another read.  The
> controller could issue that read to another component of the mirror;

yes, the filesystenm layout may well make it leap around the drives. But
what I am wanting to ensure is that if I issue a 128k block read to
the drives then it will satisfy this by reading two lots of 64k, one from
each mirror, in parallel. If this is true, and if I am sequentially
reading blocks from a file, then even if the files moves about on the drives,
the requests for blocks should always come from both drives at once.

It isn't doung this, and I found a couple of interesting things - one
being the 'stripe size' parameter inside the RAID controller which
is set to 64k, and the oter being a comment somewhere that FreeBSD never
issues more than 64k read requests at once. So I was speculating that
what is happening is that I am reading 64k chunks, and is this is less
than the stipre size then controller is almost always satisfying these from
a single drive.

Of course I am making some large assumtions here about the internal
workings of the RAID controller, which may well be wrong - but then thats
why I asked the question.

> I'd expect a sufficiently smart RAID controller to even out across the
> disks, even when there's only one process reading (not that the
> controller knows anything about 'processes', but...)

Yes, so would I - and it isn't doing so.

-pete.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1GV9iv-0007hZ-T9>