Logical volume management
Robert Watson
rwatson at FreeBSD.org
Fri Nov 18 10:36:32 PST 2005
On Fri, 18 Nov 2005, Alexander Leidinger wrote:
>> - What I'm suggesting may or may not look like Linux's LVM; I've never
>> used that. If its data structure is suitable, we can just use that and
>> gain some compatibility for multi-boot systems.
>
> This statement is a little bit simplified, but you're describing a
> stripped and crippled down version of Solaris ZFS (at least from the
> functionality point of view).
I think we find ourselves faced with an interesting question: in the past,
logical volume management has been done at one of two levels. It's been
extensively explored at the block device level -- a large number of volume
managers have subdivided, mirrored, managed, etc, chunks of storage which
are then exposed as a single contigous logical volume to higher level file
system code. In the past, and especially recently with ZFS, file systems
have also become involved. For example, AFS provides a logical volume
notion that is a high level abstraction in the file system, permitting
migrating of components of a global name space between services, quotas,
etc. Advantages to doing it at the block storage level are that the
implementations tend to be relatively simple, and pretty robust.
However, they also tend to be fairly naive with regards to storage
requirements relating to file systems: you are forced to "hard allocate"
resources to name space components, the higher level file system still
requires support for notions such as size changes, etc. Disdvantages are
that your file system code becomes a lot more complicated.
Implementing basic logical volume managements as a series of GOEM classes
shouldn't be too hard -- the most difficult bit is configuration
management and the management of long-running operations that may be
interrupted by reboot, hardware failure, etc (replicating data, migrating
volumes, and so on). You may need things like journaled configuration and
so on.
However, as recent discussion of ZFS illustrates, you can get some really
nice benefits from tight integration -- logical file system volumes that
offer layout-based quotas, reliability or performance properties based on
location in the name space, etc.
Robert N M Watson
More information about the freebsd-current
mailing list