3.11. 씬 프로비저닝된 LVM-VDO 볼륨 관리
LVM-VDO 볼륨의 물리 공간 사용량이 100%에 도달하는 조건을 해결하기 위해 씬 프로비저닝된 LVM-VDO 볼륨을 구성하여 물리적 공간의 향후 확장을 준비할 수 있습니다. lvcreate
작업에서 -l 100%FREE
를 사용하는 대신 '95%FREE'를 사용하여 나중에 필요한 경우 복구할 수 있는 일부 여유 공간이 있는지 확인합니다. 동일한 방법을 사용하여 다음 문제를 해결할 수 있습니다.
- 볼륨이 공간이 부족합니다.
- 파일 시스템은 읽기 전용 모드로 들어갑니다.
- ENOSPC가 볼륨에서 보고했습니다.
LVM-VDO 볼륨에서 높은 물리적 공간 사용량을 처리하는 가장 좋은 방법은 사용하지 않는 파일을 삭제하고 온라인 삭제 또는 fstrim
프로그램을 사용하여 사용하지 않는 파일에서 사용하는 블록을 삭제하는 것입니다. LVM-VDO 볼륨의 물리 공간은 기본 slab 크기가 2GB인 LVM-VDO 볼륨의 경우 16TB인 8192 slabs 또는 최대 slab 크기가 32GB인 LVM-VDO 볼륨의 경우 256TB로만 증가할 수 있습니다.
다음 모든 단계에서 myvg 및 myvdo 를 각각 볼륨 그룹 및 LVM-VDO 이름으로 바꿉니다.
사전 요구 사항
- VDO 소프트웨어를 설치합니다. 자세한 내용은 VDO 설치를 참조하십시오.
- 사용 가능한 스토리지 용량이 있는 LVM 볼륨 그룹이 시스템에 있습니다.
-
lvcreate --type vdo --name myvdo -l percentage-of-free-in-vg --virtualsize virtual-size-of-vdo 명령을 사용하는 씬 프로비저닝된 LVM-
VDO 볼륨입니다. 자세한 내용은 LVM-VDO 볼륨 생성 및 마운트를 참조하십시오.
절차
씬 프로비저닝된 LVM-VDO 볼륨에 대해 최적의 논리 크기 확인
Copy to Clipboard Copied! Toggle word wrap Toggle overflow vdostats myvg-vpool0-vpool
# vdostats myvg-vpool0-vpool Device 1K-blocks Used Available Use% Space saving% myvg-vpool0-vpool 104856576 29664088 75192488 28% 69%
공간 절약 비율을 계산하려면 다음 공식을 사용합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Savings ratio = 1 / (1 - Space saving%)
Savings ratio = 1 / (1 - Space saving%)
이 예에서는 다음과 같습니다.
-
약 80GB의 데이터 세트에는 약
3.22:1개의
공간 절약률이 있습니다. - 데이터 세트 크기를 비율로 곱하면 동일한 공간 절약을 가진 더 많은 데이터가 LVM-VDO 볼륨에 기록되면 잠재적인 논리 크기 256GB를 얻을 수 있습니다.
- 이 숫자를 200GB까지 상향 조정하면 공간 절약률이 동일한 경우 실제 여유 공간의 안전한 여백으로 논리적 크기가 생성됩니다.
-
약 80GB의 데이터 세트에는 약
LVM-VDO 볼륨에서 사용 가능한 물리 공간을 모니터링합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow vdostats myvg-vpool0-vpool
# vdostats myvg-vpool0-vpool
이 명령은 주기적으로 실행하여 LVM-VDO 볼륨의 사용 가능한 물리 공간을 모니터링할 수 있습니다.
선택 사항: 사용 가능한
/usr/share/doc/vdo/examples/monitor/monitor_check_vdostats_physicalSpace.pl
스크립트를 사용하여 LVM-VDO 볼륨의 물리적 공간 사용에 대한 경고를 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/doc/vdo/examples/monitor/monitor_check_vdostats_physicalSpace.pl myvg-vpool0-vpool
# /usr/share/doc/vdo/examples/monitor/monitor_check_vdostats_physicalSpace.pl myvg-vpool0-vpool
LVM-VDO 볼륨을 생성할 때
dmeventd
모니터링 서비스는 LVM-VDO 볼륨의 물리 공간 사용을 모니터링합니다. LVM-VDO 볼륨이 생성되거나 시작될 때 기본적으로 활성화됩니다.LVM-VDO 볼륨을 모니터링하는 동안 로그에
dmeventd
의 출력을 보려면journalctl
명령을 사용합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow lvm[8331]: Monitoring VDO pool myvg-vpool0-vpool. ... lvm[8331]: WARNING: VDO pool myvg-vpool0-vpool is now 84.63% full. lvm[8331]: WARNING: VDO pool myvg-vpool0-vpool is now 91.01% full. lvm[8331]: WARNING: VDO pool myvg-vpool0-vpool is now 97.34% full.
lvm[8331]: Monitoring VDO pool myvg-vpool0-vpool. ... lvm[8331]: WARNING: VDO pool myvg-vpool0-vpool is now 84.63% full. lvm[8331]: WARNING: VDO pool myvg-vpool0-vpool is now 91.01% full. lvm[8331]: WARNING: VDO pool myvg-vpool0-vpool is now 97.34% full.
사용 가능한 물리 공간이 거의 없는 LVM-VDO 볼륨을 교정합니다. LVM-VDO 볼륨에 물리 공간을 추가할 수 있지만 볼륨 공간이 확장되기 전에 가득 차면 I/O를 볼륨에 일시적으로 중지해야 할 수 있습니다.
I/O를 볼륨에 임시로 중지하려면 다음 단계를 실행합니다. 여기서 LVM-VDO 볼륨 myvdo 에는 /users/homeDir 경로에 마운트된 파일 시스템이 포함되어 있습니다.
파일 시스템을 고정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow xfs_freeze -f /users/homeDir vgextend myvg /dev/vdc2 lvextend -L new-size myvg/vpool0 xfs_freeze -u /users/homeDir
# xfs_freeze -f /users/homeDir # vgextend myvg /dev/vdc2 # lvextend -L new-size myvg/vpool0 # xfs_freeze -u /users/homeDir
파일 시스템을 마운트 해제합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow umount /users/homeDir vgextend myvg /dev/vdc2 lvextend -L new-size myvg/vpool0 mount -o discard /dev/myvg/myvdo /users/homeDir
# umount /users/homeDir # vgextend myvg /dev/vdc2 # lvextend -L new-size myvg/vpool0 # mount -o discard /dev/myvg/myvdo /users/homeDir
참고캐시된 데이터로 파일 시스템을 마운트 해제하거나 해제하면 캐시된 데이터가 기록되어 LVM-VDO 볼륨의 물리 공간이 채워질 수 있습니다. LVM-VDO 볼륨에서 사용 가능한 물리 공간에 대한 모니터링 임계값을 설정할 때 캐시된 최대 파일 시스템 데이터를 고려하십시오.
파일 시스템에서 더 이상 사용되지 않는 블록은
fstrim
유틸리티를 사용하여 정리할 수 있습니다. VDO 볼륨 상단에 마운트된 파일 시스템에 대해fstrim
을 실행하면 해당 볼륨의 여유 물리 공간이 증가할 수 있습니다.fstrim
유틸리티는 LVM-VDO 볼륨에 삭제가 전송되고 이전에 사용된 블록에 대한 참조를 제거하는 데 사용됩니다. 이러한 블록 중 하나를 단일 참조하면 실제 공간을 사용할 수 있습니다.VDO 통계를 확인하여 현재 사용 가능한 공간을 확인하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow vdostats --human-readable myvg-vpool0-vpool
# vdostats --human-readable myvg-vpool0-vpool Device Size Used Available Use% Space saving% myvg-vpool0-vpool 100.0G 95.0G 5.0G 95% 73%
사용되지 않는 블록 폐기:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow fstrim /users/homeDir
# fstrim /users/homeDir
LVM-VDO 볼륨의 사용 가능한 물리 공간을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow vdostats --human-readable myvg-vpool0-vpool
# vdostats --human-readable myvg-vpool0-vpool Device Size Used Available Use% Space saving% myvg-vpool0-vpool 100.0G 30.0G 70.0G 30% 43%
이 예에서는 파일 시스템에서
fstrim
을 실행한 후 LVM-VDO 볼륨에서 사용할 물리적 공간 65G를 반환할 수 있었습니다.참고중복 제거 및 압축 수준이 낮은 볼륨을 폐기하면 중복 제거 및 압축 수준이 높은 볼륨을 삭제하는 것보다 물리적 공간을 회수할 수 있습니다. 중복 제거 및 압축 수준이 높은 볼륨은 이미 사용되지 않는 블록을 삭제하는 것보다 물리적 공간을 회수하기 위해 보다 광범위한 정리가 필요할 수 있습니다.