IT Japan

MySQL-MHA를 이용한 Multi-Master HA 구축 본문

MySQL

MySQL-MHA를 이용한 Multi-Master HA 구축

swhwang 2016. 5. 25. 11:35
반응형

대략 DB 서버는 공인 IP와 로컬 IP를 가지고 글로벌 IP는 외부와의 Connection는 OS 패치 등 이외에는 FW 차단되는 것.
MySQL-MMM의 특성상 Monitor의 IP 세트가 다른 세트 필요했다.
로컬 IP에 보니 IP가 L2 측에서 바뀌거나하여 연결 할 수없는 위험이 있었다!
서버 4 대를 이용하여 multi-master 설정하려면 다음 IP가 필요합니다.

Global IP 4 .. -> 설정은 필요 없다.
Local IP 4 -> Replication 및 연결
Monitor IP 4 -> 4 개 모두 필요 없을지도 모르지만, 준비하는 편이 ....

그리고 모니터 서버는 반드시 다른 서버를 준비 할 필요는 없지만, 설정 바꾸거나하기 위해서는 있던 쪽을 권장합니다.
장애 발생시 IP가 마음대로 변화하지만, 그 때 ping을 던지면 바뀐 서버에서 ping이 오므로주의!
정말 설정대로 서버에서 ping이 돌아 왔는지 확인하기 위해서는
ping 후 arp -a를 이용하여 올바른 MAC Address가 등록되어 있었는지 확인하십시오.
mmm_control show에서 지정 서버에 연결

ip addr show

를 넣어 본다.
설정의 기억이없는 IP가 등록되거나하는 것은 MMM 녀석이 만지고 있었던 때문이다.
이 경우 IP가 반환 할 수 없기 때문에 다음 단계에서 해제한다.

1. mmm monitor 서버에서
root @ mon> service mysql-mmm-monitor stop

2. 이상한 IP가 할당 된 서버에서

root @ db02> service network restart

3. 정상의 IP가 들어있을 서버에서 ping check ..
만약 재부팅 등을 해 버려, IP가 없어진 경우는 1,2 일 후이 서버의 네트워크를 재시작

root @ db01> service network restart

4. 모니터 다시 시작

root @ mon> service mysql-mmm-monitor start

그리고 기본 설정은 다음과 같다. (다른 웹 사이트가 자세히 설명되어있는 것)

1. my.cnf에 Replication 설정한다.

(http://www.onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql-replication.html?page=2 설정 만 참고)

2. 사용자 권한 추가

GRANT REPLICATION CLIENT ON *. * TO 'mmm_monitor'@'10.10.40.%'IDENTIFIED BY 'monitorpwd';
mmm_monitor 용 계정

GRANT SUPER, REPLICATION CLIENT, PROCESS ON *. * TO 'mmm_ag​​ent'@'10.10.40.%'IDENTIFIED BY 'agentpwd';
mmm_ag​​ent 용

GRANT REPLICATION SLAVE ON *. * TO 'replication'@'10.10.30.%'IDENTIFIED BY 'replicationpwd';
replication 계정

mmm_ag​​ent과 mmm_monitor 용 IP를 구분 한 이유는 장애시 마음대로 agent 용 IP가 바뀌어 버리기 때문 Replication과 같은 네트워크를 가지고 Replication이 꺼져 버리기 때문이다.

가끔 same-server-id 인 차라하는 것도 모두이 설정 탓이다.

3. Replication 설정
일반 리프 리케이션 오프를 위해 생략

4. Multi-master Replication 설정

5. MMM 설치

6. mmm_common.conf 파일의 수정

7. mmm_ag​​ent.conf 파일 수정

8. mmm_mon.conf 파일 수정

반응형

'MySQL' 카테고리의 다른 글

RDS Aurora 연결시에 MySQL-python에 빠지다  (0) 2016.07.29
Replication  (0) 2016.05.25
Cacti의 MySQL감시방법  (0) 2016.04.20
[mySQL5.5] 19장. Replication  (0) 2016.03.23
[mySQL5.5] 18장. Backup & Recvoery  (0) 2016.03.23
Comments