[linux-lvm] dynamic allocation
mangoo at wpkg.org
Wed Dec 19 09:23:03 UTC 2007
Corin Langosch schrieb:
> I'm using lvm2. Currently I have on big VG (100GB) and several LV for
> VServers each 20GB. So my system is limited to having 5 Vservers.
> Is it possible to tell lvm2 to start with only little allocation and
> dynamically grow the LV? I know I can grow it using the command line
> tools but I want it to happen fully automatically.
> So in terms of comands something like:
> lvcreate --size-max 20GB --size-grow 100MB --size-start 1GB vserver06 data
> So the LV would intitially allocate only 1GB of the VG and allocate new
> space in 100MB as it needs, stopping at a maximum size of 20GB. Of
> course I would then have to make sure the VG has enough free blocks for
> the LVs to grow, but that shouldn't be a problem.
> I think this should technically be possible as software like VirtualBox
> can grow it's image file the same way to. If lvm can't to that, could
> that be done with some kind of loopback device? Which is the best way
> (also in terms of performance) to handle such a setup?
Right now it's not possible (kernel-side).
The best you can do is to use a user-space tool which will monitor a
given volume, and grow it when needed. Saying that, I'm thinking
primarily of snapshots. You may see a similar discussion last month -
With dynamic non-snapshot volumes there is one significant problem
added: not only must you grow the volume; you also have to (live-)grow
the filesystem (ext3, xfs, ntfs, raw volumes serving as partitioned
disks for virtualised guests etc.) that sits on top of that volume.
Perhaps if some skilled developer considers dynamic volumes for LVM in
the future (be it snapshots, or normal volumes) a good idea would be to
allow to create a "sparse volume" (similar to a sparse file, where space
was allocated, but not actually filled with data yet) which could grow,
if there is still place on the physical volume (with no space, make the
device read only).
More information about the linux-lvm