아마존 웹서비스 EBS 용량 증설 방법

아마존 웹서비스 EBS 용량 증설 방법

계속 시스템을 이용하게 되면 데이터의 양도 계속해서 증가하게 됩니다. 초기에 예상한 디스크 구성으로는 용량이 부족할 때가 있습니다. EC2에서는 이런 상황에서 동적으로 디스크 용량을 변경할 수 있습니다.

■ Ondemand Disk 패턴의 개요
Ondemand Disk 패턴은 EC2 디스크를 추가하거나 용량을 늘리는 패턴으로(아래 그림 참고), ‘새로운 디스크를 증설하는 방법’과 기존 디스크를 확장하는 방법’이 있습니다.

① 새로운 디스크를 증설합니다.
비어 있는 디스크를 만들어 디스크를 증설합니다. 구체적으로 새로운 파티션으로 EC2 인스턴스에 마운트하여 데이터 보관용으로 사용하도록 합니다.

② 기존 디스크를 확장합니다.
기존 디스크 사이즈를 크게 하여 용량을 확장합니다. 단순히 사용할 수 있는 용량이 늘어나는 것 뿐이기에 OS나 소프트웨어 구성을 변경할 필요는 없습니다. 그러나 늘어난 용량을 OS에서 인식할 수 있게 하기 위해 파일 시스템의 재구축이 필요합니다.

또 다른 응용 방법으로, 같은 용량의 디스크를 여러 장 만들어 RAID의 스트라이핑 구성을 하여 성능을 높일 수도 있습니다.

[Ondemand Disk 패턴]
ondemand

■ 디스크 용량을 늘린다
Ondemand Disk 패턴은 디스크의 증설뿐만 아니라 기존 디스크 용량을 늘리는 방법도 있습니다. 그러나 EBS 볼륨에는 용량을 직접 늘리는 방법이 없습니다. 때문에 디스크 용량을 늘이기 위해서 스냅샷을 이용하여 다음과 같이 조작합니다.

[디스크 용량을 늘이기 위한 조작 순서]
volume

① EC2 인스턴스를 정지합니다.
② EBS 볼륨 스냅샷을 생성합니다.
③ ② 를 기반으로 용량을 늘린 EBS 볼륨을 생성
④ 현재 사용하고 있는 EBS 볼륨을 EC2 인스턴스에서 탈착합니다(detach).
⑤ 새롭게 생성한 ③ 의 EBS 볼륨을 EC2 인스턴스에 어태치합니다.
⑥ EC2 인스턴스를 가동합니다.
⑦ OS 상에서 늘어난 용량을 사용할 수 있게 파일 시스템을 재구축합니다.

위의 순서에서 ⑦ 번은 조금 어려울 수 있습니다. ⑥ 번까지는 OS에서 늘어난 용량의 볼륨이 보이지만 포맷을 하지 않은 상태이기 때문에 액세스는 불가능합니다. 그래서 파일 시스템을 확장하는 명령어(리눅스에서는 resize2fs 명령어)를 사용하면 늘어난 영역을 사용할 수 있게 됩니다(아래 그림 참조).

[resize2fs 명령어를 사용하여 포맷 미완료 부분을 사용할 수 있게 합니다]
resize2fs

● 파일 시스템 확장
instances를 가동후 SSH로 로그인하여 현재 디스크 상태를 확인하는데, 그러기 위해서는 다음과 같이 df 명령어를 사용합니다.

[me@linux ~]$ df

그러면 다음과 같이 표시됩니다.

Filesystem 1K-blocks Used Aavailable Use% Mounted on
/dev/xvda1 8361916 1094952 7183104 14% /

디스크 용량은 ‘1K-blocks’ 항목으로 표시됩니다. 이 결과에서 알 수 있듯이, 이 시점의 용량은 8기가바이트 정도(8361916)이고 아직 늘어나지 않았습니다. 이것은 파일 시스템을 재구축하지 않아서이므로, 다음과 같이 resize2fs 명령어를 실행하여 파일 시스템을 재구축합니다.

[me@linux ~]$ sudo resize2fs /dev/sda1

그러면 다음과 같이 이용 가능한 블록이 늘어납니다.

resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/sda1 to 5242880 (4k) blocks.
The filesystem on /dev/sda1 is now 5242880 blocks long.

다시 한번 df 명령어로 확인하면, 이번에는 20기가바이트 정도(20743348)로 늘어난 것을 알 수 있습니다.

$ df

Filesystem 1K-blocks Used Aavailable Use% Mounted on
/dev/xvda1 20743348 1094956 19438964 6% /