반응형
MHAMySQL High Availability
MHA Architecture
Basic Architecture
MHA & Pacemaker Architecture
- MHA는 Pacemaker와 같이 사용 가능하며, 이 경우 MHA는 MySQL의 Failover를 담당하고 Pacemaker는 Server
또는 IP등을 관리 - MHA의 Auto Failover를 사용하지 않고 수동 Failover를 이용하여 Pacemaker에 의해 수행
MHA 장애 처리 순서
MHA 장애 처리 5단계
- Configuration Check
- Check Connect to server
- Find Dead Server and Alive Server
- Dead Master Shutdown
- Stop Slave IO Thread
- Run master_ip_failover and shutdown script
- Master Recovery
- Getting Lastest Slaves
- Saveing Dead Master’s binlog file
- Determining New Master
- New Master Diff Log Generation
- New Master Log Apply
- Run Master_ip_failover script
- Slaves Recovery
- Starting Parallel Slave Diff Log Generation
- Starting Parallel Slave Log Apply
- New Master Cleanup
- Resetting Slave info on the New Master
- Clearing Slave info
@ 굵은 글자체는 데이터 동기화 시점 입니다.
MHA의 장점
Benefit
- 최소한의 Down Time으로 Master의 장애 처리 및 Slave의 새로운 Master로 변경 수행 가능
- Master의 장애로 각 노드(Master 및 Slave)의 데이터 불일치가 발생하지 않음
- 현재 MySQL 서버의 설정을 변경 할 필요가 없음 (MySQL 5.0이상)
- 서버를 많이 늘릴 필요가 없음 (MySQL Cluster 대비)
- 스토리지 엔진에 제약을 받지 않음
- MySQL 성능에 전혀 제약 사항이 없음
다양한 MHA Achitecture
- Single master, multiple Slaves
- Single master, multiple Slaves (one on remote datacenter)
- Single master, multiple Slaves, one candidate master
- Three Tier replication
- Three Tier replication, multi-master
MHA 0.56 New Feature
- MySQL 5.6 GTID 지원
- MySQL 5.6 Multi-Thread Slave 지원
- MySQL 5.6 Binlog checksum 지원
- mysqlbinlog streaming host 지원
- mysqlbinlog 위치 지원
- ping_type=Select / Connect 이외 insert 추가
- master_ip_online_change_scrip에 --orig_master_is_new_slave, --orig_master_ssh_user and --new_master_ssh_user option 추가
반응형