문서의 이전 판입니다!
mariadb start error
kolla-ansible을 통한 오픈스택 배포 이후 시스템 전체 재기동 등을 수행했을경우 mariadb 컨테이너가 정상적으로 올라오지 않는 경우가 있다.
2021-09-07 19:20:10 0 [ERROR] WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out)
at gcomm/src/pc.cpp:connect():160
2021-09-07 19:20:10 0 [ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():209: Failed to open backend connection: -110 (Connection timed out)
2021-09-07 19:20:10 0 [ERROR] WSREP: gcs/src/gcs.cpp:gcs_open():1475: Failed to open channel 'openstack' at 'gcomm://10.0.0.21:4567,10.0.0.22:4567,10.0.0.23:4567': -110 (Connection timed out)
2021-09-07 19:20:10 0 [ERROR] WSREP: gcs connect failed: Connection timed out
2021-09-07 19:20:10 0 [ERROR] WSREP: wsrep::connect(gcomm://10.0.0.21:4567,10.0.0.22:4567,10.0.0.23:4567) failed: 7
2021-09-07 19:20:10 0 [ERROR] Aborting
controller의 /var/log/kolla/mariadb/mariadb.log 내용에 위와같은 메세지가 출력된다.
이것은 mariadb gallera cluster가 정상적으로 종료되지 않고 기동되는경우 발생하는 오류 메세지이다. 관련 키워드는 wsrep-new-cluster 로 검색해도 알수가 있다.
kolla-ansible로 배포한 오픈스택 플랫폼에서는 아래 방법으로 복구가 가능하다.
- 먼저 모든 컨트롤러 노드에서
mariadb컨테이너를 종료한다.
$ docker stop mariadb
- 이후
kolla-ansible스크립트를 사용하여 gallera cluster를 복구한다.
$ kolla-ansible -i inventory/<clustername> mariadb_recovery
최악의 경우 이 방법으로도 복구가 되지 않는다면 아래 참조링크의 내용으로 복구하면 된다.