:: RootR ::  Hosting Order Map Login   Secure Inter-Network Operations  
 
lvmcache(7) - phpMan

Command: man perldoc info search(apropos)  


LVMCACHE(7)                                                                           LVMCACHE(7)



NAME
       lvmcache — LVM caching


DESCRIPTION
       The  cache  logical  volume  type uses a small and fast LV to improve the performance of a
       large and slow LV.  It does this by storing the frequently used blocks on the  faster  LV.
       LVM  refers to the small fast LV as a cache pool LV.  The large slow LV is called the ori‐
       gin LV.  Due to requirements from dm-cache (the kernel driver),  LVM  further  splits  the
       cache  pool LV into two devices - the cache data LV and cache metadata LV.  The cache data
       LV is where copies of data blocks are kept from the origin  LV  to  increase  speed.   The
       cache  metadata  LV  holds the accounting information that specifies where data blocks are
       stored (e.g.  on the origin LV or on the cache data LV).  Users should  be  familiar  with
       these LVs if they wish to create the best and most robust cached logical volumes.


Cache Terms
       origin LV           OriginLV      large slow LV
       cache data LV       CacheDataLV   small fast LV for cache pool data
       cache metadata LV   CacheMetaLV   small fast LV for cache pool metadata
       cache pool LV       CachePoolLV   CacheDataLV + CacheMetaLV
       cache LV            CacheLV       OriginLV + CachePoolLV


Cache Usage
       The primary method for using a cache type logical volume:



   0. create OriginLV
       Create an LV or identify an existing LV to be the origin LV.

       lvcreate -n OriginLV -L LargeSize VG SlowPVs

       Example
       # lvcreate -n lvol0 -L 100G vg



   1. create CacheDataLV
       Create  the  cache data LV.  This LV will hold data blocks from the OriginLV.  The size of
       this LV is the size of the cache and will be reported as the size of the cache pool LV.

       lvcreate -n CacheDataLV -L CacheSize VG FastPVs

       Example
       # lvcreate -n cache0 -L 10G vg /dev/fast



   2. create CacheMetaLV
       Create the cache metadata LV.  This LV will hold cache pool metadata.  The size of this LV
       should be 1000 times smaller than the cache data LV, with a minimum size of 8MiB.

       lvcreate -n CacheMetaLV -L MetaSize VG FastPVs

       Example
       # lvcreate -n cache0meta -L 12M vg /dev/fast

       # lvs -a vg
         LV         VG   Attr       LSize   Pool Origin
         cache0     vg   -wi-a-----  10.00g
         cache0meta vg   -wi-a-----  12.00m
         lvol0      vg   -wi-a----- 100.00g



   3. create CachePoolLV
       Combine the data and metadata LVs into a cache pool LV.  The behavior of the cache pool LV
       can be set in this step.
       CachePoolLV takes the name of CacheDataLV.
       CacheDataLV is renamed CachePoolLV_cdata and becomes hidden.
       CacheMetaLV is renamed CachePoolLV_cmeta and becomes hidden.

       lvconvert --cachepool VG/CacheDataLV --poolmetadata VG/CacheMetaLV

       Example
       # lvconvert --cachepool vg/cache0 --poolmetadata vg/cache0meta

       # lvs -a vg
         LV              VG   Attr       LSize   Pool Origin
         cache0          vg   Cwi---C---  10.00g
         [cache0_cdata]  vg   Cwi-------  10.00g
         [cache0_cmeta]  vg   ewi-------  12.00m
         lvol0           vg   -wi-a----- 100.00g



   4. create CacheLV
       Create a cache LV by linking the cache pool LV to the  origin  LV.   The  user  accessible
       cache LV takes the name of the origin LV, while the origin LV becomes a hidden LV with the
       name OriginLV_corig.  This can be done while the origin LV is in use.
       CacheLV takes the name of OriginLV.
       OriginLV is renamed OriginLV_corig and becomes hidden.

       lvconvert --type cache --cachepool VG/CachePoolLV VG/OriginLV

       Example
       # lvconvert --type cache --cachepool vg/cache0 vg/lvol0

       # lvs -a vg
         LV              VG   Attr       LSize   Pool   Origin
         cache0          vg   Cwi---C---  10.00g
         [cache0_cdata]  vg   Cwi-ao----  10.00g
         [cache0_cmeta]  vg   ewi-ao----  12.00m
         lvol0           vg   Cwi-a-C--- 100.00g cache0 [lvol0_corig]
         [lvol0_corig]   vg   -wi-ao---- 100.00g



