CentOS 7에 구성해 놓은 MariaDB galera Cluster에 새로운 노드를 추가하면서 기동시 계속 실패가 발생하여
시스템 로그를 살펴보니 아래와 같은 내용이 있었다
# vi /var/log/messages

일단 MariaDB 기동시 time out이 발생하였고
그 원인을 찾다보니
노드 추가시 galera에서 데이터를 복제해 오는 과정
즉, SST를 이용하여 rsync하는 과정에서 데이터 양이 커서 생기는 문제인 듯 하다
기존에는 데이터 복제하는 과정을 계속 기다리는 메시지가 떳는데
버전을 업하면서 바뀐것 같다
50기가 이상의 데이터를 복제해 와야 해서 자꾸 time out이 뜨고 기동 실패라는 문구가 나왔으나
rsync 관련 프로세스는 떠있는 이상한 상황이 발생하여
kill 명령어로 다 종료하고 다시 기동하기를 반복해봤는데
결국 용량이 커서 백그라운드에서 도는 듯 하여 켜놓고 다음날 확인해보니
복제가 다 끝났고 MariaDB는 정상 작동하는 상황이 되어있었다
기동 실패라는 문구는 왜 띄웠는지 모르겠다
결론은 기다리면 된다는 것
데몬 기동시 타임아웃이 되었다는 문구가 뜨는게 신경이 쓰이니 관련 설정을 한번 바꿔보았다
systemctl show mysql.service -p TimeoutStartUsec

필자의 환경은 위처럼 기동시 timeout이 5분으로 설정되어 있었다
실제로 timeout이 5분정도 지나면 발생하는 것을 확인하였다
이 설정을 무한으로 하면 infinity 옵션을 넣으면 된다는데 필자는 오류가 발생하여
그냥 시간을 많이 늘렸다
MariaDB 홈페이지에 있는 설명으론 infinity 옵션을 넣으면 부팅에 영향을 줄 수 있다고 써있다
재부팅 시 자동실행으로 해놓은 경우 문제가 발생하면 그럴 수 있겠다
아무튼 저 설정값을 바꿔보자
바꾸는 법을 찾다 보니 파일을 수정하는 법이 있던데 잘안되어 명령어를 이용하자
# systemctl edit mysql.service
위 명령어를 치면 에디터 화면이 나오는데
아래 내용을 입력하고 ctrl + x 키를 누른 다음 y를 입력해 저장하고 빠져나오자
[Service]
TimeoutStartSec=[설정할 시간]
그리고 적용하기 위해 아래 명령어를 수행하면 된다
systemctl daemon-reload
아래 명령어를 입력하면 여러 설정값이 나오는 걸 확인할 수 있는데
위와 같은 방법을 활용하여 필요한 설정을 변경할 수 있다
필자는 LimitNOFILE 옵션도 변경하였다

[ 오류내역 ]
systemd: mysql.service start operation timed out. Terminating.
systemd: Failed to start LSB: start and stop MariaDB.
systemd: Unit mysql.service entered failed state.
systemd: mysql.service failed.
'Linux - offline(CentOS 7) > MySQL, MariaDB, Galera' 카테고리의 다른 글
[mariadb galera] mysql.service start operation timed out. Terminating (0) | 2020.08.18 |
---|---|
mysql 'The table is full', error code : 1114 (0) | 2020.08.18 |
MariaDB Galera GRA_ log파일 (0) | 2020.08.13 |
mariadb, mysql ignored in --skip-name-resolve mode 경고 (0) | 2020.08.11 |