5.4.7. Creating LVM Cache Logical Volumes


As of the Red Hat Enterprise Linux 6.7 release, LVM provides full support for LVM cache logical volumes. A cache logical volume uses a small logical volume consisting of fast block devices (such as SSD drives) to improve the performance of a larger and slower logical volume by storing the frequently used blocks on the smaller, faster logical volume.
LVM caching uses the following LVM logical volume types. All of these associated logical volumes must be in the same volume group.
  • Origin logical volume — the large, slow logical volume
  • Cache pool logical volume — the small, fast logical volume, which is composed of two devices: the cache data logical volume, and the cache metadata logical volume
  • Cache data logical volume — the logical volume containing the data blocks for the cache pool logical volume
  • Cache metadata logical volume — the logical volume containing the metadata for the cache pool logical volume, which holds the accounting information that specifies where data blocks are stored (for example, on the origin logical volume or the cache data logical volume).
  • Cache logical volume — the logical volume containing the origin logical volume and the cache pool logical volume. This is the resultant usable device which encapsulates the various cache volume components.
The following procedure creates an LVM cache logical volume.
  1. Create a volume group that contains a slow physical volume and a fast physical volume. In this example. /dev/sde1 is a slow device and /dev/sdf1 is a fast device and both devices are contained in volume group VG.
    # pvcreate /dev/sde1
    # pvcreate /dev/sdf1
    # vgcreate VG /dev/sde1 /dev/sdf1
    Copy to Clipboard Toggle word wrap
  2. Create the origin volume. This example creates an origin volume named lv that is 4G in size and that consists of /dev/sde1, the slow physical volume.
    # lvcreate -L 4G -n lv VG /dev/sde1
    Copy to Clipboard Toggle word wrap
  3. Create the cache data logical volume. This logical volume will hold data blocks from the origin volume. The size of this logical volume is the size of the cache and will be reported as the size of the cache pool logical volume. This example creates the cache data volume named lv_cache. It is 2G in size and is contained on the fast device /dev/sdf1, which is part of the volume group VG.
    # lvcreate -L 2G -n lv_cache VG /dev/sdf1
    Copy to Clipboard Toggle word wrap
  4. Create the cache metadata logical volume. This logical volume will hold cache pool metadata. The ratio of the size of the cache data logical volume to the size of the cache metadata logical volume should be about 1000:1, with a minimum size of 8MiB for the cache metadata logical volume. This example creates the cache metadata volume named lv_cache_meta. It is 12M in size and is also contained on the fast device /dev/sdf1, which is part of the volume group VG.
    # lvcreate -L 12M -n lv_cache_meta VG /dev/sdf1
    Copy to Clipboard Toggle word wrap
  5. Create the cache pool logical volume by combining the cache data and the cache metadata logical volumes into a logical volume of type cache-pool. You can set the behavior of the cache pool in this step; in this example the cachemode argument is set to writethrough, which indicates that a write is considered complete only when it has been stored in both the cache pool logical volume and on the origin logical volume.
    When you execute this command, the cache data logical volume is renamed with _cdata appended to the original name of the cache data logical volume, and the cache metadata logical volume is renamed with _cmeta appended to the original name of the cache data logical volume; both of these volumes become hidden.
    # lvconvert --type cache-pool --cachemode writethrough --poolmetadata VG/lv_cache_meta VG/lv_cache
      WARNING: Converting logical volume VG/lv_cache and VG/lv_cache_meta to pool's data and metadata volumes.
      THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
      Converted VG/lv_cache to cache pool.
    # lvs -a -o +devices
      LV               VG  Attr       LSize   Pool Origin Data%  Meta% Cpy%Sync Devices
      lv               VG  -wi-a-----   4.00g                                   /dev/sde1(0)
      lv_cache         VG  Cwi---C---   2.00g                                   lv_cache_cdata(0)
      [lv_cache_cdata] VG  Cwi-------   2.00g                                   /dev/sdf1(0)
      [lv_cache_cmeta] VG  ewi-------  12.00m                                   /dev/sdf1(512)
      [lvol0_pmspare]  VG  ewi-------  12.00m                                   /dev/sde1(1024)
    
    Copy to Clipboard Toggle word wrap
  6. Create the cache logical volume by combining the cache pool logical volume with the origin logical volume. The user-accessible cache logical volume takes the name of the origin logical volume. The origin logical volume becomes a hidden logical volume with _corig appended to the original name. You can execute this command when the origin logical volume is in use.
    # lvconvert --type cache --cachepool VG/lv_cache VG/lv
      Logical volume VG/lv is now cached.
    # lvs -a -o +devices
      LV                VG  Attr       LSize   Pool       Origin            Data%  Meta% Cpy%Sync Devices
      lv                VG  Cwi-a-C---   4.00g [lv_cache] [lv_corig] 0.02   2.31  0.00            lv_corig(0)
      [lv_corig]        VG  owi-aoC---   4.00g                                                    /dev/sde1(0)
      [lv_cache]        VG  Cwi---C---   2.00g                              0.02   2.31  0.00     lv_cache_cdata(0)
      [lv_cache_cdata]  VG  Cwi-ao----   2.00g                                                    /dev/sdf1(0)
      [lv_cache_cmeta]  VG  ewi-ao----  12.00m                                                    /dev/sdf1(512)
      [lvol0_pmspare]   VG  ewi-------  12.00m                                                    /dev/sde1(1024)
    
    Copy to Clipboard Toggle word wrap
For further information on LVM cache volumes, including additional administrative examples, see the lvmcache(7) man page.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat