본문 바로가기

리눅스

[리눅스] MySQL replication을 이용한 고가용성 및 장애복구 솔루션(MMM, MHA)

728x90

MySQL replication을 이용한 고가용성 및 장애복구 솔루션(MMM, MHA)

MySQL replication을 이용한 고가용성 및 장애복구 솔루션은 MySQL 서버를 사용하는 많은 기업에서 필수적인 요소입니다. 이러한 솔루션을 구성하는 방법에 대해 알아보고, 대표적인 솔루션인 MMM(Multi-Master Replication Manager)과 MHA(Master High Availability)에 대해 자세히 살펴보겠습니다.

MySQL Replication을 이용한 고가용성 및 장애복구

MySQL Replication은 MySQL 서버에서 데이터를 복제하는 기술입니다. 이를 통해 마스터 데이터베이스에서 작성된 변경 내용이 하나 이상의 슬레이브 데이터베이스로 전송되어 복제되어 저장됩니다. 이를 통해 여러 개의 서버에서 데이터를 공유하고, 응용 프로그램의 가용성과 확장성을 향상시킬 수 있습니다.

 

MySQL Replication을 이용한 고가용성 및 장애복구 솔루션을 구성하는 방법은 다음과 같습니다.

 

  1. Master-Slave 구성에서는 Master 서버와 Slave 서버를 구성합니다. Master 서버에서 데이터를 변경하면 Slave 서버로 변경 내용이 복제됩니다.
  2. Master-Master 구성에서는 Master 서버 간에 데이터를 동시에 수정하고, 변경 내용을 서로 복제합니다.
  3. 각각의 서버에서는 MySQL Replication을 설정하여 데이터를 복제합니다.
  4. 서버 간의 통신이 중단되거나, Master 서버가 다운되는 경우 자동으로 다른 서버로 전환하도록 설정합니다.
  5. 필요에 따라 SSH나 다른 보안 연결을 통해 데이터 통신을 암호화합니다.

위와 같은 구성으로 MySQL Replication을 이용한 고가용성 및 장애복구 솔루션을 구성할 수 있습니다.

MMM(Multi-Master Replication Manager)

MMM은 MySQL의 Multi-Master replication 구성에서 사용되는 고가용성 및 장애복구 솔루션입니다. MMM은 Master 서버의 장애를 검출하고, 자동으로 다른 Master 서버로 전환하는 기능을 제공합니다. 또한, 새로운 데이터베이스 변경 사항을 적용하기 위해 해당 Master 서버에 자동으로 다시 연결하는 기능도 제공합니다.

 

MMM을 구성하는 방법은 다음과 같습니다.

 

  1. MMM 패키지를 설치합니다.
  2. 마스터 서버에서 MMM을 설정합니다. 이를 위해 /etc/mysql/debian.cnf 파일에 설정을 추가하고, MMM의 설정 파일인 /etc/mysql/mmm/mmm_common.conf 파일을 수정합니다.
  3. 슬레이브 서버에서 MMM을 설정합니다. 이를 위해 /etc/mysql/debian.cnf 파일에 설정을 추가하고, MMM의 설정 파일인 /etc/mysql/mmm/mmm_common.conf 파일을 수정합니다.
  4. 마스터 및 슬레이브 서버에서 MySQL Replication을 설정합니다.
  5. MMM의 상태를 확인하고, 필요한 경우 수동으로 서버를 전환합니다.
  6. 필요에 따라 MMM의 로그 파일과 데이터베이스를 백업하고, 복구하는 스크립트를 작성합니다.

MHA(Master High Availability)

MHA는 MySQL의 Master-Slave 구성에서 사용되는 고가용성 및 장애복구 솔루션입니다. MHA는 Master 서버의 장애를 검출하고, 자동으로 다른 Master 서버로 전환하는 기능을 제공합니다. 또한, 새로운 데이터베이스 변경 사항을 적용하기 위해 해당 Master 서버에 자동으로 다시 연결하는 기능도 제공합니다.

 

MHA를 구성하는 방법은 다음과 같습니다.

 

  1. MHA 패키지를 설치합니다.
  2. 마스터 서버와 슬레이브 서버에서 MySQL Replication을 설정합니다.
  3. MHA의 설정 파일인 /etc/app1.cnf 파일을 수정합니다. 이 파일에서는 마스터 서버와 슬레이브 서버의 IP 주소, SSH 로그인 정보, 데이터베이스 사용자 및 비밀번호 등을 설정합니다.
  4. MHA Manager를 시작합니다. 이를 위해 /usr/share/doc/mha-*/samples/manager/ 설정 파일을 /etc/mha_manager.conf로 복사하고, 필요한 설정을 수정합니다.
  5. MHA의 상태를 확인하고, 필요한 경우 수동으로 서버를 전환합니다.

결론

MySQL Replication을 이용한 고가용성 및 장애복구 솔루션은 MySQL 서버를 사용하는 기업에서 매우 중요한 요소입니다. MMM 및 MHA는 MySQL Replication을 이용한 고가용성 및 장애복구 솔루션을 구성하는 데 매우 유용한 도구입니다. 이러한 도구를 이용하여 MySQL 서버의 가용성과 확장성을 향상시킬 수 있습니다.

 

참고URL

- MHA 아키텍처 기반 MySQL 고가용성 스위칭 아키텍처 : https://scbyun.com/1094

- MySQL 5.7 MHA(Master High Availability) 설정 : https://scbyun.com/1090

- https://www.slideshare.net/NHNFORWARD/mysql-nhn-forward-2018

- https://www.slideshare.net/neoclova/maria-db-250919306

 

728x90