Re: Where to put RAID (was Re: LVM etc... biggest thread in history)

Shawn Leas (sleas@ixion.honeywell.com)
Mon, 17 Aug 1998 00:57:24 -0500 (CDT)


1st, this thread is a thousand years old, but here goes anyway...

On 17 Aug 1998, Matthias Urlichs wrote:

> David Lang <dlang@diginsite.com> writes:

> Both LVM and RAID should be implemented by taking a few devices and
> combining them to yield another new device (RAID), or a bunch of them
> (LVM). Thus, if you use an LVM on top of a RAID array the additional
> overhead is just the procedure call to the RAID's read or write code,
> which should certainly be acceptable. In addition, I think the code is
> maintainable a whole lot better if you keep them in separate modules.

LVM is a physical to logical address remapping mechanism, that will do
software RAID, in which case there is an interface by which you can get
info about any given metadevice (LV). For instance, if you want to know
about the RAID personality of an LV, there are lv_ functions that will
give you this in the liblvm.

As for separating RAID and LVM, this is a fundamental mistake IMHO,
because you are duplicating the most basic functionality of the LVM in the
RAID code, which is the physical to logical address remapping. It is the
foundation on which both principals are built! If ANY separation is to be
done, it would be making the remapping mechanism totally generic, and
building both RAID LVM modules on top of that, and that is just being
anal. (That is just my opinion, the rest should be fact)

LVM is therefore the best place to put RAID, as RAID is just an LV
personality, so to speak.

> The "is this block on the same spindle as that block" question which an
> optimizing file system might want to ask its underlying device isn't really
> a LVL vs. RAID problem -- both would just pass the request (which would ask
> for, for instance, a device-specific struct pointer so comparisons are
> meaningful) down to whichever device owns the block in question.

This is a question easier answered by keeping it all in LVM, 'cause the
lv_ functions you use can do this, and there are many other LV personality
goodies you can also find out from here. No need to confrabulate things
by furbling any more nurbels. I say, learn from Veritas.

-Shawn
<=========== America Held Hostage ===========>
Day 2034 for the poor and the middle class.
Day 2053 for the rich and the dead.
888 days remaining in the Raw Deal.
<============================================>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html