3.2. VDO의 씬 프로비저닝
VDO는 씬 프로비저닝된 블록 스토리지 대상입니다. VDO 볼륨에서 사용하는 물리 공간의 양은 스토리지 사용자에게 표시되는 볼륨 크기와 다를 수 있습니다. 이러한 차이를 활용하여 스토리지 비용을 절감할 수 있습니다.
공간 외 조건
작성한 데이터가 예상 최적화 속도를 달성하지 못하는 경우 예기치 않게 스토리지 공간이 부족하지 않도록 주의하십시오.
논리 블록(가상 스토리지) 수가 물리적 블록(실제 저장소) 수를 초과할 때마다 파일 시스템 및 애플리케이션이 예기치 않게 공간이 부족해질 수 있습니다. 따라서 VDO를 사용하는 스토리지 시스템은 VDO 볼륨에서 사용 가능한 풀의 크기를 모니터링하는 방법을 제공해야 합니다.
vdostats
유틸리티를 사용하여 이 사용 가능한 풀의 크기를 확인할 수 있습니다. 이 유틸리티의 기본 출력에는 Linux df
유틸리티와 유사한 형식으로 실행되는 모든 VDO 볼륨에 대한 정보가 나열됩니다. 예를 들면 다음과 같습니다.
Device 1K-blocks Used Available Use%
/dev/mapper/vdo-name 211812352 105906176 105906176 50%
VDO 볼륨의 물리적 스토리지 용량이 거의 가득 차면 VDO는 다음과 유사하게 시스템 로그에 경고를 보고합니다.
Oct 2 17:13:39 system lvm[13863]: Monitoring VDO pool vdo-name. Oct 2 17:27:39 system lvm[13863]: WARNING: VDO pool vdo-name is now 80.69% full. Oct 2 17:28:19 system lvm[13863]: WARNING: VDO pool vdo-name is now 85.25% full. Oct 2 17:29:39 system lvm[13863]: WARNING: VDO pool vdo-name is now 90.64% full. Oct 2 17:30:29 system lvm[13863]: WARNING: VDO pool vdo-name is now 96.07% full.
이 경고 메시지는 lvm2-monitor
서비스가 실행 중인 경우에만 표시됩니다. 기본적으로 활성화되어 있습니다.
공간 부족 조건을 방지하는 방법
사용 가능한 풀 크기가 특정 수준 아래로 떨어지면 다음을 수행하여 작업을 수행할 수 있습니다.
- 데이터 삭제. 그러면 삭제된 데이터가 중복되지 않을 때마다 공간을 회수합니다. 데이터를 삭제하면 삭제가 발생한 후에만 공간을 사용할 수 있습니다.
- 물리적 스토리지 추가
VDO 볼륨의 물리적 공간을 모니터링하여 공간 부족 상황을 방지합니다. 물리적 블록이 없으면 최근에 작성되었으며 VDO 볼륨에 승인되지 않은 데이터가 손실될 수 있습니다.
씬 프로비저닝 및 TRIM 및 DISCARD 명령
씬 프로비저닝의 스토리지 절감 효과를 얻기 위해서는 물리적 스토리지 계층에서 데이터를 삭제할 시기를 알아야 합니다. 씬 프로비저닝된 스토리지로 작동하는 파일 시스템은 TRIM
또는 DISCARD
명령을 전송하여 논리적 블록이 더 이상 필요하지 않은 경우 스토리지 시스템에 알립니다.
TRIM
또는 DISCARD
명령을 전송하는 몇 가지 방법을 사용할 수 있습니다.
-
discard
마운트 옵션을 사용하면 파일 시스템은 블록이 삭제될 때마다 이러한 명령을 보낼 수 있습니다. -
fstrim
과 같은 유틸리티를 사용하여 제어되는 방식으로 명령을 보낼 수 있습니다. 이러한 유틸리티는 파일 시스템에 사용되지 않는 논리 블록을 감지하고TRIM
또는DISCARD
명령 형식으로 정보를 스토리지 시스템에 전송합니다.
사용하지 않는 블록에서 TRIM
또는 DISCARD
를 사용할 필요는 VDO에만 국한되지 않습니다. 씬 프로비저닝된 모든 스토리지 시스템에는 동일한 과제가 있습니다.