파일 시스템에 남은 공간 없음 오류가 표시되는 경우 EBS 볼륨의 크기를 늘리려면 어떻게 해야 합니까?
Amazon Elastic Block Store(Amazon EBS) 볼륨 크기를 늘리려고 했을 때 파일 시스템에 남은 공간 없음 오류가 표시됐습니다. 이 문제를 해결하려면 어떻게 해야 합니까?
간략한 설명
EBS 볼륨에서 루트 파티션이나 루트 파일 시스템을 확장할 때 디바이스에 남은 공간 없음 오류를 방지하려면 메모리에 상주하는 임시 파일 시스템인 tmpfs를 사용합니다. tmpfs 파일 시스템을 /tmp 탑재 지점 아래에 탑재한 다음, 루트 파티션 또는 루트 파일 시스템을 확장합니다.
예제
다음 예제에서는 루트 EBS 볼륨 블록 디바이스(/dev/nvme0n1)가 9GiB이고 루트 파티션(파티션 1)이 이미 8GiB임을 볼 수 있습니다.
$ lsblk NAME 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 1 CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335 FAILED: failed: sfdisk --list /dev/nvme0n1
참고: 해결 단계를 시도하기 전에 인스턴스에 연결된 루트 EBS 볼륨의 스냅샷 또는 인스턴스의 Amazon Machine Image (AMI) 백업을 생성하는 것이 좋습니다. 백업을 사용하면 예기치 못한 문제로부터 데이터를 복구할 수 있습니다.
해결 방법
1. 참고: SSH를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스에 연결합니다.
2. df -h 명령을 사용하여 "/" 아래에 마운트 된 루트 파티션이 가득 찼는지(100%) 확인합니다. 다음 예제는 /dev/nvme0n1p1이 공간을 100% 사용하는 경우입니다.
$ df -h Filesystem 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
3. 다음 명령을 실행하여 연결된 블록 디바이스와 루트 "/" 탑재 지점에 대한 세부 정보를 수집합니다.
$ lsblk NAME 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 -f NAME FSTYPE LABEL UUID MOUNTPOINT nvme0n1 ├─nvme0n1p1 xfs / afcf1342-1d40-41bd-bde9-e4ea5d87e3b6 / └─nvme0n1p128
앞의 예제 결과에서 루트 EBS 볼륨의 총 공간은 9GiB이지만 루트 파티션 /dev/nvme0n1p1 또는 파티션 1은 8GiB에 불과합니다. 파일 시스템 유형은 XFS입니다.
4. 블록 디바이스에 남은 공간 없음 오류를 방지하려면 임시 파일 시스템 tmpfs를 /tmp 탑재 지점에 탑재합니다. 그러면 /tmp에 탑재된 10M tmpfs가 생성됩니다.
$ sudo mount -o size=10M,rw,nodev,nosuid -t tmpfs tmpfs /tmp
5. growpart 명령을 실행하여 루트 파티션 또는 파티션 1의 크기를 늘립니다. /dev/nvme0n1을 루트 파티션으로 바꿉니다.
$ sudo growpart /dev/nvme0n1 1 CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335
lsblk 명령을 실행하여 파티션 1이 9GiB로 확장되었는지 확인합니다.
$ lsblk NAME 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
6. 파일 시스템을 확장합니다. 루트 파티션 "/" 의 파일 시스템을 확인하려면 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
7. 파일 시스템을 확장한 후 df -h 명령을 사용하여 OS가 추가 공간을 볼 수 있는지 확인합니다.
$ df -h Filesystem 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
8. unmount 명령을 실행하여 tmpfs 파일 시스템의 탑재를 해제합니다.
$ sudo umount /tmp

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