참고URL : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html
운영중인 EC2 인스턴스의 디스크(EBS) 용량 늘려주기
EBS 볼륨 확장
AWS 콘솔 -> EC2 -> EBS(ELASTIC BLOCK STORE) -> 볼륨
확장하고자 하는 볼륨을 선택 후 “볼륨수정”
볼륨 크기 조정
원하는 용량을 GB단위로 기록해준다.
상태확인
“볼륨수정” 작업을 진행하게 되면 상태가 변경되는데
modifying 에서 optimizing 으로 전환 되는것을 기다리자
modifying 상태는 상당히 짧아서 확인하지 못할 수 있다.
즉, 그림과 같이 출력된 상태가 optimizing 상태라면 진행하면 되겠다.
LINUX 시스템의 디스크 상태 확인
root # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 60G 0 disk └─nvme0n1p1 259:1 0 30G 0 part /
디스크는 60G 로 확장되었으나
실제 사용해야 하는 파티션의 용량은 변하지 않았다.
예시에서는
- 디드크용량 : 60G
- 파티션용량 : 30G
로 표시되고 있다.
LINUX 시스템의 파티션 확장
참고로 본 글에서는 Nitro 기반의 인스턴스 기본값(즉, nvme 형태의 디바이스와 xfs 기반의 파티션)을 가정하고 설명한다.
운영중인 시스템마다 다를 수 있다.
root # growpart /dev/nvme0n1 1 CHANGED: partition=1 start=2048 old: size=62912479 end=62914527 new: size=125827039 end=125829087 root # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 60G 0 disk └─nvme0n1p1 259:1 0 60G 0 part /
디바이스명 : nvme0n1 => /dev/nvme0n1
파티션 : 1번 파티션 => 1
=> growpart 의 옵션은 “/dev/nvme0n1 1” 이 사용되었다.
이후 파티션의 크기가 60G 로 조정된것을 확인할 수 있다.
하지만…
파일시스템의 크기가 조정되지 않고 그대로…
root # df -h Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 30G 20G 11G 66% /
LINUX 파일시스템 확장
파일시스템의 종류 확인
root # mount|grep nvme /dev/nvme0n1p1 on / type xfs (rw,relatime,attr2,inode64,noquota)
결과를 통해 XFS 파일시스템으로 구성되어 있음을 확인 할 수 있다.
XFS 파일시스템 확장
root # xfs_growfs -d / meta-data=/dev/nvme0n1p1 isize=512 agcount=16, agsize=524224 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=7864059, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 7864059 to 15728379
root # df -h Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 60G 25G 36G 41% /
파일시스템 역시 조정되어 있는 것을 확인할 수 있다.