팀내 DB 운영 구성도 이해하기 2편

호밀빵 굽는 쿼카·2022년 8월 6일
0

MySQL

목록 보기
3/5

팀내 DB 운영 구성도 이해하기 1편 ➡️ MySQL 이중화 진화기 를 시청하고 내용을 정리합니다.
팀내 DB 운영 구성도 이해하기 2편 ➡️ 우리팀의 DB 이중화 구성도를 이해하고 정리합니다.

NHN CLOUD 데이터운영팀의 DB 운영 구성(이중화 등)을 이해하기 위해 작성한 글입니다. 먼저 노을 선임님의 MySQL 이중화 진화기 를 시청하고, 그 다음 우리팀의 DB 이중화 구성도를 이해한 다음 정리합니다.

👩‍🏫 운영도구 웹 2차 개발을 위해 python 스크립트 정리를 진행하던 와중, 질문이 생겨서 전임님께 화상회의를 부탁드렸습니다. 질문에 답변을 해주면서 전임님이 우리팀이 운영하는 DB의 구성(HA)을 간단하게 설명해주셨습니다! 왜 신규기능을 추가하게 되었는지(필요성), 어떻게 동작하는지, 이해하는데에 큰 도움이 되었습니다.

목차

1. 레거시 서비스 = MMM 구성

2. 토클 서비스 = MHA 구성

레거시 서비스는 MMM 구성

레거시 서비스는 요청에 따라 서버 위에 DB를 설치해서 제공합니다. 여기에서는 MMM 이중화 솔루션을 사용한다고 합니다.

이 레거시 서비스를 진행할 때, MMM 이중화 솔루션을 사용하기 때문에 MMM Monitor를 사용합니다. 이때, 직접 들어가서 작업하는 것들이 많기 때문에 이 작업들을 웹으로 손쉽게 진행하기 위해 MMM Monitor를 올리고/내리는 등의 신규 기능을 추가하는 것입니다.


MMM 구성을 보면, 각 DB 서버에 있는 agent가 db를 감시하는 형태로 돌아갑니다.( cluster 포트 번호로 인식하는 것 )

각 DB 에서 정보를 계속 보내고 MMM Monitor에서 수집된 정보가 이상하면 role change(readonly=0/readonly=1 이 변경됨) 를 진행합니다.

VIP는 항상 마스터에 붙여져있습니다. 그렇기 때문에 role change 되면 readonly=0으로 변경되고 VIP가 현재의 마스터에 가서 붙는데, 이 과정이 Failover 입니다.

MMM Monitor는 기본적으로 한개인데, 중요 서비스들은 MMM Monitor도 이중화 구성으로 이루어져있습니다.(판교IDC & 평촌IDC)

MMM STATUS 페이지로 예시를 들어보면,

장애가 발생하면, Master(Active) 에 붙어있던 VIP를, master라고 표시된 또 다른 Master(standby)에 넘겨주게 되는 것입니다.

그렇다면, MMM Monitor ON/OFF & SMS Skip 기능은 왜 추가되는건가요?

MMM Monitor ON/OFF 하는 때

MMM Monitor를 OFF 해야할때가 있습니다. 바로 db를 재시작하는 작업이 있거나 하는 점검이 있을때입니다. 이때, MMM Monitor는 DB 서버들이 정상임에도 불구하고 Role Change를 하게 될 수 있기 때문입니다.

SMS Skip 하는 때

SMS SKIP 해야할때가 있습니다. 바로 위에서 설명했던 MMM Monitor OFF할때 발송되는 메신저를 받지 않게 하는 것입니다.

운영도구 웹 2차 개발 신규기능 추가 스크립트 및 기능동작에 대한 자세한 설명과 일부 질문들은 Dooray 태스크로 업로드 할 예정입니다.
기획서 내용이나 실제 서버 이름 등이 노출되면 안되기 때문에,,😭

Toast for RDS(토클) 서비스는 MHA 구성

클라우드에서 돌아가는 형태로, mysql 상품 개발과 유지보수를 진행합니다. 이 서비스들도 HA(이중화) 구성으로 이루어져있습니다. 레거시 서비스들과 달리 또 다른 이중화 솔루션인 MHA 구성으로 이루어져있습니다.

profile
열심히 굽고 있어요🍞

0개의 댓글