DB & AWS Knowledge
MMM 개요 본문
728x90
반응형
- 개요 (출처:https://www.slideshare.net/NHNFORWARD/mysql-nhn-forward-2018)
- MMM 은 Multi Master Replication Manager 의 약자로써 뜻 그대로 Replication 을 응용한 mysql / mariadb 서버가 Multi Master 를 응용하여 Failover 를 사용 할 수 있도록 관리 해주는 툴이다.
- MMM 의 기본 구성은 아래와 같이 기존 Master-Slave 와 같이 읽기, 쓰기 역할이 명확한 기존 구조에서 HA Failover 를 위하여 Master 를 추가 하는 것을 목표로 삼는다.
- 이 구조에서, Slave 서버를 추가하여 읽기만 가능한 서버를 전개 할 수 있고, standby 서버의 역할 또한 읽기 혹은 쓰기,읽기가 둘다 가능한 모드로 조절 할 수 있다.
하지만, 실제 사용 master active 서버와의 데이터 동기화를 위하여 읽기모드로 사용한다.
- Fail Over 구조는 아래와 같다. 먼저 각 DB서버간의 상태를 파악 하는 Monitor 가 구성시 설정되었던 VIP 를 이용한다. Active 서버 장애 발생 시, Active 서버의 데이터 변동을 막기 위해서 읽기모드로 변경 후,
접속 Session 을 Kill 한다. 그 후, 설정 되었던 vip 를 회수하여 Active 서버에 외부 세션 접근을 방지한다.
- 그 후 Standby 서버가 Active 서버로 부터 동기화를 위해 받은 데이터 복제의 지연 확인 및 복제를 재구성한다.
- 그 후 Standby 서버가 Active 서버로 승격되도록 읽기모드를 해제하고 VIP를 다시 할당 받음 으로써 Failover 가 끝난다.
- Failover 가 끝난 후 후속 처리까지 마치면 아래의 구조로 변경 된다. (Slave 서버가 Master 로 승격된 서버와 동기화)
- Failover 예시
- 쓰기가 가능한 Master 서버의 변경 내용 (값: 101) 을 복제 대상 서버에 보내고 응답을 기다림
-
- Standby 서버의 응답을 기다리는 중 장애가 발생
-
- 이에 대한 대처로 Failover 가 된 서버가 Active 로 승격되고 Slave 서버는 변경된 데이터를 그대로 보존한채로 승격된 서버와 복제 연결. MMM 구조는 이와 같이 다수 Slave 서버와 Master 서버간의 데이터 변경 내역 (Version) 이 상이하여 Data Crash 가 발생 할 수 있는 단점이 있음.
반응형
'MySQL > H.A (High Availability)' 카테고리의 다른 글
갈레라 클러스터 구성 방법 (0) | 2021.03.04 |
---|---|
갈레라 클러스터 개요 (0) | 2021.03.04 |
MHA 구성 방법 (0) | 2021.03.04 |
MHA 개요 (0) | 2021.03.03 |
MMM 구성 방법 (0) | 2021.03.03 |
Comments