Orchestrator 설정

2023. 8. 10. 14:00docker

DB를 클러스터에 수동으로 연결

현재 클러스터 상태

 

 

DB 연결을 위해 일부러 DB 하나를 클러스터에서 탈락시켜 보자.

db001 정지

 

 

Recover를 눌러 Recovery, try to promote db002:3306 클릭

 

 

[recovery]가 필요한 상태, down상태 임을 표시

 

 

db002는 slave가 존재하므로 instance가 2이고 db001은 독립상태이므로 instance가 1

 

 

db003이 slave로 연결

 

 

db002의 mySQL로 접속

 

 

이제 slave가 아님 확인

 

 

'read_only' off 상태 확인

 

 

db003 접속

 

 

master가 db002임을 확인

 

 

db001을 다시 살려서 확인해보자

 

 

GUI에서 확인

 

 

독립 개체 확인

 

 

본격적으로 db002가 master가 되도록 수동설정을 해보자.

db001 접속

 

 

리셋

 

mysql> set global read_only=1;

필요 설정이니 입력하자!

 

설정 완료

 

 

GUI에서 확인

 

 

Orchestrator 자동화

orchestrator 접속

 

 

bash-4.4# vi /etc/orchestrator.conf.json

orchestrator의 설정 파일

 

 

검색으로 찾은 후 master_pattern을 별(*)로 변경

Orchestrator에서 마스터 복구를 수행할 때, 모든 호스트를 대상으로 복구를 수행하도록 지시하는 역할

 

 

검색 후 db003 기입하고, 이후 설정파일 저장 종료

Orchestrator에서 슬레이브 서버가 마스터로 승격(Promotion)될 때, 특정 호스트 이름을 무시하도록 지시하는 역할

 

 

다시 실행

 

 

db002 정지해서 확인해보자

 

 

db002가 독립 개체임을 확인

 

 

db001이 자동으로 Master로 지정

 

 

안타깝게도 여기도 잘 되지 않는 경우가 있더라..

아래 두 가지 trouble shooting을 알아두면 도움이 된다.

db002 down 시 그대로인 경우

변화 없이 그대로 다운 상태

 

 

GUI에서 간단히 해결 가능하다.

사진과 같은 메뉴에서 Recovery 클릭

 

 

Acknowledge 클릭 후, Comment에는 임의의 메시지를 적어준다

 

 

 

Last_IO_Errono : 1236

Slave GTID Master보다 높은 경우 발생하는 오류

클러스터 생성됐으나 db003으로 복제 안됨[Last_IO_Errono : 1236 발생 / 바로 되는 경우도 있으나 이 경우 trouble 발생]

 

SlaveGTID를 초기화 한 후 재시작 시 해결

즉, db003의 mysql에서

 

mysql> reset master;

mysql> stop slave;

mysql> start slave;

 

 

GUI에서 db003 복제 확인

 

 

'docker' 카테고리의 다른 글

docker 기본 사항  (0) 2023.10.04
docker 설치  (0) 2023.10.04
자동화 실습  (0) 2023.08.31
프록시  (0) 2023.08.30
Orchestrator를 활용한 cluster 생성  (0) 2023.08.07