2014년 1월 6일 월요일

카카오팀의 MySQL 사용에 있어서 Linux Filesystem Cache 문제(메모리 먹는 하마2) 적용기

아래 내용을 적용해봤습니다.

http://kakaodbe.blogspot.kr/2013/09/mysql-linux-filesystem-cache-2.html



KT UCloudBiz 서비스를 이용중이고, CentOS 6.4 적용중입니다. 기본 서버 환경이기 때문에 몇 가지 프로그램과 라이브러리가 필요합니다.

$ yum install gcc perl-Inline perl-Parse-RecDescent




그리고 적용할 소스를 가져옵니다.

$ wget https://raw.github.com/yoshinorim/unmap_mysql_logs/master/unmap_mysql_logs

$ chmod +x unmap_mysql_logs

$ ./unmap_mysql_logs




unmap_mysql_logs 파일에 설정내용이 들어있으므로, 에러 발생 시 설정 내용을 변경해줘야 합니다.

예1)

readdir() attempted on invalid dirhandle DIR at ./unmap_mysql_logs line 36.

이 오류는 32 라인에서 $binlog_name 값을 shift 라고 정의하고 24 라인에서 디렉토리값을 추가로 지정해놔서 발생하는 오류입니다.

my @target_dirs = ( '/var/lib/mysql', '/var/lib/mysql/innodb_logs' );
...
my $binlog_name = shift;
...

위의 두 값을

my @target_dirs = ( '/var/lib/mysql' );
...
my $binlog_name = "logbin";
...

와 같이 변경해주면 됩니다. 저의 경우 my.cnf 에서 log-bin=galera 으로 설정해놓았기 때문에 아래 값은 logbin 이 아니라 galera 로 설정하였습니다.

댓글 없음:

댓글 쓰기