MMM은 HA(High Availability) 솔루션 중 하나이다.
- MMM의 작동 순서
1. Active Master에서 장애 발생 시 MMM Manager는 장애를 감지한다.
2. Active Master의 접속을 차단하고 Passive Master로 서비스의 접속을 넘긴다.
- 구성 :
MMM Monitor : MMM Agent 서버의 상태를 체크하고 상태에 따라 역할을 변경, 관리
MMM Agent : MMM에서 reader, writer 역할을 하는 구성원
→ 1개의 MMM Monitor와 2개의 MMM Agent로 구성한다.
같은 서버 내에서 포트 번호를 다르게 주어 MySQL MMM을 구성한다. 과정을 간단하게 기술한다.
MMM 설치 및 세팅
- mmm에 사용할 계정 생성
Create user ‘mmm_monitor’@’%’ identified by monitorpw;
Create user ‘mmm_agent’@’%’ identified by agentpw;
Grant all privileges on *.* to ‘mmm_monitor’@’%’;
Grant all privileges on *.* to ‘mmm_agent’@’%’;
- Host에 사용자 계정 추가
useradd –comment “MMM Script owner” –shell /sbin/nologin mmmd
- MMM 설치
yum install –y mysql-mmm mysql-mmm-monitor mysql-mmm-agent
Conf 파일 설정
- mmm_common.conf 설정
…
<host db1>
ip 192.168.4.37
mode master
port 3306
peer db2
</host>
<host db2>
ip 192.168.4.37
mode master
port 3307
peer db1
</host>
<role writer>
hosts db1, db2
ips 192.168.4.250
mode exclusive
</role>
<role reader>
hosts db1, db2
ips 192.168.4.251, 192.168.4.252
mode balanced
</role>
- mmm_mon.conf 설정
<monitor>
…
ping_ips 192.168.4.37
…
</monitor>
<host default>
monitor_user mmm_monitor
monitor_password monitorpw
</host>
- mmm_agent.conf 설정
include mmm_common.conf
this db1
MMM 시작 및 상태 확인
- 부팅시 자동 시작 등록
systemctl enable mysql-mmm-monitor
systemctl enable mysql-mmm-agent
- mmm 시작
systemctl start mysql-mmm-monitor
systemctl start mysql-mmm-agent
- mmm_control show (연결 성공)
+) mmm 서비스 시작 직후 status는 AWAITING_RECOVERY 이다. 앞서 mmm_mon_conf에서 auto_set_online을 60으로 설정해주었기 때문에 60초후 자동으로 상태가 ONLINE 으로 변경된다.
혹은 set_online 커맨드 입력시 바로 ONLINE으로 상태 전환이 가능하다
[root@localhost ~]# mmm_control set_online db2
OK: State of ‘db2’ changed to ONLINE. Now you can wait some time and check its new roles!
+) db1과 db2는 서로 양방향 replication 상태여야 한다. 이를 설정해주고, db1의 전체 database를 dump하여 db2에 복원해주어야 한다. 사용자를 두 곳에 각각 생성해주지 않아도 dump로 인해 나머지도 같은 유저 정보를 가지고 있다.
'Dev > MySQL' 카테고리의 다른 글
[MySQL] Dynamic SQL을 사용하여 프로시저 생성 (0) | 2022.09.04 |
---|---|
[MySQL] yum으로 MySQL 설치 (CentOS 7) (0) | 2022.09.03 |
[MySQL] Replication 설정 (0) | 2022.07.25 |
[Database] 백업 방식별 특징/장점/단점 (0) | 2022.07.16 |
5. XtraBackup 소요 시간 산정 (0) | 2022.07.15 |
댓글