aws ec2 용량 부족할 때 파티션 크기 늘리기

jinwook han·2023년 3월 20일
0

다음과 같은 에러가 뜨고 있다.
OSError: [Errno 28] No space left on device: '/home/ubuntu/news_crawler/failure_report/2022-01-16.txt'

인스턴스의 남은 스토리지 공간을 확인해보자.
aws 공식문서를 보면 다음 명령어로 알 수 있다.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-describing-volumes.html

df -hT /dev/xvda1

![https://velog.velcdn.com/images%2Fjin942002%2Fpost%2F52c2c149-f5e2-4e0d-81d7-b63d5c54b948%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fjin942002%2Fpost%2F52c2c149-f5e2-4e0d-81d7-b63d5c54b948%2Fimage.png)

100% 사용 중이고, 남은 공간이 없다.

du 에러

지금은 ebs의 어느 부분이 큰 공간을 차지하고 있는지 알 수가 없다.

du -hal | sort -r 에서 No space left on device 에러가 나기 때문이다.

아래 명령어를 수행한다.

sudo mount -o size=10M,rw,nodev,nosuid -t tmpfs tmpfs /tmp

그래도 du -hal | sort -r 에서 에러가 난다.

ebs 사이즈 올리기

블로그를 참고하여 ebs 사이즈를 10기가로 늘렸다.

https://velog.io/@hyeonseop/ec2-용량-full일-때-대처법

sudo growpart /dev/xvda 1 명령을 통해 파티션의 크기를 늘린 후,

sudo resize2fs <파티션> 명령을 통해 file system 크기를 늘린다.

어느 부분이 용량을 차지하고 있는지 확인

/ (root directory)에서 어떤 파일이 용량을 크게 차지하고 있는지 확인했다.

// root directory에서 실행
du -hs */ 

usr이 4.,7G로 매우 큰 용량을 차지하고 있다.

usr은 linux-aws-header가 저장되는데, 옛날 버전은 수동으로 삭제해 주어야 한다고 한다.

https://ubuntuhandbook.org/index.php/2016/05/remove-old-kernels-ubuntu-16-04/

https://askubuntu.com/questions/1141630/why-is-usr-src-linux-aws-headers-growing

sudo apt --fix-broken install
sudo apt autoremove --purge

위 명령어를 사용하여 삭제했다.

usr의 크기가 4.7G → 1.4 G로 크게 줄었다.

0개의 댓글