Galera 클러스터 상태 확인 및 복구 방법
목차
1. Galera 상태 확인
Galera 클러스터의 상태는 /var/lib/mysql/grastate.dat
파일에서 확인할 수 있습니다. 이 파일에는 클러스터의 상태와 관련된 중요한 정보가 저장됩니다.
$ vi /var/lib/mysql/grastate.dat
# GALERA saved state
version: 2.1
uuid: d16835b4-2b67-11e9-87c0-f267b27d5379
seqno: 9
safe_to_bootstrap: 0
여기서 safe_to_bootstrap
값은 클러스터 부트스트랩이 가능한지를 나타냅니다. 이 값이 1인 노드가 최신 데이터를 가지고 있으며, 해당 노드에서 부트스트랩을 시작할 수 있습니다.
2. 최신 노드 부트스트랩
만약 safe_to_bootstrap
값이 1인 노드가 있다면, 해당 노드에서 Galera 클러스터를 재구성할 수 있습니다. 이를 위해서는 galera_new_cluster
명령을 실행합니다.
$ galera_new_cluster
나머지 노드는 systemctl restart mysql
명령을 사용하여 MySQL 서비스를 재시작하면 됩니다.
$ systemctl restart mysql
3. seqno 값이 없는 경우 처리
모든 Galera 노드가 한 번에 죽은 경우, grastate.dat
파일에 유효한 시퀀스 번호(seqno)가 포함되지 않을 수 있습니다. 이 경우, cat /var/lib/mysql/grastate.dat
명령을 실행하면 다음과 같은 결과가 나올 수 있습니다.
$ cat /var/lib/mysql/grastate.dat
# GALERA saved state
version: 2.1
uuid: 220dcdcb-1629-11e4-add3-aec059ad3734
seqno: -1
safe_to_bootstrap: 0
이 경우, safe_to_bootstrap
값이 0으로 설정되어 있으며, 부트스트랩을 시도할 수 없습니다.
4. 복구 위치 확인 및 적용
이 문제를 해결하기 위해서는 --wsrep-recover
옵션을 사용하여 복구된 위치를 확인할 수 있습니다. 다음 명령을 통해 복구된 위치를 확인하세요.
$ mysqld --wsrep-recover
... [Note] WSREP: Recovered position: 220dcdcb-1629-11e4-add3-aec059ad3734:1122
또는 sudo wsrep_recover
명령을 사용할 수도 있습니다. 복구된 위치에서 가장 높은 시퀀스 번호를 가진 노드를 부트스트랩 후보로 선택해야 합니다.
$ sudo wsrep_recover
WSREP: Recovered position 220dcdcb-1629-11e4-add3-aec059ad3734:1122
복구된 위치에서 가장 최신의 노드를 확인한 후, grastate.dat
파일에서 safe_to_bootstrap
값을 1로 설정하고 해당 노드에서 부트스트랩을 수행합니다.
safe_to_bootstrap: 1
참고 링크
Galera Cluster Bootstrapping Galera Cluster Operations Galera Cluster Documentation
'Database' 카테고리의 다른 글
[Cinder] 볼륨 강제 삭제 및 사용량 초기화방법 (0) | 2025.04.01 |
---|