[스토리지] 씬 프로비저닝(Thin Provisioning)
본문 바로가기
IT 이야기/공부합시다

[스토리지] 씬 프로비저닝(Thin Provisioning)

by 찬찬이 아빠 2023. 6. 16.
반응형

개인적으로 스토리지 공부를 위해 정리한 내용들입니다.

함께 공부하자는 취지로 내용을 공유합니다.


스마트폰을 사용하는 현대인이라면 한 번쯤은 용량 부족으로 고민한 적이 있을 것입니다.

일일이 관리하기 번거로우니 필연적으로 사진 등을 클라우드로 자동 업로드하는 기능을 활용하는 경우가 발생합니다.

아이폰의 경우 주로 iCloud를 사용하게 되는데, iCloud는 기본적으로 5GB를 무료로 제공합니다.

네이버 MYBOX(무려 30GB)나 구글 드라이브에 비하면 적은 편이지만 무료로 잠시 사용하기에는 적절한 용량입니다.

이처럼 몇몇 대형 클라우드 벤더들은 무료 클라우드 스토리지 서비스를 제공하곤 하는데, 개개인 기준으로 적은 용량이라 하더라도 모이면 매우 큽니다.

2018년 기준으로 iCloud 무료 서비스 사용자가 무려 6억 8천만 명인데, 이러면 애플은 3.4EB(엑사바이트)의 스토리지 공간을 무료로 제공하는 꼴이 됩니다. 하지만 자본주의에 충실한 애플은 당연히 6억 8천만 명의 무료 사용자에게 5GB를 전부 제공하지 않습니다.

대신 씬 프로비저닝이라는 스토리지 공간 관리 기능을 통해 5GB로 보이게만 하고 실제로는 사용하는 만큼만의 용량을 제공합니다. 


1. 스토리지 프로비저닝

  • 하드디스크나 SSD와 같은 물리적 장치의 스토리지 공간을 클라이언트에게 할당하는 작업
  • 각 장치의 스토리지 리소스는 논리적인 스토리지 풀로 묶이고, 사용 환경에 따라 공유 프로토콜들을 통해 할당된 파일시스템, LUN, VMware 가상 볼륨 등에 접근
  • 이와 같은 공간 할당 방법 중 가장 기본적인 방법이 씩 프로비저닝입니다.

2. 씩 프로비저닝(thick provisioning)

  • 전통적인 스토리지 프로비저닝 방식으로, fat provisioning이라고도 말함
  • 단순히 사용할 공간을 물리적 스토리지로부터 할당받는 방식
  • ex) 10명이 일하는 사무실 환경에서 인당 300GB가 필요한 경우를 가정
    • 각 사용자가 300GB의 스토리지 공간을 할당받게 된다면 스토리지 풀에서는 총 3TB의 물리적 스토리지 공간을 차지하게 됨

씩 프로비저닝(thick provisioning)

  • 씩 프로비저닝 공간은 lazy zeroing과 eager zeroing 두 가지 방식으로 생성
  • Lazy zeroing 공간
    • 사전에 zeroing과 같은 초기화 작업을 수행하지 않고 생성되며, 쓰기 작업이 발생하면 그제야 zeroing 과정을 진행
    • 이러면 데이터를 쓸 때 zeroing 과정에서 로드가 발생하기 때문에 쓰기 성능을 높이기 위해서 주로 eager zeroing 방식이 사용
  • Eager zeroing 공간
    • 미리 zeroing 작업으로 초기화를 진행해 놓기 때문에 쓰기를 지연 없이 바로 진행
    • 게다가 디스크 공간 생성 작업에서 기존 블록의 데이터를 zeroing으로 모두 제거해서 복구가 불가능해지기 때문에 데이터 보안 측면에서도 활용도가 높음
  • 할당받은 만큼 사용하는 개념으로 사용량을 알고 그에 맞추어서 할당한다면 효율적인 운용이 가능
  • 각 사용자가 사전에 확보된 300GB를 전부 채우기 전까지는 용량 초과 등의 문제는 없을 것이지만, 그렇게 되기 전까지는 사용자의 할당공간마다 필연적으로 미사용 공간이 발생
  • 각 사용자가 300GB 중 250GB를 사용해 사용률 80% 이상을 기록한다고 하더라도 총 500GB의 공간이 낭비
  • 사용자가 증가하거나 할당받은 공간을 다 채우게 되면 추가 용량을 확보하기 위해 스토리지 용량을 증축하게 되는데, 여기서 도입 비용, 전력, 냉방, 물리적 공간 등 인프라 운영비용이 추가로 발생
  • 이러한 운영효율 문제와 비용 문제를 해소하기 위해 대부분의 스토리지 제품들은 씬 프로비저닝 기능을 지원

