JaeWon's Devlog
article thumbnail
반응형

운영중이던 프로젝트를 개발하던 도중에 인스턴스를 재시작하려고 하자, ~/log/~~ : 장치에 남은 공간이 없음 이라는 문구와 함께 실행되지 못 하였다.

(회사 프로젝트다 보니 캡처는 하지 못하였다... 간단하게 수기로 작성한 부분 양해부탁드립니다..)


1. 서버 용량 확인

- 기본적으로 서버의 용량이 꽉차있을 경우에, 이런 메시지가 발생된다.

- df -h 명령어를 통해, 용량을 확인해본다.

- 만약, 용량이 부족하지 않다면 2번을 진행한다.

[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/abc        9.8G  1.9G  7.4G  21% /
tmp             3.9G     0  3.9G   0% /dev/shm
/log/           2.0G  1.0G  1.0G  50% /log

2. inode 용량 확인

- df -i 명령어를 통해, inode 용량을 확인한다.(df -ih : 용량을 더욱 보기 쉽게 표시)

- 확인해보면, 어느 한 곳의 파티션에 용량이 100% 사용중일 것이다.

- 즉, 더이상 inode를 쓰지 못해, 장치에 남은 공간이 없음 이라는 메시지가 발생한 것이다.

- 대부분 log 관련된 부분에서 발생할 것 같지만, 이외에 경우에는 어느 부분에서 용량을 차지하는지 확인하여 처리한다.

inode 란?
리눅스 시스템에서, 파일 시스템 관련하여 처리할 때, 리눅스 전용의 특수한 index를 사용한다.
이 index를 i-node(index-node)라 부른다.
즉, 아이노드란 파일에 대한 정보(메타데이터)를 가진, 일종의 데이터 이다.
[root@localhost ~]# df -ih
Filesystem      Inodes  IUsed IFree IUse% Mounted on
/dev/abc        9.8G    1.9G  7.4G  21%   /
tmp             3.9G       0  3.9G   0%   /dev/shm
/log/           2.0G    2.0G  0.0   100%  /log

2-1. inode 확인 및 처리

- 간략하게 아래 명령어를 통해서 어느 부분에서 용량을 차지하고 있는지 조회한다.

- for i in [경로]; do echo $i; find $i | wc -l; done

for i in [경로]; do echo $i; find $i | wc -l; done

- ex) for i in /log/app/2022/*; do echo $i; find $i | wc -l; done

[root@localhost] for i in /log/app/2022/*; do echo $i; find $i | wc -l; done
/log/app/2022/01
123
/log/app/2022/02
456
/log/app/2022/03
123456

- /log/app/2022/03 에서 많이 차지하고 있는 것을 확인 할 수 있다.

- 해당 영역에서 용량을 자세히 확인해본다.

- du -sh * 명령어 사용.

[root@localhost] du -sh *
10.0k	01
11.0k	02
10.0k	03
2.0G	04
10.0k	05

- 04 폴더에서 용량을 많이 사용하는 것을 확인 할 수 있다.

- 해당 폴더에서 불필요하다면, 삭제를 진행한다.

- rm *.log (글쓴이는 확장자가 log인 파일을 지운것 입니다. 확보하고자하는 영역의 파일을 지워주시면 됩니다.)

- 이후 다시 inode를 확인하여 용량을 체크한다.(df -i)

- 용량이 확보가 되었다면, 정상적으로 파일 작성이 된다.


참고

- https://xinet.kr/?p=1452 

반응형

'Infra > Linux' 카테고리의 다른 글

[Linux] 파일 압축하기(tar, bzip2)  (0) 2021.06.05
[Linux] 파일 라인 수 세기  (0) 2021.06.05
[Linux] curl 명령어 시 [globbing] bad range 해결  (0) 2021.05.16
profile

JaeWon's Devlog

@Wonol

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!