cd 등으로이동할때 tab키를 눌러서 이동하게 되면 해당 에러 메시지가 나타납니다.

아 이게 무슨 버그인가 무슨일인가 생각 하게 됩니다. 탭은 자동완성 기능으로만 알고 있었거든요

 

우선 해당 내용을 순서대로 보게 된다면 "장치" 라는 점에 주의깊게 보셔야 합니다.

 

리눅스 명령어 중에서 df 라는 명령어가 있습니다.  파일 시스템의 디스크 공간을 확인 하는 명령어인데요

 

-h 옵션을 같이 사용하여서 확인해 봅시다.

(-h 옵션은 -human-readable 로 사람이 보기 편하게 해주는 옵션입니다. )

 

df(disk free) - h 명령어로 확인해 보면

 

centos-root 가 꽉찬 모습 

예상이 맞았습니다. 화면에 보이시는 것처럼 /dev/mapper/centos-root 라는 공간이 꽉찼습니다.

 

마운트 위치는 / 로 되어있는데요 그냥 루트라는 뜻입니다.

 

여기서 조금 엉뚱한 생각을 해보자면요 ( 이렇게 생각 하시는 분이 가끔 있을수 있습니다. )

 

/dev/mapper/centos-root 로 들어가면 되는건가?

 

아니지 Mounted On 의 위치가 / 이니까 이 경로가 문제일거야 라고 생각 해볼수 있습니다.

 

전자와 후자 둘다 확인 해보겠습니다

/dev/mapper/centos-root 접속

 

네 아닙니다. 

보시면 디렉토리는 아니고 파일도 아니고 심링크로 연결되어있는 것으로 보입니다.

제가 원하는건 centos-root 인데요 -> ../dm-0 이라고 되어있네요

파일에 써있다기 보단 disk 에 들어가 있는 형태입니다. 

 

정확히 말하자면 내 하드드라이브가 1024G라면 그중 50G가 root라는 파티션에 들어가있다는 뜻이 되는데요

 

그럼 여기서 centos-root 는 어디부분을 뜻할까요

 

centos-root 를 비우는 방법

1차적으로 생각 해본다면 /var 와 /usr 부분을 1차적으로 백업하거나 지우시면 됩니다.

 

간단하게 생각해본다면 /usr의 경우는 크게 바뀌는 부분이 없을 것으로 기대됩니다.

 

/var에서 대부분 git 로그나 WAS(JEUS)의 Access.log 등이 차기 때문이죠

 

/ 로 이동합니다.

 

/var와 /usr가 범인인지 확인하기 위해서는 이번에는 df 가 아닌 du 라는 리눅스 명령어를 사용합니다. 

 

du (disk Usage) 

 

우선 var를 봅시다. 위치들이 다 루트기 때문에 루트 권한으로 봐야 합니다.

 

sudo -s du -sh /var

네 범인이 맞았네요 /usr도 같이 볼까요

sudo -s du -sh /usr

두 친구가 용량의 원인이 맞았던 것 같습니다. 확실히 로그를 쌓고 있는 var 쪽에 처리를 해주어야 할 것 같습니다.

 

/var 경로 정리 

/var 폴더 안에는 무수한 디렉토리 존재합니다.  어떤 폴더가 어느정도 용량을 쓰는지 매번  du -sh 를 할수 없는 노릇

 

편하게 볼수 없는 방법을 찾아보았습니다.

 

sudo -s du -h --max-depth=1

현재 폴더 경로에서 누가 용량을 많이 먹고 있는지 한번에 확인이 가능 합니다. 

예상대로 log가 30G를 먹고 있네요  마찬가지로 로그도 종류가 많기 때문에 같은 방법으로 찾아 봅니다.

Jenkins 로그가 너무 많았네요...

해당 로그로 접근을 위해서는 sudo -s 가 아닌 su 로 Root 아이디로 접근합니다.

 

그리고 해당 로그를 다시 /home 위치에 백업 합니다.

mv jenkins.log /home/oqa/logBackup

백업을 한 후에는 이제 하나로 묶여있는 backup로그들을 나눠 줄 필요가 있습니다.

split -l 300 jenkins.log part_jenkins

300줄씩 로그를 짤라서 part_jenkins 프리픽스를 붙여서 파일을 새로 만듭니다.

다음 이렇게 로그를 분리 하였고 (현재는 로그 백업용 이지만  다음 포스팅에서는 조금 더 유연한 관리를 해보겠습니다.)

 

결과 ( 비워지지 않음 )

보시면 cetnos-home은 분명 늘어났는데!!!

 

centos-root는 그대로 50G를 유지하고있습니다.

 

이유가 뭘까요..

 

원인 

Jenkins 로그였기 때문에 기존에 Jenkins가 실행되고 있었기 때문입니다.

 

Jenkins를 종료 하게되면 그 순간에 제대로된 영역이 잡히게됩니다.

 

이제 다시  시작해주면 끝입니다.

 

/etc/init.d/jenkins start

 

감사합니다.

+ Recent posts