Google Summer of Code idea
dillon at apollo.backplane.com
Fri Apr 2 11:06:10 PDT 2010
Well, one example of volume management would be, say, to cut-up a
large drive into 1G pieces and map them to logical partitions.
Individual partitions could then be expanded or contracted
trivially (with a 1G granularity) simply by adjusting the mappings,
without having to shift tons of data around. The filesystem would
only have to deal with make-bigger and make-smaller operations.
Such a manager would also be able to 'move' pieces between physical
drives without any awareness needed by the filesystem... another
way to do data migration between drives.
One advantage of HAMMER is that the a filesystem partition does not
have to be fine-grained. It can be large and PFSs can be used to
break it down into smaller pieces. A per-PFS quota feature
(one of the possible GSOC projects) can control disk use within
each PFS. This means that the volume management does not have to
deal with tiny slivers of paritions. Even 1G might be smaller
than needed. 16G would be perfect for a terrabyte+ drive.
We already have volume add/remove code in HAMMER (though the
remove code can't remove the root volume). The next logical step
is to enhance that code to allow individual volumes to be expanded
or contracted under the control of a volume manager.
<dillon at backplane.com>
More information about the Kernel