안녕하세요.
EC2에 연결된 EBS의 용량이 꽉차서 사이즈를 늘려야하는 경우가 발생할 수 있습니다.
오늘은 AWS Root Disk EBS 사이즈 증설 방법을 알려드리겠습니다.
EC2 OS는 Amazon Linux 2023에서 테스트를 진행하였습니다.
1. AWS Console에서 EBS 사이즈 수정
- AWS Console 로그인 > EC2 > Elastic Block Storage > 볼륨
- 증설하고자하는 EBS 선택 > 작업 > 볼륨 수정
- 크기 변경 > 수정
<주의 사항>
– EBS 사이즈를 늘리는 것은 가능하지만 줄이는 것은 불가능
– 볼륨을 수정한 후 다시 수정하려면 최소 6시간을 기다려야 한다.
– 증설 직후 다시 증설해야 할 경우 백업본이 있다면 백업으로 재생성 후 다시 증설 것이 더 빠를 수 있다.
2. Linux에서 Disk 증설 적용
2.1 디스크 현황 확인
아래 lsblk와 df -hT 명령어는 디스크 관련 정보들을 얻을 수 있는데요.
lsblk는 EC2에 Attach된 EBS의 볼륨 사이즈를 확인할 수 있습니다.
df -hT는 Attach된 EBS의 볼륨 사이즈라기 보다는 파일 시스템 확장을 어느 정도까지 했는지 확인할 수 있습니다.
EC2에 Attach된 EBS의 볼륨 사이즈를 변경해주면 lsblk 명령어를 날린 후 보이는 Disk Size는 바로 적용되지만, 실제로 사용자가 확장된 디스크를 바로 사용할 수는 없습니다. 파일 시스템 확장 과정을 거쳐줘야합니다.
▶EBS 사이즈 변경 전
/dev/xvda1 8GB인 것과 xfs 파일 시스템인 것을 확인
[root@hostname]# lsblk
-------------------------------------------------------------
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
xvda 202:0 0 8G 0 disk
├─xvda1 202:1 0 8G 0 part /
├─xvda127 259:0 0 1M 0 part
└─xvda128 259:1 0 10M 0 part
-------------------------------------------------------------
[root@hostname]# df -hT
-------------------------------------------------------------
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 475M 0 475M 0% /dev/shm
tmpfs tmpfs 190M 2.8M 188M 2% /run
/dev/xvda1 xfs 8.0G 2.4G 5.6G 30% /
tmpfs tmpfs 475M 0 475M 0% /tmp
tmpfs tmpfs 95M 0 95M 0% /run/user/1000
-------------------------------------------------------------
▶EBS 사이즈 변경 후
EBS가 9GB로 변경되었지만 파일 시스템 확장은 안된 상태
[root@hostname]# lsblk
-------------------------------------------------------------
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
xvda 202:0 0 9G 0 disk
├─xvda1 202:1 0 8G 0 part /
├─xvda127 259:0 0 1M 0 part
└─xvda128 259:1 0 10M 0 part
-------------------------------------------------------------
[root@hostname]# df -hT
-------------------------------------------------------------
- EBS 사이즈 변경 전과 동일
-------------------------------------------------------------
2.2 파일 시스템 확장
이번에는 파티션 크기 조정과 파일 시스템 확장을 해보도록 하겠습니다. growpart 명령어를 사용해줄거고 /dev/xvda라는 값은 df -hT 명령어 출력 값에서 가져왔습니다. 그리고 1은 파티션을 의미합니다. EC2 Root 디스크는 파티션 설정이 되어있었습니다. 그 다음 xfs_growfs 명령어를 사용하여 파일 시스템 확장을 하고 확장된 디스크도 사용할 수 있도록 해줍니다. 참고로 실습에 사용된 파일 시스템은 xfs입니다. df -hT에서 파일 시스템 타입이 xfs였기 때문에 xfs_growfs 명령어를 사용하는 것입니다. 다른 파일 시스템이라면 다른 명령어를 찾으셔야할 수도 있습니다.
EC2에 연결된 EBS의 사이즈를 확장하는 방법을 소개합니다.
▶파티션 크기 조정
[root@hostname]# growpart /dev/xvda 1
-------------------------------------------------------------
CHANGED: partition=1 start=24576 old: size=16752607 end=16777183 new: size=18849759 end=18874335
-------------------------------------------------------------
▶파일 시스템 확장
[root@hostname]# xfs_growfs -d /
-------------------------------------------------------------
meta-data=/dev/xvda1 isize=512 agcount=2, agsize=1047040 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1
data = bsize=4096 blocks=2094075, imaxpct=25
= sunit=128 swidth=128 blks
naming =version 2 bsize=16384 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=4096 sunit=4 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2094075 to 2356219
-------------------------------------------------------------
▶예시) 파티션 크기 조정
growpart /dev/xvda 1
growpart /dev/nvme0n1 1
▶예시) 파일 시스템 확장
xfs_growfs -d /
xfs_growfs -d /dev/nvme0n1p1
xfs_growfs -d /dev/nvme3n1
2.3 적용 확인
▶파티션 크기 조정 및 파일 시스템 확장 후
[root@hostname]# df -hT
-------------------------------------------------------------
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 475M 0 475M 0% /dev/shm
tmpfs 190M 2.8M 188M 2% /run
/dev/xvda1 9.0G 2.4G 6.6G 27% /
tmpfs 475M 0 475M 0% /tmp
tmpfs 95M 0 95M 0% /run/user/1000
-------------------------------------------------------------
오늘은 AWS Amazon Linux 2023에서 Root Disk 증설 절차를 알아봤는데요.
Root Disk말고 추가로 Attach한 EBS의 증설도 위와 동일하답니다.
다만 저는 주로 추가로 Attach한 EBS는 파티션을 설정하지 않고 사용해서 추가로 붙인 EBS 증설 시 위 과정에서 파티션 크기 조정은 생략한답니다.
4. 요약
오늘 진행한 실습에서 사용한 명령어들입니다. 요약하자면 아래 명령어를 순서대로 실행시키시면 됩니다. 위에서 AWS Root DISK EBS 사이즈 증설을 중점으로 다루지만 추가로 Attach Disk도 유사한 방법으로 확장할 수 있습니다. 그리고 /dev/xvda 대신 /dev/nvme0n1p1으로 나올 때도 있는데 크게 다르지 않으니 한 번 시도해보시고, 공식 문서 출처로 남겨드립니다.
lsblk
df -hT
growpart /dev/xvda 1
xfs_growfs -d /
df -hT
출처) https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html