Today
Total
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)
관리 메뉴

DB & AWS Knowledge

MMM 개요 본문

MySQL/H.A (High Availability)

MMM 개요

`O` 2021. 3. 3. 13:41
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