본문 바로가기

지적자본/나스 서버

큐냅 휴지통 지워도 용량확보 안될 때 mariaDB binary log 삭제

by 디런치 2022. 9. 16.

어느날 부터 큐냅의 스토리지 하드 용량이 계속 쌓여가서 거의 100%까지 도달하는 사태가 발생했다. 특별히 큰 용량의 파일을 저장한 것도 아니고 파일 시스템을 확인하면 특별히 용량을 차지할 것도 없었다. 구글링을 통해 휴지통을 비우거나 네트워크 휴지통 항목을 해제하라는 말도 있었고,  몇가지 솔루션이 있었으나 해결되지 않았다. 

 

그래서 일단, 몇가지 가정을 하였다. 첫번재는 qsync와 같은 네트워크 클라우드 시스템이나 DB에서 비너리(binary)를 별도로 저장하는 것이 아닌지 확인이 필요했다. 이게 무슨말인지 필자도 몰랐으나 그냥 처음에는 확인되지 않는 시스템 속 큰 용량을 찾아 나서야 했다.

 

1. 시스템 폴더로 들어가기

 

큐냅은 초기에 시스템 폴더로 접속이 불가능하다. 파일 전송을 위한 공간이나 공유 폴더만 파일스테이션에서 확인이 가능하다. 하지만, 아래와 같이 루트폴더를 공유폴더로 만들면 접속이 가능하다.

 

 

제어판 > 공유폴더 > 공유폴더 만들기에서 위와 같이 폴더이름을 임의적으로 넣어주고, 시스템 폴더가 있는 디스크 볼륨을 선택해 준다음 경로에서 '수동으로 경로 입력'을 선택 후 아래에 '/'라고 입력해주면 아래와 같이 시스템 폴더에 접근이 가능하다.

 

 

여기서 폴더를 하나씩 용량체크를 했다. 필자의 경우는 '.@qmariadb' 폴더에 약 23tb의 대용량이 잡혀 있었고, 하위 'data' 폴더로 접근 하니 아래와 같이 mysql-bin.000000 비너리 파일들이 수북히 쌓여 있었다.

 

 

이것을 그대로 파일 스테이션에서 삭제하면 절대도 안된다. 

 

 

2. mariaDB binary log 삭제 방법

 

먼저 터미널을 통해서 ssh로 접속한다. 큐냅 제어판 에서 터미널, ssh 접속을 체크해주고, 윈도우나 맥OS에서 터미널을 실행후 'ssh 아이디@아이피 또는 0000.myqnapcloud.com 등으로 접속 후 패스워드를 누른다. (접속하면 큐냅 메뉴가 나오는데 하단 'q'를 입력해서 나오고 재차 확인 메시지에서 'y'를 눌러 나온다)

 

이후 아래 명령어를 누르고 패스워드를 누르면 mysql로 접속이 된다.  

/usr/local/mysql/bin/mysql -u root -p -h localhost -P 3306

 

 

아래 명령어를 누르면 비너파 파일을 볼 수 있다.

show binary logs;

 

위와 같이 수많은 비너리 파일들이 있었다.

 

여기서 몇가지 삭제 방법이 있다.

 

 

 

1) 특정 하나만 삭제

purge binary logs to 'mysql-bin.000038';

 

2)특정 번호 이전을 모두 삭제

purge master logs to 'mysql-bin.000186';

 

3)특정 기간 이전 모두 삭제

PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)

 

4)앞으로 특정 기간 이전은 계속 삭제(days 다음 숫자를 통해 기간을 설정)

 

set global expire_logs_days=5;
SHOW VARIABLES LIKE '%expire%';

 

반응형




댓글1