9fans archive / 1997 / 07 / 36 / prev next
From: G. David Butler gdb@dbS...
Subject: File Server extention for mirrored devices
Date: Sat, 12 Jul 1997 09:59:03 -0500
>From: beto@ncu...
>
>In <199707111304.IAA07712@ns....>
> "G. David Butler" <gdb@dbS...> wrote:
>
>> I would like to propose the following extension to fsconfig(8):
>>
>> { device... }
>> A pseudo-device formed by mirroring corresponding blocks of the
>> devices in the list. The size of the result is the number of
>> blocks on the smallest device.
>>
This is RAID 1, no?
>Well if we are proposing new devices I'll like to have
>stripping on the fs, or even raid.
>
>fs has interleave and concat disks but the
>max. performance is limited by one disk. It does not
Huh?
>break a block in pieces and does the IO in parallel.
No, but it interleaves the blocks across drives thereby
doing the IO in "parallel".
>I don't think it's applicable to the juke box,
>a lot of noise in the machine room :-)
Why not. You have two (or more) jukes then you can
inteleave between either platters or entire boxes.
The configuration langauge Ken Thompson has created is an
elegant way of specifing file system layouts. Since it
has recursive definitions you can have interleave concat
drives or vice versa.
So if you have scsi disks targets 0 and 1 and juke boxes on targets 2 and 3:
(the amount of scsi disk is dependent on how you plan to use the system.)
I wouldn't recommend this!!
filesys main c[w0.<0-1>][(r0.2.<0-99>r0.3.<0-99>)]
This would be better.
filesys main [cw0.0r0.2.<0-99>cw0.1r0.3.<0-99>]
More conventional.
filesys main c[w0.<0-1>](r0.2.<0-99>r0.3.<0-99>)
If you have it, flaunt it!
filesys main c[w0.<0-1>][r0.2.<0-99>r0.3.<0-99>]
With my proposal you can also have mirrored stripes, or concat mirrors.
filesys main {[w<0-1>][w<2-3>]} mirror of stripe of drives 0,1 and 2,3
filesys main [{w<0-1>}{w<2-3>}] stripe of mirror of drives 0,1 and 2,3
You get the idea.
As far as parity strips (like RAID 5 or 7), I would recommend buying an
external RAID and put it on the filesystem. I don't like them much
since they can perform very poorly in failure modes. Mirrors are more
expensive but do not destroy performance. Also mirrors, as defined
above, can consist of 3 or more members and thus not fail on a two drive
failure. RAID 5 or 7 can't do that.
Also, I am thinking of implementing the mirror so the reads are
round-robined (is that a word?) across the members for increased
performance.
David Butler
gdb@dbS...