용량 부족으로 발생한 문제


➊EC2 터미널에서 패키지를 업데이트 하려고 하니 에러가 발생한다. ➋VSCode를 이용해 원격으로 EC2에 접속할 때도 원인을 모를 에러가 발생한다. 디스크 용량이 부족해서 나오는 에러다.

no space left on device

df -h 명령어로 xvda1 디바이스 볼륨 공간을 확인해보니 사용량이 99%다. 용량 추가가 필요하다. 프리티어 요금제에 기본적으로 주어지는 용량은 8GB지만, 메모리 스왑 등을 하고나면 턱없이 부족하다. 다행히 프리티어는 30GB까지 무료로 사용할 수 있다.

df -h                              
Filesystem      Size  Used Avail Use% Mounted on
udev            462M     0  462M   0% /dev
tmpfs            97M  832K   97M   1% /run
/dev/xvda1      7.7G  7.6G  149M  99% / # 인스턴스의 여유 공간이 149M 밖에 남지 않았다.
tmpfs           485M     0  485M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           485M     0  485M   0% /sys/fs/cgroup

디스크 공간 늘리기


AWS 콘솔에서 볼륨 확장

  1. EC2 대시보드 → [인스턴스] → [스토리지] → 볼륨 선택 → [볼륨 수정] 버튼 클릭

    Untitled

  2. 볼륨 크기 수정

    Untitled

  3. 볼륨 확장을 완료할 때까지 대기.

    Untitled

파티션 크기 조정

  1. 인스턴스에 연결된 블록 디바이스 확인. 루트 볼륨인 /dev/xvda 용량이 30G로 늘어난걸 확인할 수 있다. 하지만 /dev/xvda1 파티션의 용량은 아직 8G 그대로다. 이 파티션 용량을 늘려야 한다.

    lsblk
    loop8     7:8    0 32.5M  1 loop /snap/snapd/13640
    loop9     7:9    0 42.2M  1 loop /snap/snapd/14066
    xvda    202:0    0   30G  0 disk 
    └─xvda1 202:1    0    8G  0 part /
    
  2. 파티션 크기 조정. ⭐️ 디바이스 이름(xvda)과 파티션 번호(1)을 구분하는 공백을 추가해야 한다.

    sudo growpart /dev/xvda 1
    
  3. 파티션 크기 확인. /dev/xvda1 파티션 크기가 8G에서 30G로 변경됐다.

    lsblk
    loop8     7:8    0 32.5M  1 loop /snap/snapd/13640
    loop9     7:9    0 42.2M  1 loop /snap/snapd/14066
    xvda    202:0    0   30G  0 disk 
    └─xvda1 202:1    0   30G  0 part /
    

파일 시스템 확장

  1. 변경한 /dev/xvda1 파티션 사이즈를 파일 시스템에 적용

    sudo resize2fs /dev/xvda1
    
  2. 늘어난 디스크 용량 확인. 디스크 타입도 확인하고 싶다면 df -hT 명령어 입력.

    df -hT
    Filesystem     Type      Size  Used Avail Use% Mounted on
    udev           devtmpfs  462M     0  462M   0% /dev
    tmpfs          tmpfs      97M  844K   97M   1% /run
    /dev/xvda1     ext4       30G  9.1G   20G  32% /
    tmpfs          tmpfs     485M     0  485M   0% /dev/shm
    tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
    tmpfs          tmpfs     485M     0  485M   0% /sys/fs/cgroup