LVM의 LV 옵션 중 lvcreate 옵션에 대한 설명

2024/12/17 LVM LV 총 3039 자,약 9 문장

이 조사서는 LVM(Logical Volume Manager)의 lvcreate 명령어 및 관련 옵션들에 대해 실제 사용 사례를 중심으로 설명합니다.

1. alloc 옵션

기능 설명: alloc 옵션은 논리 볼륨의 물리적 공간 할당 방식을 결정합니다.

  • type
옵션설명
anywhere논리 볼륨의 공간을 물리적 볼륨의 어느 위치에나 할당할 수 있도록 허용
contiguous논리 볼륨의 공간을 물리적 볼륨의 연속적인 영역에 할당하도록 지정
inherit부모 논리 볼륨의 할당 방식을 상속받아 사용
normal기본 할당 방식
cling논리 볼륨의 공간을 현재 할당된 물리적 볼륨의 공간에 우선적으로 할당
cling_by_tags물리적 볼륨의 특정 태그를 기준으로 공간을 할당

2. cache 옵션

기능 설명: cache 옵션은 캐시 논리 볼륨을 설정하는 데 사용됩니다.

사용사례:

# 캐시 풀 생성
lvcreate --name cache-pool --size 50G --type cache-pool myvg

# 캐시 볼륨 생성
lvcreate --name myvolume --size 100G --type cache --cachevol myvg/cache-pool myvg
  • 캐시 볼륨만 사용하는 경우는 캐시 기능을 제공하지만, 성능 향상이 제한적일 수 있습니다.
  • 캐시 풀을 사용하는 경우는 캐시의 성능을 극대화할 수 있으며, 전체 시스템 성능을 크게 개선할 수 있습니다. 캐시 풀을 사용하여 자주 액세스되는 데이터를 빠르게 처리하고, 기본 저장소의 부하를 줄이는 것이 주요 장점입니다.

3. chunksize 옵션

기능 설명: chunksize 옵션은 캐시의 청크 크기를 설정합니다.

사용사례:

  • 예제: lvcreate --type cache --name cachevol --chunksize 512K --size 10G myvg
    • --chunksize 512K는 캐시 청크의 크기를 512KB로 설정합니다.
    • 사례: 다양한 I/O 패턴에 최적화된 청크 크기를 설정하여, 웹 서버에서 작은 파일 접근 성능을 개선할 수 있습니다.

4. compressiondeduplication과 VDO와의 연관

기능 설명:

  • compression: 데이터를 압축하여 저장 공간을 절약합니다.
  • deduplication: 중복된 데이터를 제거하여 저장 공간을 절약합니다.
  • VDO(Virtual Data Optimizer): 이러한 기술을 지원하여 저장 공간을 효율적으로 사용합니다.

사용사례:

  • 압축 사용: lvcreate --name myvolume --size 10G --compression myvg
    • 사례: 파일 서버에서 저장 공간 절약을 위해 사용합니다.
  • 중복 제거 사용: lvcreate --name myvolume --size 10G --deduplication myvg
    • 사례: 여러 가지 버전의 동일한 데이터 파일이 존재할 때 중복 제거로 공간을 절약합니다.
  • VDO와의 사용:
    • 사례: VDO는 compressiondeduplication 기능을 내장하고 있어, 데이터 백업 및 아카이빙 시스템에서 매우 효과적입니다.

5. lockopt 옵션

기능 설명: lockopt는 논리 볼륨의 잠금 옵션을 설정합니다. 클러스터 환경에서 잠금 매커니즘을 변경하여 성능을 향상시킬 수 있습니다.

  • type
타입설명
none기본 잠금 관리자
dlm분산 잠금 관리자로 여러 노드에서 실행되는 클러스터 환경에서 논리 볼륨에 대한 잠금을 관리합니다.
sanlockSAN 환경에서의 잠금을 관리하기 위한 솔루션

6. readahead Number

기능 설명: readahead는 논리 볼륨의 읽기 성능을 개선하기 위해 설정하는 미리 읽기 블록 수입니다.

사용사례:

  • 예제: lvcreate --name myvolume --size 10G --readahead 64 myvg
    • --readahead 64는 64 블록을 미리 읽도록 설정합니다.
    • 사례: 데이터베이스나 대용량 파일 서버에서 자주 액세스하는 파일의 성능을 향상시킬 수 있습니다.

