Server/Linux

AWS EC2 볼륨 확장 후 기존 파티션에 추가 용량 할당(Ubuntu 18.04)

범데이 2025. 2. 9. 22:45

AWS EC2에 사용중인 Ubuntu 18.04 서버가 있는데, 디스크가 또 꽉 차서 볼륨을 확장하게 되었다.

 

 

다행히 AWS서는 볼륨을 쉽게 확장할 수 있지만, OS에서 추가된 용량을 인식하고 기존 파티션에 합쳐서 사용할 수 있도록 하는 추가 작업이 필요하다.

 

이번 포스팅에서는 Ubuntu 18.04 버전의 EC2 인스턴스의 EBS볼륨을 확장한 후, 기존 파티션에 새롭게 추가된 공간을 합쳐서 사용하는 방법을 정리해보겠다. 또한 예외적으로 기존 파티션이 가득 차서 확장이 불가능할 때 해결하는 방법도 함께 소개한다.

 

 

1. 현재 디스크 상태 확인

볼륨을 확장한 후, EC2 인스턴스에 SSH로 접속하여 디스크 상태를 확인한다.

lsblk

 

여기서 xvda 볼륨이 22GB로 증가했지만, 기존 루트 파티션 xvda1은 여전히 18GB로 남아있고, 새로운 4GB가 xvda2로 별도 파티션이 생성되었다. 우리는 이 4GB를 xvda1과 합쳐야 한다.

 

 

2. 파티션 확장하기

2-1. 기존 파티션 (xvda1)을 확장

Ubuntu 18.04에서는 growpart명령어를 사용해 기존 파티션을 확장할 수 있다.

sudo growpart /dev/xvda 1

 

 

정상적으로 실행되었는지 확인하려면 다시 lsblk를 싱행해본다.

 

기존 xvda 파티션이 정상적으로 확장됨을 확인할 수 있다.

 

3. 파일시스템 크기 확장하기

파티션을 확장한 후, 파일시스템도 새롭게 확장해야 정상적으로 용량을 사용할 수 있다.

 

3-1. ext4 파일 시스템 확장 (일반적인 경우)

sudo resize2fs /dev/xvda1

 

3-2. XFS 파일시스템 확장 (Amazon Linux 2 등)

sudo xfs_growfs /

 

 

이제 확장된 공간이 정상적으로 사용 가능한지 확인한다.

df -h

 

 

4. 예외 상황: 기존 파티션 용량이 꽉 차서 growpart 실패

만약 growpart 명령어 실행 시 다음과 같은 오류가 발생한다면:

sudo: unable to resolve host ip-172-31-17-83: Resource temporarily unavailable
mkdir: cannot create directory ‘/tmp/growpart.5325’: No space left on device
FAILED: failed to make temp dir

이는 기존 파티션의 용량이 꽉 차서 growpart가 실행되지 않는 문제이다. 해결 방법은 다음과 같다.

 

 

4-1. /tmp 디렉터리의 임시 공간 변경

growpart/tmp의 임시 파일을 생성하는데, 용량 부족으로 실패할 수 있다. /tmp 대신 다른 위치를 사용하도록 설정한다.

sudo mkdir -p /root/tmp
sudo TMPDIR=/root/tmp growpart /dev/xvda 1

 

 

4-2. 시스템 로그 및 패키지 캐시 정리

아래 명령어로 불필요한 시스템 로그와 패키지 캐시를 정리하여 디스크 공간을 확보할 수 있다.

sudo journalctl --vacuum-size=50M
sudo rm -rf /var/log/*.gz /var/log/syslog.* /var/log/journal/*
sudo apt-get clean

 

  • sudo journalctl --vacuum-size=50M
    • journalctl 명령어를 사용하여 시스템 로그(journal logs)를 50MB 이하로 유지하도록 정리한다.
    • 오래된 로그 파일을 삭제하고 공간을 확보한다.
  • sudo rm -rf /var/log/*.gz /var/log/syslog.* /var/log/journal/*
    • /var/log/ 디렉터리 내에서:
      • .gz 확장자를 가진 압축된 로그 파일 삭제
      • syslog.* (예: syslog.1, syslog.2.gz 등) 삭제
      • /var/log/journal/ 내의 모든 파일 삭제 (systemd journal 로그 삭제)
  • sudo apt-get clean
    • 패키지 관리자(apt)가 다운로드한 .deb 패키지 캐시를 삭제하여 공간을 확보한다.
    • /var/cache/apt/archives/에 저장된 패키지 파일들을 정리한다.

 

4-3. 재부팅 후 다시 시도

위 방법으로 해결되지 않는다면 인스턴스를 재부팅한 후 다시 growpart를 실행한다.

sudo reboot

 

 

 

 

결론

AWS EC2 볼륨을 확장한 후 기존 파티션에 추가 용량을 할당하는 과정은 볼륨 확장 → 파티션 확장 → 파일시스템 확장의 순서로 진행된다. 하지만 기존 파티션이 가득 차서 확장이 불가능한 경우, /tmp 경로를 변경하거나 불필요한 파일을 정리해야 한다.

 

위 과정을 따라 하면 Ubuntu 18.04의 EC2 인스턴스의 디스크 용량을 원활하게 확장할 수 있을 것이다.

728x90
반응형