geom_mirror implementation

John-Mark Gurney gurney_j at efn.org
Mon Nov 10 01:32:23 PST 2003


Pawel Jakub Dawidek wrote this message on Mon, Nov 10, 2003 at 09:51 +0100:
> I've start some work on more advance RAID implementation wich should
> fit to GEOM just fine. Every RAID level will be a different GEOM class,
> but with one configuration utility. All classes will share as many code as
> possible to be flexible in adding new RAID levels in futher. Strategy
> of choosing disks, failures handle, etc. should be also general. I want to
> provide support for many on-disk metadata formats if it will be possible.
> 
> The bad news is that it is only a concept, I've only some initial code
> and project draft. I hope I'll find time to implement this.

I think GEOM aware raid is a good idea, though it'd be cool to be able
to support controllers/drives that have an onboard engine.  I've heard
of scsi drives that have an xor engine that can take a block of data,
xor it with the on disk data, write the new data, and pass the xor'd
data to the parity disk.

I've started writing a raid4 style geom module.  I've realized that this
is more complex since blocks can come in at any time, and you have to
be careful.

One thing that I wouldn't mind would be the ability to stick a cache
layer between two GEOM modules.  Could we do this by tricky use of a
vnode or something?  Read caching with a write through cache is a must
if you want decent performance in raid[45] configs.

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."


More information about the freebsd-hackers mailing list