7. -T 옵션에서 --type의 종류에 따른 stripe 설정 유무

기능 설명: --type 옵션에 따라 stripe 설정이 필요할 수 있습니다.

사용사례:

  • 예제: lvcreate -T stripe --name stripedvol --stripes 2 --size 10G myvg
    • --type stripe는 데이터를 여러 물리적 볼륨에 걸쳐 분산하여 성능을 개선합니다.
    • 사례: 고속 성능이 필요한 서버에서 stripe를 사용하여 I/O 성능을 향상시킬 수 있습니다.

1. --alloc contiguous

설명: 논리 볼륨의 공간을 물리적 볼륨의 연속적인 영역에 할당합니다. 이는 I/O 성능을 향상시키기 위해 연속적인 블록을 사용하여 데이터의 연속성을 보장합니다.

사용사례:

  • 예제: lvcreate --name myvolume --size 10G --alloc contiguous myvg
    • 사례: 고속 데이터베이스나 대용량 파일 시스템에서 성능을 최적화하기 위해 사용됩니다. 연속적인 블록 할당은 디스크 조각화로 인한 성능 저하를 방지합니다.

2. --alloc cling

설명: 논리 볼륨의 공간을 현재 할당된 물리적 볼륨의 공간에 우선적으로 할당합니다. 이 옵션은 공간이 할당된 물리적 볼륨에 “달라붙는” 방식으로 작동합니다.

사용사례:

  • 예제: lvcreate --name myvolume --size 10G --alloc cling myvg
    • 사례: 이미 사용 중인 물리적 볼륨에 추가적인 공간을 할당할 때 유용합니다. 예를 들어, 특정 물리적 볼륨에 데이터를 집중시켜 I/O 성능을 최적화할 수 있습니다.

3. --alloc cling_by_tags

설명: cling과 유사하지만, 이 옵션은 물리적 볼륨의 특정 태그를 기준으로 공간을 할당합니다. 물리적 볼륨에 설정된 태그에 따라 할당 우선 순위를 조정합니다.

사용사례:

  • 예제: lvcreate --name myvolume --size 10G --alloc cling_by_tags myvg
    • 사례: 특정 태그가 설정된 물리적 볼륨에 공간을 집중적으로 할당하여, 태그가 관련된 특정 성능 요구 사항을 충족할 수 있습니다.

4. --alloc normal

설명: 기본 할당 방식으로, --alloc anywhere와 유사하지만, 더 많은 기본 설정과 정책이 적용될 수 있습니다. 연속성이나 특정 할당 방식을 보장하지는 않습니다.

사용사례:

  • 예제: lvcreate --name myvolume --size 10G --alloc normal myvg
    • 사례: 특정 성능 요구 사항이 없는 일반적인 경우에 사용됩니다. 일반적인 파일 서버나 데이터 저장소에서 공간을 유연하게 할당할 때 유용합니다.

5. --alloc anywhere

설명: 논리 볼륨의 공간을 물리적 볼륨의 어느 위치에나 할당할 수 있도록 허용합니다. 가장 유연한 할당 방식을 제공합니다.

사용사례:

  • 예제: lvcreate --name myvolume --size 10G --alloc anywhere myvg
    • 사례: 공간이 제약된 환경에서 자주 사용됩니다. 예를 들어, 물리적 볼륨이 조각화된 경우에도 공간을 유연하게 활용할 수 있습니다.

6. --alloc inherit

설명: 부모 논리 볼륨의 할당 방식을 상속받아 자식 논리 볼륨의 공간을 할당합니다. 이는 부모와 동일한 할당 정책을 유지합니다.

사용사례:

  • 예제: lvcreate --name myvolume --size 10G --alloc inherit myvg
    • 사례: 여러 논리 볼륨이 동일한 할당 방식이 필요한 경우에 사용됩니다. 예를 들어, 동일한 성능 요구 사항을 가진 여러 데이터베이스 논리 볼륨에서 상속을 통해 일관성을 유지할 수 있습니다.

참고

https://manpages.org/lvm/8

HeonJe Lee | 선임연구원
게이트웨이 On-promise 제품 팀에서 시스템 모니터링 및 관리를 쉽게 다가갈 수 있도록 하기 위한 업무를 하고 있습니다.

Contact: lhjnano@gmail.com

Search

    Table of Contents