summaryrefslogtreecommitdiff
path: root/man/lvmcache.7_main
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2020-01-30 14:09:21 -0600
committerDavid Teigland <teigland@redhat.com>2020-01-30 14:09:21 -0600
commit2444e830a90fe84721bd61f950946eedcbce0af7 (patch)
tree17585396e5c61e295ea94c9f537aa9085b49326b /man/lvmcache.7_main
parent8810c11bc924e8871f97aa25c61e73b3b3f1fa87 (diff)
downloadlvm2-2444e830a90fe84721bd61f950946eedcbce0af7.tar.gz
man: updates to lvmcache
Diffstat (limited to 'man/lvmcache.7_main')
-rw-r--r--man/lvmcache.7_main99
1 files changed, 54 insertions, 45 deletions
diff --git a/man/lvmcache.7_main b/man/lvmcache.7_main
index 985b79a3f..fb91be880 100644
--- a/man/lvmcache.7_main
+++ b/man/lvmcache.7_main
@@ -5,24 +5,32 @@ lvmcache \(em LVM caching
.SH DESCRIPTION
\fBlvm\fP(8) includes two kinds of caching that can be used to improve the
-performance of a Logical Volume (LV). Typically, a smaller, faster device
-is used to improve i/o performance of a larger, slower LV. To do this, a
-separate LV is created from the faster device, and then the original LV is
-converted to start using the fast LV.
+performance of a Logical Volume (LV). When caching, varying subsets of an
+LV's data are temporarily stored on a smaller, faster device (e.g. an SSD)
+to improve the performance of the LV.
+
+To do this with lvm, a new special LV is first created from the faster
+device. This LV will hold the cache. Then, the new fast LV is attached to
+the main LV by way of an lvconvert command. lvconvert inserts one of the
+device mapper caching targets into the main LV's i/o path. The device
+mapper target combines the main LV and fast LV into a hybrid device that looks
+like the main LV, but has better performance. While the main LV is being
+used, portions of its data will be temporarily and transparently stored on
+the special fast LV.
The two kinds of caching are:
.IP \[bu] 2
-A read and write hot-spot cache, using the dm-cache kernel module. This
-cache is slow moving, and adjusts the cache content over time so that the
-most used parts of the LV are kept on the faster device. Both reads and
-writes use the cache. LVM refers to this using the LV type \fBcache\fP.
+A read and write hot-spot cache, using the dm-cache kernel module.
+This cache tracks access patterns and adjusts its content deliberately so
+that commonly used parts of the main LV are likely to be found on the fast
+storage. LVM refers to this using the LV type \fBcache\fP.
.IP \[bu] 2
-A streaming write cache, using the dm-writecache kernel module. This
-cache is intended to be used with SSD or PMEM devices to speed up all
-writes to an LV. Reads do not use this cache. LVM refers to this using
-the LV type \fBwritecache\fP.
+A write cache, using the dm-writecache kernel module. This cache can be
+used with SSD or PMEM devices to speed up all writes to the main LV. Data
+read from the main LV is not stored in the cache, only newly written data.
+LVM refers to this using the LV type \fBwritecache\fP.
.SH USAGE
@@ -30,30 +38,31 @@ Both kinds of caching use similar lvm commands:
.B 1. Identify main LV that needs caching
-A main LV exists on slower devices.
+The main LV may already exist, and is located on larger, slower devices.
+A main LV would be created with a command like:
.nf
- $ lvcreate -n main -L Size vg /dev/slow
+ $ lvcreate -n main -L Size vg /dev/slow_hhd
.fi
.B 2. Identify fast LV to use as the cache
-A fast LV exists on faster devices. This LV will be used to hold the
-cache.
+A fast LV is created using one or more fast devices, like an SSD. This
+special LV will be used to hold the cache:
.nf
- $ lvcreate -n fast -L Size vg /dev/fast
+ $ lvcreate -n fast -L Size vg /dev/fast_ssd
$ lvs -a
LV Attr Type Devices
- fast -wi------- linear /dev/fast
- main -wi------- linear /dev/slow
+ fast -wi------- linear /dev/fast_ssd
+ main -wi------- linear /dev/slow_hhd
.fi
.B 3. Start caching the main LV
-To start caching the main LV using the fast LV, convert the main LV to the
-desired caching type, and specify the fast LV to use:
+To start caching the main LV, convert the main LV to the desired caching
+type, and specify the fast LV to use as the cache:
.nf
using dm-cache:
@@ -83,16 +92,16 @@ using dm-cache:
$ lvs -a
LV Pool Type Devices
main [fast_cvol] cache main_corig(0)
- [fast_cvol] linear /dev/fast
- [main_corig] linear /dev/slow
+ [fast_cvol] linear /dev/fast_ssd
+ [main_corig] linear /dev/slow_hhd
using dm-writecache:
$ lvs -a
LV Pool Type Devices
main [fast_cvol] writecache main_wcorig(0)
- [fast_cvol] linear /dev/fast
- [main_wcorig] linear /dev/slow
+ [fast_cvol] linear /dev/fast_ssd
+ [main_wcorig] linear /dev/slow_hhd
using dm-cache (with cachepool):
@@ -100,9 +109,9 @@ using dm-cache (with cachepool):
LV Pool Type Devices
main [fast_cpool] cache main_corig(0)
[fast_cpool] cache-pool fast_pool_cdata(0)
- [fast_cpool_cdata] linear /dev/fast
- [fast_cpool_cmeta] linear /dev/fast
- [main_corig] linear /dev/slow
+ [fast_cpool_cdata] linear /dev/fast_ssd
+ [fast_cpool_cmeta] linear /dev/fast_ssd
+ [main_corig] linear /dev/slow_hhd
.fi
.B 5. Use the main LV
@@ -120,8 +129,8 @@ attached.
$ lvs -a
LV VG Attr Type Devices
- fast vg -wi------- linear /dev/fast
- main vg -wi------- linear /dev/slow
+ fast vg -wi------- linear /dev/fast_ssd
+ main vg -wi------- linear /dev/slow_hhd
.fi
@@ -137,21 +146,21 @@ attached.
.I LV
.br
-Pass this option a standard LV. With a cachevol, cache data and metadata
-are contained within the single LV. This is used with dm-writecache or
-dm-cache.
+Pass this option a fast LV that should be used to hold the cache. With a
+cachevol, cache data and metadata are stored in different parts of the
+same fast LV. This option can be used with dm-writecache or dm-cache.
.B --cachepool
.IR CachePoolLV | LV
.br
-Pass this option a cache pool object. With a cache pool, lvm places cache
-data and cache metadata on different LVs. The two LVs together are called
-a cache pool. This permits specific placement of data and metadata. A
-cache pool is represented as a special type of LV that cannot be used
-directly. (If a standard LV is passed to this option, lvm will first
-convert it to a cache pool by combining it with another LV to use for
-metadata.) This can be used with dm-cache.
+Pass this option a cachepool LV or a standard LV. When using a cache
+pool, lvm places cache data and cache metadata on different LVs. The two
+LVs together are called a cache pool. This permits specific placement of
+data and metadata. A cache pool is represented as a special type of LV
+that cannot be used directly. If a standard LV is passed with this
+option, lvm will first convert it to a cache pool by combining it with
+another LV to use for metadata. This option can be used with dm-cache.
\&
@@ -267,8 +276,8 @@ LV that references two sub LVs, one for data and one for metadata.
To create a cache pool from two separate LVs:
.nf
-$ lvcreate -n fast -L DataSize vg /dev/fast1
-$ lvcreate -n fastmeta -L MetadataSize vg /dev/fast2
+$ lvcreate -n fast -L DataSize vg /dev/fast_ssd1
+$ lvcreate -n fastmeta -L MetadataSize vg /dev/fast_ssd2
$ lvconvert --type cache-pool --poolmetadata fastmeta vg/fast
.fi
@@ -286,8 +295,8 @@ cache pool LV from the two specified LVs, and use the cache pool to start
caching the main LV.
.nf
-$ lvcreate -n fast -L DataSize vg /dev/fast1
-$ lvcreate -n fastmeta -L MetadataSize vg /dev/fast2
+$ lvcreate -n fast -L DataSize vg /dev/fast_ssd1
+$ lvcreate -n fastmeta -L MetadataSize vg /dev/fast_ssd2
$ lvconvert --type cache --cachepool fast --poolmetadata fastmeta vg/main
.fi
@@ -418,7 +427,7 @@ and metadata LVs, each of the sub-LVs can use raid1.)
.nf
$ lvcreate -n main -L Size vg /dev/slow
-$ lvcreate --type raid1 -m 1 -n fast -L Size vg /dev/fast1 /dev/fast2
+$ lvcreate --type raid1 -m 1 -n fast -L Size vg /dev/ssd1 /dev/ssd2
$ lvconvert --type cache --cachevol fast vg/main
.fi