Next.js로 만든 프로젝트를 EC2에 올려서 테스트 해보기 위해 EC2 내부에서 코드를 clone 하고 yarn
으로 의존성 패키지를 설치하려고 했다.
[ec2-user@ip-xxx-xx-xx-xxx articles-web]$ yarn
yarn install v1.22.19
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/4] Resolving packages...
[2/4] Fetching packages...
error https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.0.tgz: ENOSPC: no space left on device, write
error https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.0.tgz: ENOSPC: no space left on device, write
error https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.0.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "ENOSPC: no space left on device, write"
error https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.0.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "ENOSPC: no space left on device, write"
error https://registry.yarnpkg.com/@mui/material/-/material-5.6.3.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "ENOSPC: no space left on device, write"
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
에러가 나면 안되는 포인트에서 에러가 났다. "ENOSPC: no space left on device, write"
라는 걸 보니 어떤 공간이 없다고 하는 것 같다.
[ec2-user@ip-xxx-xx-xx-xxx articles-web]$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 222M 0 222M 0% /dev
tmpfs tmpfs 240M 0 240M 0% /dev/shm
tmpfs tmpfs 240M 484K 240M 1% /run
tmpfs tmpfs 240M 0 240M 0% /sys/fs/cgroup
/dev/xvda1 xfs 8.0G 7.9G 115M 99% /
tmpfs tmpfs 48M 0 48M 0% /run/user/1000
인스턴스의 용량 상태를 조회하는 명령어를 찾아서 확인해보니 인스턴스 프리티어 버전 셋팅 당시 기본으로 설정된 8G의 용량 중 7.9G 사용 중이었다. 인스턴스 용량이 없는 상태에서 프로젝트를 셋팅하면서 발생한 에러였다.
인스턴스의 용량을 확장하기 위해서 AWS 콘솔에서 불륨 설정 화면으로 들어가서 수정해준다. 기존 8G에서 16G로 확장했다. 설정이 완료되면 비용 증감이 발생한다.
[ec2-user@ip-172-31-42-207 articles-web]$ sudo growpart /dev/xvda 1
CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=33550303 end=33554399
[ec2-user@ip-172-31-42-207 articles-web]$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 222M 0 222M 0% /dev
tmpfs tmpfs 240M 0 240M 0% /dev/shm
tmpfs tmpfs 240M 484K 240M 1% /run
tmpfs tmpfs 240M 0 240M 0% /sys/fs/cgroup
/dev/xvda1 xfs 8.0G 7.9G 115M 99% /
tmpfs tmpfs 48M 0 48M 0% /run/user/1000
sudo growpart /dev/xvda 1
명령어로 볼륨 크기에 맞게 파티션이 적용될 수 있도록 파티션도 확장한다.
그리고 sudo xfs_growfs -d
로 파일 시스템까지 확장한다.
[ec2-user@ip-xxx-xx-xx-xxx articles-web]$ sudo xfs_growfs -d
df -hT
적용된 용량을 확인한다.
[ec2-user@ip-172-31-42-207 articles-web]$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 222M 0 222M 0% /dev
tmpfs tmpfs 240M 0 240M 0% /dev/shm
tmpfs tmpfs 240M 484K 240M 1% /run
tmpfs tmpfs 240M 0 240M 0% /sys/fs/cgroup
/dev/xvda1 xfs 16G 7.9G 8.2G 50% /
tmpfs tmpfs 48M 0 48M 0% /run/user/1000