본문 바로가기

개발이야기

Mariadb Replication 설정시 Slave_IO_Running이 Preparing이 나오는 현상

얼마전에 현재 Mariadb를 Replication 으로 운영 중인데, 

slave 쪽의 HDD 용량이 적게 되어 있다보니, 용량이 차서 문제가 발생될 것 같아 

다른 database용 서버를 장만해서 master와 동일한 HDD로 용량을 만들어서 이전 작업을 진행.

그런데 설정을 모두 완료하고,  show slave status\G로 확인해보니 

아래와 같이 message 나옴. 제대로 replication이 동작도 안함. ㅠㅠ

...

Slave_IO_Running: Preparing

Slave_SQL_Running: Yes

...

stop slave / reset slave 등 다른 명령어도 동작을 안하고, 계속 대기 상태로 나오고 해당 세션 kill 시키는 것도 별로 도움이 안되서 강제로 MariaDB를 restart 해도 지속적으로 문제가 발생함.

결국 여러군데 검색해봐도, mariadb를 다시 설치해보라는 내용이 주를 이루고, 

간신히 다른 솔루션을 제시한 것을 찾았는데 아래옵션으로 설정하란 메시지를 발견함.

innodb_thread_concurrency = 0

기존에 위의 옵션은 주로 cpu core 수대로 설장하란 권고 사항이 있었는데, slave에 위와 같이 설정하고 restart 하니 정상으로 돌아옴. 

우선 이와 같이 설정해서 처리는 하고 있으나, 좀 더 위의 옵션에 대한 내용을 파악해서 정리 필요.