Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
파일 시스템에 남은 공간이 없다는 오류가 표시되는 경우, EBS 볼륨의 크기를 늘리려면 어떻게 해야 하나요?
Amazon Elastic Block Store(Amazon EBS)의 볼륨 크기를 늘리려고 합니다. 하지만 파일 시스템에 남은 공간이 없다는 오류 메시지를 받았습니다.
간략한 설명
EBS 볼륨의 루트 파티션이나 루트 파일 시스템을 확장하려고 하면, No space left on device 오류가 발생할 수 있습니다. 이 오류를 방지하려면, 가상 메모리에 있는 임시 파일 시스템(tmpfs)을 사용합니다. /tmp 마운트 지점 아래에 tmpfs 파일 시스템을 마운트한 다음, 루트 파티션 또는 루트 파일 시스템을 확장합니다.
다음 예는 루트 EBS 볼륨 블록 디바이스(/dev/nvme0n1)가 9GiB이고 루트 파티션(파티션 1)이 이미 8GiB임을 보여줍니다.
$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 9G 0 disk ├─nvme0n1p1 259:1 0 8G 0 part / └─nvme0n1p128 259:2 0 1M 0 part
루트 파티션(파티션 1)을 늘리려고 하면, 다음 오류 출력 중 하나가 나타납니다.
$ sudo growpart /dev/nvme0n1 1/bin/growpart: line 248: /tmp/growpart.fklt5u/dump.out: No space left on device FAILED: failed to dump sfdisk info for /dev/nvme0n1
-또는-
$ sudo growpart /dev/nvme0n1 1CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335 FAILED: failed: sfdisk --list /dev/nvme0n1
참고: 진행하기 전에 인스턴스의 Amazon Machine Image(AMI) 백업을 생성하는 것이 좋습니다. 또는 인스턴스에 연결된 루트 EBS 볼륨의 스냅샷을 생성합니다. 백업을 통해 예상치 못한 문제가 발생했을 때 데이터를 복구할 수 있습니다.
해결 방법
-
SSH를 사용하여 Amazon EC2(Elastic Compute Cloud) Linux 인스턴스에 연결합니다.
-
df -h 명령을 사용하여 **/**에 마운트된 루트 파티션이 꽉 찼는지(100%) 확인합니다. 다음 예제에서 /dev/nvme0n1p1은 해당 공간의 100% 를 사용합니다.
$ df -hFilesystem Size Used Avail Use% Mounted on devtmpfs 460M 0 475M 0% /dev tmpfs 478M 0 492M 0% /dev/shm tmpfs 478M 432K 492M 1% /run tmpfs 478M 0 492M 0% /sys/fs/cgroup /dev/nvme0n1p1 8.0G 8.0G 664K 100% / tmpfs 96M 0 99M 0% /run/user/1000
연결된 블록 디바이스와 루트 **/**마운트 지점의 세부 정보를 수집하려면, 다음 명령을 실행합니다.
$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 9G 0 disk ├─nvme0n1p1 259:1 0 8G 0 part / └─nvme0n1p128 259:2 0 1M 0 part $ lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT nvme0n1 ├─nvme0n1p1 xfs / afcf1342-1d40-41bd-bde9-e4ea5d87e3b6 / └─nvme0n1p128
이 예제 출력에서 루트 EBS 볼륨의 총 공간은 9GiB입니다. 하지만 루트 파티션 (/dev/nvme0n1p1) 또는 파티션 1은 8GiB에 불과합니다. 파일 시스템 유형은 XFS입니다.
-
No space left on the block device이라는 오류를 방지하려면, 임시 파일 시스템 tmpfs를 /tmp 마운트 포인트에 마운트합니다. 이렇게 하면 /tmp에 마운트된 10Mtmpfs가 생성됩니다.
$ sudo mount -o size=10M,rw,nodev,nosuid -t tmpfs tmpfs /tmp
-
루트 파티션 또는 파티션 1의 크기를 늘리려면, growpart 명령을 실행합니다. /dev/nvme0n1을 루트 파티션으로 바꿉니다.
$ sudo growpart /dev/nvme0n1 1 CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335
-
파티션 1Gib를 9GiB로 확장했는지 확인하려면, lsblk 명령을 실행합니다.
$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 9G 0 disk ├─nvme0n1p1 259:1 0 9G 0 part / └─nvme0n1p128 259:2 0 1M 0 part
-
파일 시스템을 확장합니다. 루트 파티션 **/**의 파일 시스템을 확인하려면, 단계 3을 참고하세요. 다음 예제에서는 XFS 유형 파일 시스템을 확장했습니다.
$ sudo xfs_growfs -d /data blocks changed from 2096635 to 2358779 = sectsz=512 sunit=0 blks, lazy-count=1 log =internal bsize=4096 blocks=2560, version=2 naming =version 2 bsize=4096 ascii-ci=0 ftype=1 = sunit=0 swidth=0 blks data = bsize=4096 blocks=2096635, imaxpct=25 = crc=1 finobt=1 spinodes=0 = sectsz=512 attr=2, projid32bit=1 realtime =none extsz=4096 blocks=0, rtextents=0 meta-data=/dev/nvme0n1p1 isize=512 agcount=4, agsize=524159 blks
다음 예제에서는 파티션 1의 EXT2/EXT3/EXT4 파일 시스템을 확장했습니다.
$ sudo resize2fs /dev/nvme0n1p1
-
파일 시스템을 확장한 후 df -h 명령을 사용하여 OS에 추가 공간이 나타나는지 확인합니다.
$ df -hFilesystem Size Used Avail Use% Mounted on devtmpfs 960M 0 960M 0% /dev tmpfs 978M 0 978M 0% /dev/shm tmpfs 978M 392K 978M 1% /run tmpfs 978M 0 978M 0% /sys/fs/cgroup /dev/nvme0n1p1 9.0G 8.0G 1022M 89% / tmpfs 196M 0 196M 0% /run/user/1000 tmpfs 10M 0 10M 0% /tmp
-
tmpfs 파일 시스템을 마운트 해제하려면, 마운트 해제 명령을 실행합니다.
$ sudo umount /tmp

관련 콘텐츠
- 질문됨 3달 전lg...
- 질문됨 2달 전lg...
- 질문됨 5달 전lg...
- 질문됨 2달 전lg...
- AWS 공식업데이트됨 일 년 전
- AWS 공식업데이트됨 5달 전