LVM Cache(dm-cache)

시작

NAS 대용으로 사용중인 서버(미니PC)의 디스크가 부족하게 되어 디스크 증설이 필요했지만 2.5인치 SATA 와 NVME SSD 한개 씩만 지원하는 하드웨어 스팩 덕분에 USB로 쉽게 구성할 수 있는 테라마스터 D2-310 과 WD RED 3TB(WD30EFRX) 하드디스크 2개를 Raid 0으로 디스크 증설을 완료 했지만,

USB 인터페이스(USB 3.1 5Gbps)의 한계 때문인지 5400RPM의 낮은 성능의 디스크 때문인지 SSD를 메인 저장소로 사용했들때 보다 전송속도가 낮아 LVM Cache 적용하게 되었다.

환경

OS : Rocky Linux 8.7 (Green Obsidian)

Disk : sda 5.5TB(D2-310 Raid 0), nvme0n1 2TB

LVM Cache 적용

PV(Physical Volume)설정 과 및 VG(Volume Group) 생성

pvcreate /dev/sda1
pvcreate /dev/nvme0n1p1
vgcreate VG /dev/sda1 /dev/nvme0n1p1

LV(Logical Volume) 생성

#HDD Disk Logical Volume
lvcreate -l 100%FREE -n lv_data1 VG1 /dev/sda
#SSD Cache Memta Volume
lvcreate -L 8G -n lv_cache_meta1 VG1 /dev/nvme0n1p1
#SSD Cache Volume
lvcreate -l 234370 -n lv_cache_data1 VG1 /dev/nvme0n1p1

LVM Cache 설정

# Cache 볼륨과 Meta 볼륨을 결함으로 Cache Pool 을 설정.
# Writethrough 및 Writeback 을 설정 한다.
lvconvert --type cache-pool --cachemode writethrough --poolmetadata VG/lv_cache_meta1 vg1/lv_cache_data1
# Data Volume(실제 데이터 볼륨)을 Cache Pool 과 결함하여 Cache 적용
lvconvert --type cache --cachepool VG/lv_cache_data1 VG/lv_data1
  • Cachemode
    1. writethrough
      • 데이터를 쓸때 캐쉬를 사용지 않는다.
    2. writeback
      • 데이터를 쓸때 캐쉬에 먼저 저장 후 디스크에 저장한다.

그리고.

지금 까지 적용한 내용은 RHEL 6를 메뉴얼을 바탕으로 작성되었다.

RHEL 7 메뉴얼 에서는 Cache pool 생성을 “lvcreate” 단계에서 완료 한다.

LVM Cache RHEL 7.1 부터 정식 지원한다.

더 자세한 내용은 아래 참고 사이트를 확인해본다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다