자세한 명령과 내용은 생략하고 개념만 정리한다. 여기서 개념을 정리한 뒤 아마존 웹 서비스의 설명 문서를 참고하면 한결 쉽다.
내 경우 리눅스 EXT4 파일시스템(fs)이었으므로 그 부분에 대해 설명한다. 역시 아마존 웹 서비스의 설명 문서를 보면 다른 파일 시스템에 대한 이야기도 나와 있다.
일단 아마존 웹 서비스의 콘솔에서 EBS의 용량을 늘리면 그건 하드웨어적으로 즉시 반영된다. 말하자면 컴퓨터에서 용량이 큰 스토리지를 끼운 것으로 생각하면 된다. 기존의 스토리지에 있는 구조를 그대로 옮겨서 끼웠다고 생각하면 편하다. 하드카피 방식으로 옮겼다고 생각하면 더 쉽다.
그러면 스토리지는 늘어났지만 파티션 용량은 그대로다. 웹 서비스의 콘솔에서 스토리지 용량을 늘리는 것은 하드웨어를 조정하는 것이므로 파티션이 변경되지는 않는다. 한 스토리지에는 여러 파티션이 있을 수 있는데, 어떤 파티션에 늘어난 스토리지 용량을 반영해야 하는지 웹 콘솔은 알지 못한다. (사실 UI로 선택을 하게 해도 되겠지만 여하간 현재 AWS는 그렇게 해 두지 않았다.)
따라서 SSH로 접속을 해서 파티션을 조정해 줘야 한다.
파티션 늘리기 – growpart
우선 lsblk
로 파티션의 스토리지명을 확인한다. 아래 보면 스토리지는 nvme0n1
과 xvdf
두 가지 장치가 있다.
nvme0n1 259:0 0 95G 0 disk
├─nvme0n1p1 259:1 0 94.9G 0 part /
└─nvme0n1p15 259:2 0 99M 0 part /boot/efi
xvdf 202:80 0 390G 0 disk /mnt
nvme0n1
은 파티션이 두 개로 나뉘어 있고 xvdf
는 파티션이 없는 스토리지입니다.
파티션이 있는 nvme0n1
의 사이즈를 조정하려면 우선 파티션을 늘려 줘야 합니다. 파티션이 없는 xvdf라면 바로 파일시스템 리사이즈를 해 줍니다.
리눅스(EXT4)의 경우 파티션을 조정하는 명령은 아래와 같다. 스토리지 장치명은 위에서 굵게 표시한 nvme0n1
이고, 파티션 번호는 위에서 굵게 표시한 1
입니다.
# lsblk 명령으로 확인한 스토리지 장치명을 사용한다.
sudo growpart /dev/{스토리지-장치명} {파티션-번호}
# ex) sudo growpart /dev/nvme0n1 1
파일시스템 리사이즈 – resize2fs
이제 df -Th
명령으로 볼륨 파티션명을 확인합니다.
Filesystem Type Size Used Avail Use% Mounted on
/dev/root ext4 92G 83G 9.6G 90% /
/dev/xvdf ext4 383G 348G 18G 96% /mnt
늘리려고 하는 파티션이 /
이라면 볼륨 파티션명은 /dev/root
입니다. /mnt
라면 /dev/xvdf
입니다.
명령어는 다음과 같습니다.
sudo resize2fs {볼륨-파티션명}
# ex) sudo resize2fs /dev/root
위와 같이 하면 스토리지의 남은 용량이 모두 지정한 파티션 볼륨에 가서 붙게 된다. growpart
명령어에서 사용한 스토리지 장치명과 resize2fs
명령어에서 사용한 볼륨 파티션명이 다르다는 것에 주의해야 한다.
재부팅도 필요 없이 즉시 반영된다.
댓글 남기기