1장. LVM에서 VDO 소개
VDO(Virtual Data Optimizer) 기능은 스토리지에 인라인 블록 수준 중복 제거, 압축 및 씬 프로비저닝을 제공합니다. VDO는 LVM 씬 프로비저닝 볼륨과 유사하게 LVM(Logical Volume Manager) 논리 볼륨(LV) 유형으로 관리할 수 있습니다.
LVM(LVM-VDO)의 VDO 볼륨에는 다음 구성 요소가 포함됩니다.
- VDO 풀 LV
- 이는 VDO LV에 대한 데이터를 저장, 중복 제거 및 압축하는 백업 물리 장치입니다. VDO 풀 LV는 VDO가 디스크에 저장할 수 있는 데이터 양인 VDO 볼륨의 물리적 크기를 설정합니다.
- 현재 각 VDO 풀 LV는 하나의 VDO LV만 보유할 수 있습니다. 결과적으로 VDO는 각 VDO LV를 개별적으로 중복하고 압축합니다. 별도의 LV에 저장된 중복 데이터는 동일한 VDO 볼륨의 데이터 최적화의 이점을 누릴 수 없습니다.
- VDO LV
- 이는 VDO 풀 LV에 있는 가상 프로비저닝된 장치입니다. VDO LV는 VDO 볼륨의 프로비저닝된 논리 크기를 설정합니다. 이는 애플리케이션이 중복 제거 및 압축이 발생하기 전에 볼륨에 쓸 수 있는 데이터 양입니다.
dm-vdo-
dm-vdo모듈은 중복, 압축 및 씬 프로비저닝된 블록 스토리지 볼륨을 제공하는 Linux 장치 매퍼 대상입니다. -
dm-vdo모듈은 VDO 풀 LV가 VDO LV를 생성하는 데 사용하는 블록 장치를 노출합니다. 그런 다음 시스템에서 VDO LV를 사용합니다. -
dm-vdo가 VDO 볼륨에서 데이터의 논리 블록을 읽기 위한 요청을 수신하면 요청된 논리 블록을 기본 물리적 블록에 매핑한 다음 요청된 데이터를 읽고 반환합니다. -
dm-vdo가 VDO 볼륨에 데이터 블록을 쓰기 위한 요청을 수신하면 먼저 요청이 DISCARD 또는 TRIM 요청인지 또는 데이터가 균일하게 0인지 여부를 확인합니다. 이러한 조건 중 하나가 충족되면dm-vdo는 블록 맵을 업데이트하고 요청을 승인합니다. 그렇지 않으면 VDO가 데이터를 처리하고 최적화합니다. -
dm-vdo모듈은 볼륨에서 UDS(Universal Deduplication Service) 인덱스를 내부적으로 사용하고 중복을 위해 수신되므로 데이터를 분석합니다. 각 새로운 데이터 조각에 대해 UDS는 그 조각이 이전에 저장된 모든 데이터와 동일한지 여부를 결정합니다. 인덱스가 일치하는 항목을 발견하면 스토리지 시스템에서 해당 일치의 정확성을 확인한 다음 내부 참조를 업데이트하여 동일한 정보를 두 번 이상 저장하지 않도록 할 수 있습니다.
-
LVM 씬 프로비저닝 구현의 구조에 이미 익숙한 경우 다음 표를 참조하여 VDO의 다양한 측면을 시스템에 표시하는 방법을 알아보십시오.
| 물리적 장치 | 프로비저닝된 장치 | |
|---|---|---|
| LVM의 VDO | VDO 풀 LV | VDO LV |
| LVM 씬 프로비저닝 | 씬 풀 | thin volume |
VDO는 씬 프로비저닝되므로 파일 시스템 및 애플리케이션은 실제 사용 가능한 물리적 공간이 아니라 사용 중인 논리 공간만 표시됩니다. 스크립팅을 사용하여 사용 가능한 물리적 공간을 모니터링하고 사용 가능한 경우 경고를 생성합니다.