1장. LVM에서 VDO 소개

VDO(가상 데이터 최적화 도구) 기능은 스토리지에 대한 인라인 블록 수준 중복 제거, 압축 및 씬 프로비저닝을 제공합니다. LVM 씬 프로비저닝 볼륨과 유사하게 VDO를 LVM(Logical Volume Manager) 논리 볼륨(Logical Volume Manager) 유형으로 관리할 수 있습니다.

LVM(LVM-VDO)의 VDO 볼륨에는 다음 구성 요소가 포함되어 있습니다.

VDO pool LV
  • 이는 VDO LV의 데이터를 저장, 중복 제거 및 압축하는 백업 물리적 장치입니다. VDO 풀 LV는 VDO 볼륨을 디스크에 저장할 수 있는 데이터 양인 VDO 볼륨의 물리적 크기를 설정합니다.
  • 현재 각 VDO 풀 LV는 하나의 VDO LV만 보유할 수 있습니다. 결과적으로 VDO는 각 VDO LV를 별도로 중복하고 압축합니다. 별도의 LV에 저장된 데이터를 중복하면 동일한 VDO 볼륨의 데이터 최적화가 도움이 되지 않습니다.
VDO LV
  • VDO 풀 LV 위에 프로비저닝된 가상 장치입니다. VDO LV는 VDO 볼륨의 프로비저닝된 논리적 크기를 설정합니다. 이 크기는 애플리케이션이 중복 제거 및 압축이 발생하기 전에 볼륨에 쓸 수 있는 데이터 양입니다.
kvdo
  • Linux 장치 매퍼 계층으로 로드되는 커널 모듈은 중복되고 압축되고 씬 프로비저닝된 블록 스토리지 볼륨을 제공합니다.
  • kvdo 모듈은 VDO 풀 LV가 VDO LV를 생성하는 데 사용하는 블록 장치를 노출합니다. 그런 다음 시스템에서 VDO LV를 사용합니다.
  • kvdo 에서 VDO 볼륨에서 데이터의 논리 블록을 읽기 위한 요청을 수신하면 요청된 논리 블록을 기본 물리 블록에 매핑한 다음 요청된 데이터를 읽고 반환합니다.
  • kvdo 에서 VDO 볼륨에 데이터 블록을 쓰기 위한 요청을 수신하면 먼저 요청이 DISCARD 또는ECDHEIM 요청인지 또는 데이터가 균일하게 0인지 여부를 먼저 확인합니다. 이러한 조건 중 하나가 충족되면 kvdo 는 블록 맵을 업데이트하고 요청을 확인합니다. 그렇지 않으면 VDO가 데이터를 처리하고 최적화합니다.
  • kvdo 모듈은 볼륨 내부에서 UDS(Universal Deduplication Service) 인덱스를 사용하여 중복에 대해 수신하므로 데이터를 분석합니다. UDS는 새로운 데이터 조각마다 해당 조각이 이전에 저장된 모든 데이터와 동일한지 여부를 결정합니다. 인덱스가 일치를 발견하면 스토리지 시스템에서 해당 일치의 정확성을 확인한 다음 내부 참조를 업데이트하여 동일한 정보를 두 번 이상 저장하지 않도록 할 수 있습니다.

LVM 씬 프로비저닝 구현의 구조에 이미 익숙한 경우 표 1.1을 참조하여 VDO의 다양한 측면이 시스템에 제공되는 방식을 이해할 수 있습니다.

표 1.1. LVM 및 LVM 씬 프로비저닝에서 VDO의 구성 요소 비교

 물리적 장치프로비저닝된 장치

LVM에서 VDO

VDO pool LV

VDO LV

LVM 씬 프로비저닝

씬 풀

씬 볼륨

VDO는 씬 프로비저닝되므로 파일 시스템과 애플리케이션은 실제 사용 가능한 물리 공간이 아닌 사용 중인 논리 공간만 볼 수 있습니다. 스크립팅을 사용하여 사용 가능한 물리적 공간을 모니터링하고, use가 임계값을 초과하면 경고를 생성합니다. 사용 가능한 VDO 공간 모니터링에 대한 자세한 내용은 Monitoring VDO 섹션을 참조하십시오.