boogie의 가벼운 개발 일기

[Infra] 빌드 배포 서버에서 user home 디렉토리 용량 가득 참 본문

Server, Infra

[Infra] 빌드 배포 서버에서 user home 디렉토리 용량 가득 참

boogie 2021. 6. 29. 13:20

어제 '혹시 빌드 배포 장비 용량이 꽉 찼나요..?' 라는 연락을 받았다.

해결 과정도 심플하고, 글로 정리할것도 많지 않아서
블로그 첫 글로 남겨보려 한다.

 

1. 우선 용량을 찍어보자

$df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs         63G     0   63G   0% /dev
tmpfs            63G     0   63G   0% /dev/shm
tmpfs            63G  1.2M   63G   1% /run
tmpfs            63G     0   63G   0% /sys/fs/cgroup
/dev/nvme0n1p1   10G  5.6G  4.5G  56% /
/dev/nvme2n1     50G   52M   47G   1% /app_log
/dev/nvme1n1    9.8G  9.2G  3.7M 100% /usr_home
/dev/nvme3n1    3.9T  1.4T  2.4T  37% /app
tmpfs            13G     0   13G   0% /run/user/602

실제 배포 스크립트, 빌드 output이 있는 /app 하위에는 용량이 부족하지 않지만,

사용자 홈 디렉터리가 있는 /usr_home 이 사용율 100%로 나온다.

 

 

 

 

 

2. 어떤 폴더가 용량을 많이 쓰고 있는지 확인해보자

du -h --max-depth=1 | sort -hr

 음..? 아..! maven, npm, gradle의 홈 디렉터리가 사용자 홈 하위에 있고,
안으로 들어가보면 각각의 local repository들이 있었다 (왜 이걸 바로 생각하지 못했을까)

 

 

 

 

 

 

 

3. local repository 경로를 변경해보자

 

우선 메이븐 설정파일을 찾기 위해 메이븐 홈이 어디인지 확인한다.

$echo $MAVEN_HOME
/app/maven/apache-maven-3.6.1

 

그렇다면 설정파일은 당연히..

vi /app/maven/apache-maven-3.6.1/conf/settings.xml

 

들어가보면 친절하게 주석이 달려있다.

  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->

 

그럼 이제 원하는 경로로 변경해주고

<localRepository>/app/repo/m2</localRepository>

 

기존에 로컬 레파지토리에 저장되어있던 파일들을 통째로 옮겨준다.

mv -r ./.m2/repository/* /app/repo/m2/

 

이제 홈 디렉토리의 용량도 확보가 되고, 젠킨스에서 빌드도 정상적으로 되는지, (변경한 로컬 repository경로를 바라보고 있는지) 확인하면 끝

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs         63G     0   63G   0% /dev
tmpfs            63G     0   63G   0% /dev/shm
tmpfs            63G  1.1M   63G   1% /run
tmpfs            63G     0   63G   0% /sys/fs/cgroup
/dev/nvme0n1p1   10G  5.6G  4.5G  56% /
/dev/nvme2n1     50G   52M   47G   1% /app_log
/dev/nvme1n1    9.8G  5.1G  4.2G  56% /usr_home
/dev/nvme3n1    3.9T  1.4T  2.4T  36% /app
tmpfs            13G     0   13G   0% /run/user/602