[AWS] EBS Volume 확장, 파티션 수정
지난 게시물에서 EBS 볼륨을 EC2 인스턴스에 마운트하는 방법(https://log4day.tistory.com/30)에 대해 알아보았다. 이어서 EBS 스토리지 용량을 확장하는 방법에 대해 공유한다.
AWS에서는 사용중인 EBS 용량을 줄이는 기능을 제공하지 않지만, EBS의 용량 확장 및 IOPS, Throughput 값 수정은 제공하고 있다. 이번 포스트에서는 기존 1TB EBS를 2TB로 확장하는 과정을 담았다.
EBS 스토리지 확장 단계
스토리지 확장은 아래 4 단계로 나누어 진행할 수 있다. 크게 보면 AWS Console에서 EBS 설정값을 바꿔준 뒤, 서버에서 기존 스토리지 파티션을 터미널 명령어로 넓혀주는 형식이다.
- AWS Console에서 확장하고자 하는 EBS 설정값 변경
- 서버에서 EBS 상태 확인
- EBS 파티션 확장
- 적용 확인
1. AWS Console에서 확장하고자 하는 EBS 설정값 변경
먼저 AWS에서 확장하고자 하는 EBS에 접근한다. 아래 가이드를 참고해서 EBS 설정 변경 화면으로 넘어갈 수 있도록 하자.
Modify Volume 화면으로 이동되었다면, 각자 필요한 사양에 맞춰 Size, IOPS, Throughput 등 값을 입력해주자. 입력이 끝났으면 Modify 버튼으로 저장한다.
AWS Console에서 설정이 필요한 부분은 끝났다. 이제 스토리지가 적용된 터미널로 이동하면 된다.
2. 서버에서 EBS 상태 확인
lsblk
와 df -h
명령어를 입력하면 해당 서버 스토리지 현황을 한눈에 볼 수 있다. 이 두 개의 명령어 차이점이 있다면, lsblk
은 인스턴스의 EBS Volume 정보를 제공해주며, df -h
은 실제 인스턴스에 적용된 스토리지 현황을 제공해준다는 점이다.
여기서 주의 깊게 봐야 할 점은 서버 EBS 사양과 스토리지 적용값이 다르다는 점이다. AWS Console에서 EBS 사양을 변경한 건 맞지만, 아직 서버에는 적용되지 않았기 때문이다.
이는 실제 EBS 볼륨은 변경한 값(내 기준 2TB)이지만, 서버의 EBS 볼륨 파티션은 기존의 용량(내 기준 984GB)으로 아직 확장되지 않았음을 의미한다.
이에 우리는 추가적으로 터미널에서 스토리지 파티션을 늘려주는 작업을 해야 한다.
3. EBS 파티션 확장
스토리지 파티션 확장에는 해당 스토리지의 파일 시스템 타입에 따라 2가지 방법이 있다. 이는 서버 개발자가 스토리지를 마운트하는 시점에 어떤 파일 시스템으로 마운트 했는지에 따라 달라진다.
파일 시스템은 xfs
, ext4
두 타입이 있으며, 나의 경우 ext4 타입이다. 파일 시스템 확인 명령어는 lsblk -f
이며, 아래 이미지를 참고하자.
파일 시스템을 확인했다면, 파티션 확장을 진행한다. 관리자 권한(sudo)으로 실행해야 하며, 파일 시스템에 맞는 명령어를 입력하자. 주의점은 확장 명령어에서 xfs 타입은 마운트 경로를 입력한다는 점과 ext4 타입은 스토리지 디바이스명을 입력한다는 점이다.
나의 경우 ext4 타입에 맞는 명령어를 장치명과 함께 입력했다. (참고 ::: EBS는 기본적으로 /dev/NAME 의 형식을 가진다.)
# xfs 타입의 볼륨일 때, 해당 경로 볼륨을 확장 (/node)
sudo xfs_growfs -d [마운트 경로]
# ext4 타입의 볼륨일 때, 해당 장치명 볼륨을 확장 (/dev/xvdf)
sudo resize2fs [장치명]
입력에 성공하면 EBS 마운트 포인트의 용량이 AWS Console에서 수정한 값만큼 증가했다는 메세지를 확인할 수 있다.
4. 적용 확인
모든 과정이 끝났다. 마지막으로 실제 서버 스토리지 현황에 변경한 값이 잘 적용되었는지 확인하자. 나의 경우 984GB였던 스토리지 사이즈가 2TB로 변경되었다. 가용 용량 역시 이에 맞춰 늘어난 것을 확인할 수 있다.