This release includes experimental support for thinly-provisioned
logical volumes using the new device-mapper thin provisioning target
in kernel 3.2.
This is still a *development* release and the new feature is not
supported by all the LVM commands yet.
The various interface extensions for thin provisioning are not frozen.
So we might still decide to tweak the command line extensions, library
functions, on-disk metadata extensions, tool output, configuration
options etc. in ways that make later releases incompatible with this
particular release.
Please try it out, test it, and give us feedback preferably on the
mailing list lvm-devel@redhat.com.
Ensure your kernel is at least version 3.2 and compiled with
DM_THIN_PROVISIONING.
Add '--with-thin=internal' to your configure line.
You should have --enable-dmeventd too and install dmeventd for automatic
extension of nearly-full thin volumes.
Fedora users may use this package:
lvm2-2.02.89-2.fc17
http://koji.fedoraproject.org/koji/buildinfo?buildID=295965
(or a newer one, if we rebuild it)
The basic idea
--------------
You create a logical volume known as the "thin pool" to hold the disk
space you want to use inside your volume group.
Then you create "thin" logical volumes which share the space in that pool.
lvs and lvdisplay will tell you "how full" your pool is.
dmeventd will monitor how full your pool is, and automatically use
unallocated physical extents to extend it according to the policy in
lvm.conf. Do not allow your pool to fill up!
You can also take snapshots of thin volumes.
There are basic examples in the man pages, and sophisticated
examples in the test scripts (e.g. test/shell/lvcreate-thin.sh).
With lvcreate, think of -L as controlling actual disk space and -V as
controlling virtual size. -T is a short-cut indicating the use of
something thin. If not specified, volume names (like lvol0) are
generated whenever needed.
Creating a pool needs actual disk space, so use -L.
Creating a thin volume use virtual space, so use -V.
You can have more than one pool in a VG, so to use an existing one
you must mention which it is on the command line.
(Of course, we will be producing additional documentation eventually.)
Commands that should mostly work with thin volumes at this stage:
Other commands have not been updated and may fail in surprising way.
(If one of them causes you problems, we're unlikely to be interested.)
In particular, be aware that vgcfgrestore only restores the LVM metadata
and NOT the in-kernel thin metadata and so can easily cause crashes or
corruption at the moment.
Alasdair
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
01-30-2012, 05:29 AM
Kirby Zhou
New LVM2 release 2.02.89: Thinly-provisioned logical volumes
Can the thinly-provisioned logical volume automatically return its owned space to the pool?
I mean, if I create a huge file on the logical volume, then delete it, will the logical volume actual space size be reduced automatically?
If not, how can it be shrinked?
This release includes experimental support for thinly-provisioned logical volumes using the new device-mapper thin provisioning target in kernel 3.2.
This is still a *development* release and the new feature is not supported by all the LVM commands yet.
The various interface extensions for thin provisioning are not frozen.
So we might still decide to tweak the command line extensions, library functions, on-disk metadata extensions, tool output, configuration options etc. in ways that make later releases incompatible with this particular release.
Please try it out, test it, and give us feedback preferably on the mailing list lvm-devel@redhat.com.
Ensure your kernel is at least version 3.2 and compiled with DM_THIN_PROVISIONING.
Add '--with-thin=internal' to your configure line.
You should have --enable-dmeventd too and install dmeventd for automatic extension of nearly-full thin volumes.
Fedora users may use this package:
lvm2-2.02.89-2.fc17
http://koji.fedoraproject.org/koji/buildinfo?buildID=295965
(or a newer one, if we rebuild it)
The basic idea
--------------
You create a logical volume known as the "thin pool" to hold the disk space you want to use inside your volume group.
Then you create "thin" logical volumes which share the space in that pool.
lvs and lvdisplay will tell you "how full" your pool is.
dmeventd will monitor how full your pool is, and automatically use unallocated physical extents to extend it according to the policy in lvm.conf. Do not allow your pool to fill up!
You can also take snapshots of thin volumes.
There are basic examples in the man pages, and sophisticated examples in the test scripts (e.g. test/shell/lvcreate-thin.sh).
With lvcreate, think of -L as controlling actual disk space and -V as controlling virtual size. -T is a short-cut indicating the use of something thin. If not specified, volume names (like lvol0) are generated whenever needed.
Creating a pool needs actual disk space, so use -L.
Creating a thin volume use virtual space, so use -V.
You can have more than one pool in a VG, so to use an existing one you must mention which it is on the command line.
(Of course, we will be producing additional documentation eventually.)
Commands that should mostly work with thin volumes at this stage:
Other commands have not been updated and may fail in surprising way.
(If one of them causes you problems, we're unlikely to be interested.)
In particular, be aware that vgcfgrestore only restores the LVM metadata and NOT the in-kernel thin metadata and so can easily cause crashes or corruption at the moment.
Alasdair
_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel