Messages in this thread | | | Date | Mon, 17 Aug 1998 00:57:24 -0500 (CDT) | From | Shawn Leas <> | Subject | Re: Where to put RAID (was Re: LVM etc... biggest thread in history) |
| |
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
| |