인프런 - 따라하며 배우는 MySQL on Docker 학습 정리 - Orchestrator를 이용한 HA(High Availability) HA 매뉴얼 테스트[자동 복구] (3)
1. Orchestrator를 이용한 Auto Failover
1) 테스트 시나리오
- Orchestrator의 설정을 변경하고, 장애 발생 테스트 수행
2) Orchestrator 설정 변경
- /etc/orchestrator.conf.json 파일의 파라미터 값을 변경한다.
- RecoverMasterClusterFilters 값을 "*" 로 설정
- PromitionIgnoreHostnameFilters 값을 db003으로 변경 (자동 복구시 해당 hostname은 선택지에서 제외함)
sudo docker exec -it orchestrator bash
cd /etc/
vi orchestrator.conf.json
- Container 재가동 (환경 설정 적용)
sudo docker restart orchestrator
3) 웹서버 Dashboard에서 확인
- 자동 복구 설정 전 상태
- 자동 복구 설정 후 상태
- 왼쪽 상단 아이콘을 통해 자동으로 복구가 가능한 상태라는 정보를 확인할 수 있음
3) 자동 복구 테스트 전 확인 사항
- Audit의 Recovery 메뉴를 누르면 이전 장애 테스트로 인한 장애 기록이 남아 있음 해당 기록의 Acknowledge의
처리를 먼저 해주어야 이후 테스트가 가능함
4) 자동 복구 테스트
* 만약, 테스트 오류로 클러스트가 꼬이게 된다면 다음과 같은 명령어로 master를 재설정 함
mysql> reset slave all;
mysql> GRANT SUPER, PROCESS, REPLICATION SLAVE, RELOAD ON *.* TO orc_client_user@'172.%';
mysql> GRANT SELECT ON mysql.slave_master_info TO orc_client_user@'172.%';
- 테스트 전 상태
- db001 강제 종료
sudo docker stop db001
- db001 강제 종료
- db001 복구 및 Slave로 연결
mysql> set global read_only=1;
mysql> CHANGE MASTER TO MASTER_HOST='db002', MASTER_USER='repl', MASTER_PASSWORD='repl', MASTER_AUTO_POSITION=1;
mysql> start slave;
mysql> show slave status\G
댓글