본문 바로가기

Openstack

Openstack Galera clustering 복구

Galera를 통해 mysql을 묶어 clustering을 구성할 수 있는데, clustering된 mysql이 모두 내려가거나 할 때 발생할 수 있음

기본적인 증상으로 galera 컨테이너에서 mysql이 socket문제로 안 열리고 status를 보았을 때 wsrep관련 에러로 문제를 나타냄

 

Galera Cluster 재기동 에러 해결 방안 (tistory.com)

[해결] MariaDB galera cluster :: WSREP recovery position error : 네이버 블로그 (naver.com)

다양한 해결 방법이 소개되는데 해결에 쓰인 방식은 아래와 같음

con1, con2, con3라 표기하며 각각 galera가 있고, con1이 메인이 되는 마스터의 역할을 한다고 지정

 

con1

vim /var/lib/mysql/grastate.dat

version: 2.1
uuid:    7e387f37-4098-11ee-81d2-56d386d56bc4
seqno:   -1
safe_to_bootstrap: 0

seqno: -1 => 0로 변경 safe_to_bootstrap: 0 => 1로 변경

 

~# galera_recovery
~# galera_new_cluster
~# service mysql start --wsrep-new_cluster

 

con2

vim /etc/mysql/conf.d/cluster.cnf

[mysqld]
wsrep_on = ON

# Path to Galera library
wsrep_provider = /usr/lib/galera/libgalera_smm.so
wsrep_provider_options = "gcache.size = 1024M; gmcast.listen_addr = tcp://172.29.239.231:4567"

# Cluster connection URL contains the IPs of node#1, node#2 and node#3
wsrep_cluster_address = gcomm://172.29.239.231,172.29.238.211,172.29.239.218

# Address for incoming client connections.
wsrep_node_incoming_address = 172.29.239.231

# In order for Galera to work correctly binlog format should be ROW
binlog_format = ROW

# MyISAM storage engine has only experimental support
default_storage_engine = InnoDB

# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode = 2

# This should be the IP and DNS name for the current system on which you're editing the file.
wsrep_node_address = 172.29.239.231
wsrep_node_name = controller1_galera_container-14fd004f

# to enable debug level logging, set this to 1
wsrep_debug = NONE

# SST method
wsrep_sst_method = mariabackup
wsrep_sst_auth = admin:3fd67fb852a766252b0b32fd1f6c
wsrep_slave_threads = 8

# Cluster name
wsrep_cluster_name = "openstack_galera_cluster"

# how many times to retry deadlocked autocommits
wsrep_retry_autocommit = 3


[mariabackup]
parallel = 4

wsrep_cluster_address = gcomm://172.29.239.231,172.29.238.211,172.29.239.218 이 부분을 con1의 IP만 보도록 지정

service mysql restart

 

con3

service mysql restart

 

con2

wsrep_cluster_address = gcomm://172.29.239.231 이 부분을 원복

service mysql restart

 

이후 mysql을 실행하여 정상적으로 동작하는지 확인

'Openstack' 카테고리의 다른 글

Openstack Window 이미지 사용  (0) 2024.05.24
Openstack Bridge, Port 수동 작업  (0) 2024.05.23
Openstack RabbitMQ unsynchronized error  (0) 2024.05.23
Openstack Senlin  (0) 2024.05.23
Openstack Magnum  (0) 2024.05.23