얼마전에 잘만 돌아가던 도커 빌드에서 에러가 떴습니다.
에러 원인은 바로 이거더라구요
아 용량 .. 부족이었습니다.
즉, 용량이 꽉 차서 생긴 문제였구요.
쓰고 있는 ❗️EC2 인스턴스에서 볼륨의 크기를 키운 후, 파일시스템 확장으로 해결했습니다❗️
먼저, 현재 서버에 접속해서 용량을 확인해보았습니다.
용량 확인하기
df -h
로 확인)ubuntu@ip-172-31-40-56:~$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 473M 0 473M 0% /dev
tmpfs tmpfs 98M 11M 87M 11% /run
/dev/xvda1 ext4 7.7G 7.7G 0 100% /
tmpfs tmpfs 488M 0 488M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/loop0 squashfs 25M 25M 0 100% /snap/amazon-ssm-agent/4046
/dev/loop1 squashfs 44M 44M 0 100% /snap/snapd/14295
/dev/loop3 squashfs 56M 56M 0 100% /snap/core18/2284
/dev/loop4 squashfs 56M 56M 0 100% /snap/core18/2253
/dev/loop5 squashfs 44M 44M 0 100% /snap/snapd/14549
tmpfs tmpfs 98M 0 98M 0% /run/user/1000
아니 7.7G 중 7.7G 전체를 다 썼는데,, 당연히 ,,,
해당 EC2 인스턴스 블록 디바이스의 볼륨 수정하기
EC2 > 해당 인스턴스 > 스토리지로 가줍니다.
해당 볼륨을 클릭한 후 작업으로 가서 볼륨 수정을 해줍니다. ( 8 -> 16GB 로 수정 )
lsblk
명령어로 인스턴스에 연결된 블록 디바이스 확인
ubuntu@ip-172-31-40-56:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 25M 1 loop /snap/amazon-ssm-agent/4046
loop1 7:1 0 43.3M 1 loop /snap/snapd/14295
loop3 7:3 0 55.5M 1 loop /snap/core18/2284
loop4 7:4 0 55.5M 1 loop /snap/core18/2253
loop5 7:5 0 43.4M 1 loop /snap/snapd/14549
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 8G 0 part /
루트 볼륨 /dev/xvda
가 8GB에서 16GB로 되었습니다.
볼륨 크기는 커졌지만 /dev/xvda
의 파티션인 /dev/xvda1
은 아직 8GB인 상태입니다.
이거를 늘려야 합니다.
sudo growpart <볼륨> <파티션 번호>
명령어로 파티션 크기 늘리기
sudo growpart <볼륨> <파티션 번호>
ubuntu@ip-172-31-40-56:~$ sudo growpart /dev/xvda 1
mkdir: cannot create directory ‘/tmp/growpart.22811’: No space left on device
FAILED: failed to make temp dir
저와 같은 경우는 용량이 너어어어무 없어서 아예 명령어 작동도 안되었습니다.
어느정도 공간 확보가 꼭 필요합니다.
지금까지 도커에서 안쓰는 이미지와 컨테이너들을 관리를 안해놓아서 이 참에 안쓰는 이미지와 컨테이너들을 지워주었습니다.
sudo docker image prune
sudo docker container prune
(진작에 좀 할걸.. 아니 1.7GB 라니)
다시 파티션 크기 늘려보고, lsblk명령어로 확인해보겠습니다.
ubuntu@ip-172-31-40-56:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 25M 1 loop /snap/amazon-ssm-agent/4046
loop2 7:2 0 43.6M 1 loop /snap/snapd/14978
loop3 7:3 0 55.5M 1 loop /snap/core18/2284
loop4 7:4 0 55.5M 1 loop /snap/core18/2253
loop5 7:5 0 43.4M 1 loop /snap/snapd/14549
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 8G 0 part /
ubuntu@ip-172-31-40-56:~$ sudo growpart /dev/xvda 1
CHANGED: partition=1 start=2048 old: size=16775135 end=16777183 new: size=33552351,end=33554399
ubuntu@ip-172-31-40-56:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 25M 1 loop /snap/amazon-ssm-agent/4046
loop2 7:2 0 43.6M 1 loop /snap/snapd/14978
loop3 7:3 0 55.5M 1 loop /snap/core18/2284
loop4 7:4 0 55.5M 1 loop /snap/core18/2253
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 16G 0 part /
/dev/xvda1
파티션 크기가 16GB로 늘어난 것을 확인할 수 있습니다😊
파일시스템에 바뀐 파티션의 size 적용시키기
파티션의 크기까지 늘렸으니, 이제 사용하는 파일시스템에 바뀐 파티션의 size를 적용시키면 됩니다.
sudo resize2fs <파티션>
ubuntu@ip-172-31-40-56:~$ sudo resize2fs /dev/xvda1
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/xvda1 is now 4194043 (4k) blocks long.
그리고 확인하면 다음과 같습니다.
ubuntu@ip-172-31-40-56:~$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 473M 0 473M 0% /dev
tmpfs tmpfs 98M 932K 97M 1% /run
/dev/xvda1 ext4 16G 5.0G 11G 33% /
/dev/xvda1
의 용량이 16GB로 늘어난 것을 잘 확인할 수 있습니다!
그리고 깃헙 액션으로 다시 빌드를 해보았는데요,
잘 빌드되는 것을 확인할 수 있었습니다.
[reference]