Search

AWS EBS Volume 확장 방법

Created time
2022/09/03 08:07
Modified
2022/11/14 12:55
Tags
aws
ebs

목적

사용하던 EBS Volume 의 크기가 부족해진 경우,
시스템을 그대로 유지하면서,
EBS의 디스크의 사이즈만 증설하는 방법에 대해서 이야기합니다.

구현

1. AWS Dashboard에서 EBS Volume 사이즈 증설

OS 설치시, 파티션으로 나누어서 활용합니다.
HDD or SSD 가 100GB 라고해서, 파티션 C Drive 가 반드시 100GB 가 되지 않습니다.
여기서 우리는 EBS Volume 이라는 전체 드라이브를 증설합니다.
증설된 전체 드라이브에서 원하는 용량만큼 더 추가적으로 파티셔닝을 하면 됩니다.
즉, 전체 드라이브가 커졌다고 파티션된 EBS Volume이 자동으로 늘어나는게 아닙니다.

2. EBS Volume을 사용하는 EC2 Instance System 접속

원하는 방식으로 시스템에 접속합니다.

3. EC2 Instance System의 파티션 용량 증설

우선 증설된 스토리지 디바이스 정보를 lsblk 로 확인합니다.
(Amazon Linux 기준이지만, 디바이스 이름만 다르지 다른 리눅스 환경에서도 동일합니다.)
성공적으로 EBS 볼륨이 증설되었다면, 전체 볼륨 xvda가 10GB이고, 사용중인 xvda1이 8gb 크기입니다.
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 10G 0 disk `-xvda1 202:1 0 8G 0 part /
Bash
복사
이제 xvda1 크기를 growpart 를 이용하여 10GB로 바꾸면 됩니다.
sudo growpart /dev/[루트 disk 이름] [파티션 용량을 할당할 파티션 번호]
Ex) sudo growpart /dev/xvda 1
(이때 xvda1에 사용가능한 용량이 0면 에러가 날 수 있습니다. df -h 명령어로 확인가능)
$ sudo growpart /dev/xvda 1 CHANGED: disk=/dev/xvda partition=1: start=4096 old: size=16773086,end=16777182 new: size=20967390,end=20971486
Bash
복사
다시 lsblk 명령어를 치면 xvda랑 xvda1 이랑 10GB로 파티셔닝이 증설된 것을 볼 수 있습니다.
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 10G 0 disk `-xvda1 202:1 0 10G 0 part /
Bash
복사

4. 실제로 파티셔닝이 할당된 파일 시스템 재할당

그러면 df -h 명령어로 xvda1 현재 크기를 확인합니다.
아직은 증가하지 않은 용량을 볼 수 있습니다.
$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 987M 60K 987M 1% /dev tmpfs 997M 0 997M 0% /dev/shm /dev/xvda1 7.8G 4.2G 3.6G 54% /
Bash
복사
이제 마지막으로 sudo resize2fs /dev/xvda1 로 파일시스템 재할당 작업을 합니다.
$ sudo resize2fs /dev/xvda1 resize2fs 1.43.5 (04-Aug-2017) Filesystem at /dev/xvda1 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/xvda1 is now 2620923 (4k) blocks long.
Bash
복사
그러면 df -h 명령어로 xvda1 증설을 확인할 수 있습니다.
$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 987M 60K 987M 1% /dev tmpfs 997M 0 997M 0% /dev/shm /dev/xvda1 9.8G 4.2G 5.5G 43% /
Bash
복사