본문 바로가기

AWS Design Pattern/기본 패턴

OnDemand Disk 패턴 - 동적 디스크 용량 증감

ㅁ  풀어야 할 문제

시스템에서 이용하는 디스크 용량을 사전에 예측하기는 어렵다. 그래서 시스템을 가동할 때 안전 계수 (정상적으로 시스템이 가동되는 디스크 용량)을 계산하여 몇 년 후 예상되는 디스크를 준비하는 경우가 많다.

그 디스크는 바로 사용하지 않을 뿐만 아니라 실제로 몇 년이 지나도 사용하지 않을 수도 있다. 그러한 디스크에 비용을 지불하게 된다.

, 디스크 I/O 성능을 높이고 싶을 때 디스크 스트라이핑(Disk Striping)으로 구성하는 것이 효과적이다. 그러나 스트라이핑을 구성하는 경우 필요한 디스크 수를 미리 계산하기 어렵고, 또한 테스트를 하는 것도 하드웨어에 대한 초기 투자가 필요하다.

 

ㅁ  해결/패턴

클라우드에서는 가상 디스크 이용이 가능하며 가상 디스크는 언제나 필요한 시점에 필요한 만큼 용량 확보가 가능하다.

가상 디스크를 이용하면 정확하게 계산하지 않아도 된다. 시스템을 가동시키고 이용량을 보면서 필요한 용량의 디스크를 온디맨드(OnDemand)로 확보하면 된다.

디스크는 매년 용량 단가가 낮아지는 경향이 있어 필요할 때 확보한다는 것은 비용 면으로 볼 때 장점이 있다. , 일시적으로 대용량 디스크가 필요할 때 원래 대용량 디스크를 구해 장착해야 했지만, 가상 디스크는 필요할 때 장착하고 사용이 끝나면 폐기하면 된다.

 

ㅁ  구현

-       EBS 이용 시 최초에는 최소한의 사이즈 볼륨을 확보

-       더 많은 디스크 용량이 필요 시 EBS 스냅샷을 저장하고 그 스냅샷을 기반으로 새로운 EB를 생성

-       새로운 EBS를 만들 때 원래 볼륨보다 큰 볼륨 사이즈를 지정

-       새로운 EBS EC2 인스턴스에 할당

-       할당 후 이용하고 있는 파일 시스템의 사이즈 변경 명령어(resize2fs)로 할당한 용량까지 영역 확장

-       스트라이핑을 할 때는 복수의 EBS를 할당하고, mdadm이나 OS의 기능을 이용하여 소프트웨어 RAID 디스크로 구성     

 

ㅁ  장점

-       나중에 볼륨 사이즈를 변경 할 수 있어 용량 계산시에 부담이 적음

-       필요할 때 디스크 용량을 확보할 수 있어 비용면에서도 장점

-       스트라이핑을 하면 디스크 I/O 성능 향상        

 

ㅁ  주의점

-       EBS S3와 달리 확보한 디스크 용량에 대해 요금이 부과

-       하나의 EBS에 설정 가능한 디스크 용량 상한은 (2012 4월 시점) 1TB이므로 단일 파티션에 1TB 이상의 용량이 필요할 때는 복수의 EBS를 할당하여 mdadm 등의 소프트웨어로 단일 볼륨으로 만들어 사용

'AWS Design Pattern > 기본 패턴' 카테고리의 다른 글

Sacle Up 패턴 - 동적 서버 사양 업/다운  (0) 2021.02.05
Stamp 패턴  (0) 2021.02.05
Snapshot 패턴  (0) 2021.02.04