3. 씬 프로비저닝(thin provisioning)

  • 사용하는 만큼 공간이 할당되는 온디맨드 방식의 프로비저닝 기능
  • ex) 10명의 사용자가 각각 스토리지 풀 300GB를 요청했을 때, 관리자는 씬 프로비저닝을 통해 각 사용자에게 300GB를 할당한 것처럼 보이되, 실제 물리적 스토리지 공간은 각 사용자가 사용한 만큼만 할당됨
  • 인당 100GB만 사용하고 있더라도, 씩 프로비저닝에서는 실제 총 물리적 스토리지 공간이 총 3TB가 할당된 반면, 씬 프로비저닝에서는 총 1TB가 할당됨

씬 프로비저닝(thin provisioning)

  • 씬 프로비저닝은 씩 프로비저닝처럼 물리적 용량에 할당 공간이 한정되지 않음
  • 가상화 기술을 통해 물리적 스토리지 공간 이상으로 공간을 할당할 수 있고, 데이터 쓰기 요청이 발생한 후에야 물리적 디스크와 엮임
  • 할당된 볼륨 공간에서 데이터 블록이 완전히 삭제되어서 공간이 미사용 상태가 되는 경우에는 기존의 스토리지 풀로 반환되는데 이를 공간 회수(space reclamation)라 함
  • SAN 환경에서의 씬 프로비저닝은 가상 LUN(virtual LUN)을 활용하고 씬 LUN(thin LUN) 이라고도 함
  • 물리적 LUN은 디스크와 같은 물리적 장치를 매핑해 생성할 수 있는 물리적 공간이 한정된 반면, 가상 LUN은 물리적 장치에 대한 매핑 없이 사용 가능한 물리적 공간 이상으로 가상 스토리지 공간을 생성할 수 있음
  • 가상 스토리지 공간을 물리적 공간보다 크게 생성해 놓고, 사용하는 만큼 그때그때 공간을 할당하는 방식으로 씬 프로비저닝을 구현함

4. 씩 프로비저닝 vs 씬 프로비저닝

  • 씩 프로비저닝
    • 특히 실제 사용할 공간과 할당된 공간이 비슷한 사용 환경에서 장점을 가짐
    • 무엇보다 별도의 스토리지 할당 및 공간 회수 작업이 필요하지 않기 때문에 성능에는 따로 영향을 주지 않음
    • 특히 eager zeroing이 적용된 씩 프로비저닝은 쓰기 성능과 데이터 보안을 위해서 많이 사용되는 반면, lazy zeroing 방식의 경우 eager zeroing 방식보다 공간을 빨리 생성할 수 있음
  • 씬 프로비저닝
    • 미리 할당될 공간에 비해 실제 사용할 공간이 비교적 적은 사용환경에서 효율적
    • 기업 내 인프라 전체의 가용 스토리지 공간을 자동으로 확보하기 때문에 관리의 오버헤드를 최소화
    • 스토리지 증축 비용 및 운영비용을 줄임과 동시에 비즈니스의 성장에 알맞게 스토리지 도입계획을 세울 수 있어 예상외의 예산을 최소화 함
    • 씩 프로비저닝의 경우 실제 스토리지 하드웨어에서 할당된 용량만큼 사용하는 방식이지만, 씬 프로비저닝은 실제 용량 이상으로 할당되기 때문에 지속해서 모니터링을 하지 않으면 어느 순간 가용 공간이 바닥날 수 있음
    • 특히 가상화 환경에서 사용하는 경우, 가용 공간이 없어지는 순간 가상머신을 사용할 수 없게 됨
    • 무엇보다 씬 프로비저닝의 가장 큰 단점 중 하나는 호스트에 부하가 발생한다는 점
    • 호스트는 지속해서 스토리지 공간의 동적 할당과 공간 회수를 수행해야 하므로 호스트가 미션 크리티컬한 환경일 경우 씩 프로비저닝을 사용하는 편이 좋음

5. 정보 출처

https://tech.gluesys.com/blog/2021/03/17/storage_8_intro.html

 

글루시스 기술 블로그

A simple yet classy theme for your Jekyll website or blog.

tech.gluesys.com

 

반응형

댓글