[순서]
2020/06/02 - [Database/Galera Cluster] - MySQL/MariaDB Galera Cluster 구성하기 - Part 1
2020/06/04 - [Database/Galera Cluster] - MySQL/MariaDB Galera Cluster 구성하기 - Part 2
2020/06/04 - [Database/Galera Cluster] - MySQL/MariaDB Galera Cluster 구성하기 - Part 3
2020/06/05 - [Database/Galera Cluster] - Galera Cluster 재기동 에러 해결 방안
Database에 문제가 발생하여 복구하거나 어떠한 이유로 재시작해야할 경우들이 많을 것이다. Galera Cluster도 마찬가지로 운영중에 어떠한 문제로 인해서 구동에 이상이 생긴경우 마음과달리 재기동이 안될 수 있다.
이럴경우에는 어떻게 해야할까?
1. grastate.dat 확인
Galera Cluster는 sync방식으로 둘 이상의 DB가 서로를 의존하며 구동되어지고 있을 것이다. 이때 하나의 node만 죽을수도 있고 여러개에 node가 한번에 죽을 수도 있다.(다같이 죽으면 재앙이다....그럴일은 없게지만?) 이때 확인해야할 파일이 바로 /var/lib/mysql/grastate.dat 값이다.
이 파일에서 safe_to_bootstrap속성의 값을 보면되는데 이 부분이 '1'의 값을 가지고 있으면 마지막에 죽은 node를 표시하고 있는 것이다.
따라서, 이 node를 기준으로 복구를 진행하면 된다.
[root@galera-01 ~]# cat /var/lib/mysql/grastate.dat
# GALERA saved state
version: 2.1
uuid: UUID값
seqno: -1 # 마지막으로 죽은 node 확인 '1'을 찾자.
safe_to_bootstrap: 0
2. DB Galera Cluster 재설정
확인을 하였으면 앞 Galera Cluster에서 했던 방식과 동일하게 DB를 재가동 시켜주고 나머지 노드들도 순차적으로 Cluster에 추가해주면 된다.
[root@galera-01 ~]# service mysql start --wsrep-new-cluster
Starting mysql (via systemctl): [ OK ]
.
.
.
service mysql start
나머지 node 추가
3. Cluster 정상 확인
정상적으로 노드들이 Cluster에 묶였는지 확인하고, 동기화가 잘되었는지 확인하는 방법은 다음과 같다.
# Cluster size가 제대로 되었는지 확인
> show global status like 'wsrep_cluster_size';
# 다음 옵션을 변경하여 동기화되도록 설정
> SET GLOBAL wsrep_provider_options='pc.bootstrap=YES';
[예외 사항]
- 위에 방법과는 다르게 safe_to_bootstrap의 값이 모두 '-1'로 동일하면 cluster node 중 하나를 선택하여 '1'로 수정하여 Cluster 재설정을 진행하면된다.
- 또는, /var/lib/mysql/grastate.dat와 /var/lib/mysql/galera.cache 2개의 파일을 삭제하고 다시 재구성을하면 된다.
'Database > MariaDB Galera Cluster' 카테고리의 다른 글
MariaDB Galera Cluster - DeadLock, Split Brain 문제 (1) | 2020.06.09 |
---|---|
MySQL/MariaDB Galera Cluster 구성하기 - Part 3 (2) | 2020.06.04 |
MySQL/MariaDB Galera Cluster 구성하기 - Part 2 (1) | 2020.06.04 |
MySQL/MariaDB Galera Cluster 구성하기 - Part 1 (2) | 2020.06.02 |
댓글