vdo (중복제거 및 압축)와 lvm 디바이스를 구성하는 방법에 대한 post

Rocky linux 8.x 에서 구성

1) 블럭디바이스 /dev/sdb / 100G 할당

2) vdo 패키지 설치 및 서비스 start & on
# dnf install -y kmod-kvdo vdo
# systemctl enable --now vdo

3) 리부팅
# reboot

4) vdo 장치 생성 및 확인 (여기선 300G로 Assign)
# vdo create --name=vdo1 --device=/dev/sdb --vdoLogicalSize=300G

# ls -la /dev/mapper/vdo1

# vdostats --hu

# vdostats --verbose /dev/mapper/vdo1 | grep -B6 'saving percent'

5) lvm 및 파일시스템 생성
# pvcreate /dev/mapper/vdo1

# vgcreate vg01 /dev/mapper/vdo1

# lvcreate -l 100%FREE -n lv01 vg01

# mkfs.xfs -K /dev/vg01/lv01

6) 마운트
# echo '/dev/vg01/lv01  /home  xfs defaults 0 0' >> /etc/fstab

# mount -a

7) 확인
# df -h | grep home
/dev/mapper/vg01-lv01  300G  2.2G  298G   1% /home

# vdostats --hu
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1        100.0G      4.1G     95.9G   4%           99%

-

Rocky Linux 9.x 에서 구성

9 버전은 vdo 구성 방법이 8과 조금 다르다.

vdo 서비스 데몬과 vdo 명령이 별도로 없고, lv 생성 시 vdo를 만들고 vdo 서비스데몬 없이 동작한다.

1) 블럭디바이스 /dev/sdb / 100G 할당

2) vdo 패키지 설치 및 kmod 로딩
# dnf install -y kmod-kvdo vdo
# modprobe kvdo

3) pv 및 vg 생성
# pvcreate /dev/sdb
# vgcreate vg01 /dev/sdb

4) lvm with vdo 생성
# lvcreate -l 100%FREE -n lv01 --type vdo --virtualsize 300G

5) 나머지 과정은 동일

-

테스트

# df -h | grep home
/dev/mapper/vg01-lv01  300G  2.2G  298G   1% /home

# mount /dev/sr0 /mnt

# mkdir /home/test1 ; mkdir /home/test2

# cp -rv /mnt /home/test1/

# cp -rv /mnt /home/test2/   # --> 동일 데이터를 vdo 블럭에 다시 한번 copy

# df -h | grep home
/dev/mapper/vg01-lv01  300G   24G  277G   8% /home   # --> 두 벌의 동일 데이터 저장으로 24G 용량을 사용 중으로 확인됨

# vdostats --hu
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1        100.0G     14.5G     85.5G  14%           50%

# --> 실제 저장된 데이터는 중복제거율로 인해 50%의 데이터만 차지 (Space saving%). 즉, 두 번째 copy 데이터는 100% 중복 제거됨
VDO Disk with LVM

답글 남기기

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