Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Apr 2010 08:23:32 -0600
From:      Scott Long <scottl@samsco.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Alexander Motin <mav@freebsd.org>, freebsd-current@freebsd.org, freebsd-geom@freebsd.org
Subject:   Re: Switchover to CAM ATA?
Message-ID:  <C801B33A-C677-4E6A-BCDA-AC9957302601@samsco.org>
In-Reply-To: <201004230950.33999.jhb@freebsd.org>
References:  <4BD06BD9.6030401@FreeBSD.org> <201004230950.33999.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Apr 23, 2010, at 7:50 AM, John Baldwin wrote:

> On Thursday 22 April 2010 11:31:37 am Alexander Motin wrote:
>> If ataraid(4) should be reimplemented in GEOM, then how exactly? One
>> more separate RAID infrastructure in GEOM (third?) looks excessive.
>> Reuse gmirror, gstripe,... code would be nice, but will make them =
more
>> complicated and could be not easy for RAID0+1 (due to common =
metadata)
>> and RAID5 (due to lack of module in a base system).
>=20
> Scott's view (which sounds good to me) is that GEOM should include a =
library=20
> of routines for working with common transforms such as RAID1, =
striping, etc. =20
> Each ATA RAID vendor format would then consist of a small GEOM module =
that=20
> used the library routines to manage all the I/O and the bulk of the =
module=20
> would be managing a specific metadata format.
>=20

THIS

It's hard for me to talk about RAID and FreeBSD without getting into a =
long sermon, so I'll try to keep this short.  RAID is about data =
integrity, not about mirror/stripe/parity algorithms.  Those algorithms =
are just a small part of RAID, and are merely tools for achieving the =
goals of RAID.  But RAID !=3D algorithms.  It's like how we use linked =
lists extensively within the kernel, but the kernel !=3D linked lists.

A well-designed software raid stack is going to be an engine that =
manages topology, executes and rolls back I/O transactions, and handles =
error recovery.  On-disk metadata is again just an algorithm that is =
part of this whole picture, and should be modularized as such along with =
the transforms.

And to be even more brief, the existing GEOM RAID modules are designed =
in completely the wrong direction from this.  Caveat Emptor.

Scott




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C801B33A-C677-4E6A-BCDA-AC9957302601>