Cache Removal
   Removing a cache pool LV without removing its linked origin LV


       This writes back data from the cache pool to the origin LV when  necessary,  then  removes
       the cache pool LV, leaving the un-cached origin LV.

       lvremove VG/CachePoolLV

       Example
       # lvs vg
         LV     VG   Attr       LSize   Pool   Origin
         cache0 vg   Cwi---C---  10.00g
         lvol0  vg   Cwi-a-C--- 100.00g cache0 [lvol0_corig]

       # lvremove vg/cache0

       # lvs vg
         LV    VG   Attr       LSize   Pool Origin
         lvol0 vg   -wi-a----- 100.00g


   Removing an origin LV without removing its linked cache pool LV


       This  removes the origin LV, leaving the cache pool LV which can be linked to another ori‐
       gin LV.

       lvremove VG/CacheLV

       Example
       # lvs vg
         LV     VG   Attr       LSize   Pool   Origin
         cache0 vg   Cwi---C---  10.00g
         lvol0  vg   Cwi-a-C--- 100.00g cache0 [lvol0_corig]

       # lvremove vg/lvol0

       # lvs vg
         LV     VG   Attr       LSize  Pool Origin
         cache0 vg   Cwi---C--- 10.00g



Cache Topics
   Tolerate device failures in a cache pool LV


       Users who are concerned about the possibility of failures in their fast devices that could
       lead to data loss might consider making their cache pool sub-LVs redundant.

       0. Create an origin LV we wish to cache
       # lvcreate -L 10G -n lvx vg /dev/slow_devs

       1. Create a 2-way RAID1 cache data LV
       # lvcreate --type raid1 -m 1 -L 1G -n lvx_cache vg \
            /dev/fast1 /dev/fast2

       2. Create a 2-way RAID1 cache metadata LV
       # lvcreate --type raid1 -m 1 -L 8M -n lvx_cache_meta vg \
            /dev/fast1 /dev/fast2

       3. Create a cache pool LV combining cache data LV and cache metadata LV
       # lvconvert --cachepool vg/lvx_cache --poolmetadata vg/lvx_cache_meta

       4. Create a cached LV by combining the cache pool LV and origin LV
       # lvconvert --type cache --cachepool vg/lvx_cache vg/lvx


   Writethough caching


       Writethrough  caching  ensures that any data written will be stored both in the cache pool
       LV and on the origin LV.  The loss of a device associated with the cache pool LV  in  this
       case  would not mean the loss of any data.  When combining the cache data LV and the cache
       metadata LV to form the cache pool LV, properties of the cache can be specified - in  this
       case, writethrough vs. writeback.

       0. Create an origin LV we wish to cache (yours may already exist)
       # lvcreate -L 10G -n lvx vg /dev/slow

       1. Create a cache data LV
       # lvcreate -L 1G -n lvx_cache vg /dev/fast

       2. Create a cache metadata LV
       # lvcreate -L 8M -n lvx_cache_meta vg /dev/fast

       3. Create a cache pool LV specifying cache mode "writethrough"
       # lvconvert --cachepool vg/lvx_cache --poolmetadata vg/lvx_cache_meta \
            --cachemode writethrough

       4. Create a cache LV by combining the cache pool LV and origin LV
       # lvconvert --type cache --cachepool vg/lvx_cache vg/lvx


   Spare metadata LV


       See  lvmthin(7)  for  a  description of the "pool metadata spare" LV.  The same concept is
       used for cache pools.


   Automatic pool metadata LV


       A cache data LV can be converted to cache pool LV without specifying a cache pool metadata
       LV.  LVM will automatically create a metadata LV from the same VG.

       lvcreate -n CacheDataLV -L CacheSize VG
       lvconvert --cachepool VG/CacheDataLV



SEE ALSO
       lvm.conf(5),  lvchange(8),  lvcreate(8),  lvdisplay(8),  lvextend(8),  lvremove(8),  lvre‐
       name(8), lvresize(8), lvs(8), vgchange(8), vgmerge(8), vgreduce(8), vgsplit(8)



Red Hat, Inc                    LVM TOOLS 2.02.111(2) (2014-09-01)                    LVMCACHE(7)


/man
rootr.net - man pages