Storage Provisioning이란?


Storage Provisioning에 대해 간단히 설명해 보도록 하겠습니다. 스토리지 프로비저닝이란, HDD나 SSD와 같은 물리적 장치의 스토리지 공간을 클라이언트에게 할당하는 작업을 말합니다.

각 장치의 스토리지 리소스는 논리적인 스토리지 풀로 묶이고, 사용 환경에 따라 공유 프로토콜들을 통해 할당된 파일시스템, LUN, VMware 가상 볼륨 등에 접근합니다. 이와 같은 공간 할당 방법 중 가장 기본적인 방법이 Thick Provisioning입니다.

Thick Provisioning이란?


Untitled

Thick Provisioning이란 전통적인 스토리지 방식으로, fat provisioning이라고도 합니다.

Thick Provisioning을 간단하게 말하면, 단순히 사용할 공간을 물리적 스토리지로부터 할당받는 방식을 말합니다. 10명이 일하는 사무실 환경에서 인당 300GB가 필요한 경우를 가정해 보겠습니다. 각 사용자가 300GB의 스토리지 공간을 할당받게 된다면 스토리지 풀에서는 총 3TB의 물리적 스토리지 공간을 차지하게 됩니다.

Thick Provisioning 공간은 lazy zeroing과 eager zeroing 두 가지 방식으로 생성할 수 있습니다.

Lazy zeroing 공간은 사전에 zeroing과 같은 초기화 작업을 수행하지 않고 생성되며, 쓰기 작업이 발생하면 그제야 zeroing 과정을 진행하는 것을 말합니다. 이러면 데이터를 쓸 때 zeroing 과정에서 로드가 발생하기 때문에 쓰기 성능을 높이기 위해서 주로 eager zeroing 방식이 사용됩니다. Eager zeroing 공간은 미리 zeroing 작업으로 초기화를 진행해 놓기 때문에 쓰기를 지연 없이 바로 진행할 수 있습니다. 게다가 디스크 공간 생성 작업에서 기존 블록의 데이터를 zeroing으로 모두 제거해서 복구가 불가능해지기 때문에 데이터 보안 측면에서도 활용도가 높습니다.

Thick Provisioning은 할당받은 만큼 사용하는 개념으로 사용량을 알고 그에 맞추어서 할당한다면 효율적인 운용이 가능합니다. 하지만 각 사용자가 사전에 확보된 300GB를 전부 채우기 전까지는 용량 초과 등의 문제는 없을 것이지만, 그렇게 되기 전까지는 사용자의 할당공간마다 필연적으로 미사용 공간이 발생할 것입니다. 각 사용자가 300GB 중 250GB를 사용해 사용률 80% 이상을 기록한다고 하더라도 총 500GB의 공간이 낭비됩니다. 이러면 사용 안 하는 공간만큼 손해라고 할 수 있겠죠? 게다가 사용자가 증가하거나 할당받은 공간을 다 채우게 되면 추가 용량을 확보하기 위해 스토리지 용량을 증축하게 되는데, 여기서 도입 비용, 전력, 냉방, 물리적 공간 등 인프라 운영비용이 추가로 발생하게 됩니다. 이러한 운영효율 문제와 비용 문제를 해소하기 위해 대부분의 스토리지 제품들은 Thick Provisioning 기능을 지원합니다

Thin Provisioning이란?


Thin Provisioning은 사용하는 만큼 공간이 할당되는 온디맨드 방식의 프로비저닝 기능입니다. Thick 프로비저닝과 Thin 프로비저닝의 차이를 국제전화 요금제로 비교하자면, 매월 일정 금액을 지급하는 월 정액제와 분 단위로 사용하는 만큼 계산되는 후불제로 표현할 수 있습니다. 위에 제시된 사무실의 예시를 다시 들어보겠습니다. 10명의 사용자가 각각 스토리지 풀 300GB를 요청했을 때, 관리자는 씬 프로비저닝을 통해 각 사용자에게 300GB를 할당한 것처럼 보이되, 실제 물리적 스토리지 공간은 각 사용자가 사용한 만큼만 할당됩니다. 인당 100GB만 사용하고 있더라도, Thick 프로비저닝에서는 실제 총 물리적 스토리지 공간이 총 3TB가 할당된 반면, Thin 프로비저닝에서는 총 1TB가 할당됩니다.

Untitled

Thin 프로비저닝은 Thick 프로비저닝처럼 물리적 용량에 할당 공간이 한정되지 않습니다. 가상화 기술을 통해 물리적 스토리지 공간 이상으로 공간을 할당할 수 있고, 데이터 쓰기 요청이 발생한 후에야 물리적 디스크와 엮입니다. 할당된 볼륨 공간에서 데이터 블록이 완전히 삭제되어서 공간이 미사용 상태가 되는 경우에는 기존의 스토리지 풀로 반환되는데 이를 공간 회수(space reclamation)라고 합니다.

SAN 환경에서의 씬 프로비저닝은 가상 LUN(virtual LUN)을 활용합니다. 씬 LUN(thin LUN) 이라고도 합니다. 물리적 LUN은 디스크와 같은 물리적 장치를 매핑해 생성할 수 있는 물리적 공간이 한정된 반면, 가상 LUN은 물리적 장치에 대한 매핑 없이 사용 가능한 물리적 공간 이상으로 가상 스토리지 공간을 생성할 수 있습니다. 이로써 가상 스토리지 공간을 물리적 공간보다 크게 생성해 놓고, 사용하는 만큼 그때그때 공간을 할당하는 방식으로 Thin Provisioning을 구현합니다.