Amazon Web Services에서 재부팅 없이 EC2 Linux 디스크 확장하기
단계를 따라가며 재부팅 없이 확장하는 방법을 배워보자. 일반적으로 Linux 서버의 루트 디스크를 확장하는 것은 정말 어렵다.

어떤 이유로든 재부팅 없이 안전하게 EC2 Linux 서버를 확장해야 할 때가 있다. 이 글에서는 AWS에서 EC2 Linux 디스크를 확장하는 방법을 배우게 된다.
이 예제에서는 디스크 크기를 80GiB에서 120GiB로 확장하는 과정을 보여준다.
1단계: 볼륨 수정
AWS Console에 로그인하고 EC2의 볼륨(디스크)을 찾는다. 팁: 왼쪽 창에 Elastic Block Store > Volumes가 있다. 볼륨을 우클릭한 다음 "Modify Volume" 옵션을 선택한다. 아래 이미지와 같다. 적절한 크기를 선택하고 Modify 버튼을 클릭한다.

2단계: 디스크 크기 확인
먼저 명령을 실행하기 전에 서버에서 root 또는 sudo 상태여야 한다. 먼저 디스크 크기를 확인하며, 볼륨 수정 전 크기를 표시해야 한다. 이 예제에서는 80GiB여야 한다.
[root@server ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 416K 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/nvme0n1p1 80G 51G 30G 64% /
tmpfs 1.6G 0 1.6G 0% /run/user/0그렇다, 전체 디스크 크기가 80GiB라고 표시된다. 이제 블록 디바이스 목록을 확인하자. 명령 출력은 /dev/nvme0n1 디바이스에서 새 디스크 크기를 보여줘야 한다.
[root@server ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 120G 0 disk
├─nvme0n1p1 259:1 0 80G 0 part /
└─nvme0n1p128 259:2 0 1M 0 part그렇다! nvme0n1p1은 80GiB이지만 nvme0n1은 120GiB라고 표시된다. 이는 nvme0n1p1 파티션을 80GiB에서 120GiB로 확장할 수 있다는 의미다.
3단계: 확장하기
여기 마법이 있다:
[root@server ~]# growpart /dev/nvme0n1 1
CHANGED: partition=1 start=4096 old: size=167768031 end=167772127 new: size=251654111 end=251658207growpart 명령은 디스크 파티션을 확장했을 뿐이며 아직 저장되지 않았다. 이제 파일 시스템에 수정 사항을 저장해야 한다.
[root@server ~]# xfs_growfs /
meta-data=/dev/nvme0n1p1 isize=512 agcount=41, agsize=524159 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1 spinodes=0
data = bsize=4096 blocks=20971003, 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 20971003 to 314567634단계: 디스크 크기 재확인
새 디스크 크기를 확인할 시간이다. 확인을 위해 명령을 다시 실행한다.
[root@server ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 412K 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/nvme0n1p1 120G 51G 70G 42% /
tmpfs 1.6G 0 1.6G 0% /run/user/0
[root@server ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 120G 0 disk
├─nvme0n1p1 259:1 0 120G 0 part /
└─nvme0n1p128 259:2 0 1M 0 part
축하한다! 재부팅 없이, 그리고 EBS(Elastic Block Storage)의 데이터 손실 없이 AWS EC2 Linux 서버를 성공적으로 확장했다.
Ercan의 다른 글
같은 저자, 다른 영역의 사이트 두 개.