본문 바로가기
IT생활

ZFS에서 압축 레벨(compression level)은 어떤 것으로 하는게 좋을까 설명해보았다.

by 우물 밖 개구리. 2025. 1. 19.
반응형

TrueNAS에서 zpool의 압축 수준(compression level) 설정은 데이터의 종류, 사용 패턴, 그리고 CPU 성능에 따라 달라질 수 있습니다. 기본값인 LZ4는 대부분의 사용 사례에서 최적화된 선택이지만, 특정 상황에 따라 다른 압축 알고리즘을 고려할 수도 있습니다.


1. 압축의 기본 원리

  • ZFS의 압축은 데이터가 디스크에 저장되기 전에 실시간으로 적용됩니다.
  • 압축된 데이터는 디스크 공간을 절약하고, 데이터를 읽거나 쓰는 동안 I/O 작업을 줄여 성능을 개선할 수 있습니다.
  • 압축이 적용되지 않은 데이터는 그대로 저장되며, 압축 알고리즘에 따라 CPU 사용량과 성능이 달라집니다.

2. 주요 압축 알고리즘

ZFS에서 지원하는 압축 알고리즘과 특징은 다음과 같습니다:

LZ4 (기본값)

  • 속도: 매우 빠름.
  • 효율: 적당한 압축률.
  • 장점: 낮은 CPU 사용률과 빠른 성능으로 모든 상황에 적합.
  • 추천 사용 사례: 대부분의 일반적인 파일, 미디어 파일, VM 이미지 등.
  • TrueNAS 기본값으로 설정되어 있으며, 변경하지 않아도 충분히 효율적.

GZIP (gzip-1 ~ gzip-9)

  • 속도: 압축 수준(1~9)에 따라 느려짐.
    • gzip-1: 빠르고 압축률 낮음.
    • gzip-9: 느리지만 압축률 높음.
  • 효율: 높은 압축률 제공.
  • 단점: CPU 사용량이 높아짐.
  • 추천 사용 사례: 고정 크기의 텍스트 데이터, 로그 파일, 백업 데이터.

ZLE (Zero-Length Encoding)

  • 속도: 데이터가 0으로 채워진 블록에만 특화된 압축.
  • 효율: 효율성은 낮으나 0 데이터가 많은 경우 매우 효과적.
  • 추천 사용 사례: 빈 디스크 블록이나 특수 데이터셋.

ZSTD (Zstandard)

  • 속도: LZ4보다 약간 느리지만 GZIP보다 빠름.
  • 효율: LZ4보다 높은 압축률.
  • 장점: 빠른 성능과 적당한 CPU 사용률.
  • 추천 사용 사례: 높은 압축률이 필요한 경우(미디어 파일, 대용량 데이터셋).
  • 비교적 새로운 옵션. 최신 버전의 TrueNAS에서 사용 가능.

3. 압축 알고리즘 선택 기준

LZ4 사용이 적합한 경우 (기본값 유지):

  • 범용적인 데이터 저장 (예: 문서, 이미지, 미디어, VM 파일).
  • 성능을 최우선으로 고려하는 경우.
  • CPU 리소스를 최소한으로 사용하고 싶은 경우.

GZIP 사용이 적합한 경우:

  • 압축률이 중요한 경우.
  • 데이터 압축 후 장기 보관이 목적일 때(읽기/쓰기가 자주 발생하지 않는 경우).
  • CPU 리소스가 충분하고 성능 저하를 감수할 수 있는 경우.

ZSTD 사용이 적합한 경우:

  • LZ4보다 높은 압축률이 필요한 경우.
  • CPU 성능이 충분하고 약간의 속도 저하를 감수할 수 있을 때.
  • 최신 하드웨어에서 TrueNAS를 사용하는 경우.

ZLE 사용이 적합한 경우:

  • 데이터의 대부분이 0으로 채워진 경우.
  • 특수한 목적의 데이터를 저장하는 경우.

4. 설정 변경 방법

TrueNAS에서 압축 수준을 설정하려면 다음 단계를 따르세요:

  1. TrueNAS 인터페이스 열기:
    • TrueNAS 웹 GUI에 로그인합니다.
  2. 스토리지 메뉴로 이동:
    • Storage > Pools로 이동합니다.
  3. 압축 설정 변경:
    • 사용 중인 풀(pool) 또는 데이터셋(dataset)을 선택합니다.
    • Edit Options를 클릭합니다.
    • Compression level에서 원하는 알고리즘(LZ4, GZIP, ZSTD 등)을 선택합니다.
  4. 변경 사항 저장:
    • 설정을 저장하면 이후에 작성되는 데이터부터 새로운 압축 알고리즘이 적용됩니다.

5. 결론: 어떤 알고리즘을 선택해야 하나?

  • 대부분의 사용자: 기본값인 LZ4를 유지하는 것이 최적입니다.
    • 빠른 성능과 적절한 압축률을 제공하며, 추가적인 CPU 부담을 최소화합니다.
  • 특수한 데이터셋이나 저장 요구가 있는 경우:
    • 백업 데이터/로그 파일: gzip-9 추천 (높은 압축률).
    • 큰 데이터 파일: ZSTD 추천 (높은 압축률과 빠른 성능).
    • 0으로 채워진 데이터: ZLE 추천.

압축 설정을 변경한 후 성능과 저장 효율성을 테스트하여 최적의 설정을 찾는 것도 좋은 방법입니다.

반응형