사이드 프로젝트/AgileHub

스토리지 용량 늘리기 (EBS)

EVO. 2024. 3. 13. 22:11

처음 인스턴스를 시작할 때 스토리지 구성을 건들지 않았다.

 

스토리지 유형은 EFS, Amazon EC2 Instance Store, EBS, S3가 있다. 아마존 EBS는 인스턴스 중지나 종료에 상관없이 데이터가 유지되어 있는 영구 스토리지 이며, EC2 인스턴스를 생성할 때 프리티어로 사용할 경우 root 디바이스 유형이 기본적으로 EBS로 되어있다. 최대 30GB까지 EBS 범용 SSD를 사용할 수 있는데 난 8GiB로 설정을 해버려서 다음과 같이 프로젝트를 시작한지 몇 주만에 30%의 가용량 밖에 남아있지 않았다.

 

늘리는 방법은 굉장히 쉽다. 먼저 해당 인스턴스에 들어가서 스토리지의 볼륨 ID로 들어가서 볼륨 수정을 눌른 후 원하는 만큼의 크기로 늘리면 시간이 지난 뒤 할당 된다.

 

하지만 이로서 끝난게 아니다. 볼륨을 확장시키긴 했지만 파일시스템을 확장시켜야지만 그 늘어난 볼륨을 사용할 수 있을 것이다.

`lsblk` 명령어로 시스템에 연결된 모든 저장장치(블록 디바이스)의 정보를 볼 수 있다.

 

다음과 같이 블록디바이스 (nvme0n1)이 20G로 확장되었음을 볼 수가 있다.

이제 파일시스템 역시 확장 시키기 위해

먼저 `sudo growpart /dev/nvme0n1 1`으로 파티션 크기를 조정한다. nvme0n1p1은 nvme0n1이 1번 디바이스 이름이고 파티션 1번을 뜻한다.

 

 

참고로 여기서 AWS EC2 인스턴스에서는 외부적으로 블록 디바이스를 `/dev/sda1`과 같이 표시를 하지만 실제 인스턴스 내부에서 lsblk 명령어를 사용하여 확인하면 nvme0n1과 같이 NVMe 기반의 디바이스 이름으로 보여지고 있다.

논리적인 이름과 실제 이름으로 보면 되고 서로간 동일한 스토리지 리소스를 가리키고 있다. 

 

이제 파티션을 늘렸으니 파일 시스템을 확장한다. `sudo resize2fs /dev/nvme0n1p1`

 

df -h로 변경된 파일시스템의 디스크 공간 사용량을 확인해 본다.

이때 우리가 늘렸던 EBS 볼륨은 파일시스템의 루트 파일 시스템으로 자동 마운트 됨을 확인할 수가 있다. 성공!