MySQL replication을 해보자 – LB 이중화

LB 이중화에 대해서 정리하는 것을 미루고 있다가 아예 이중화 구축을 자동화하는 것까지 해보기로 했다. 지난번에는 HAProxy를 하나만 두었었는데 다른 VM (192.168.100.54)에 동일한 설정으로 HAProxy를 올리고 VRRP를 위해 keepalived를 사용했고 keepalived 설치에 대해서는 ‘믿고 보는’ Digital Ocean의 문서를 참조했음. 아래의 그림처럼 만들어봤다. (두 개의 VM에 공통으로 설정할 내용이 있고 각각 다르게 해야 하는 부분이 있어서 아래 소제목에… Read more »

MySQL replication을 해보자 – 로드밸런싱

지난번에 이어서 구축한 MySQL slave 2개를 로드밸런싱 해보기로 했다. 로드밸런서로 가용한게 몇가지 있지만 그 중 HAProxy를 이용해서 아래 그림과 같은 모양으로 만들 생각이다. LB의 IP는 192.168.100.53 이고 로드밸런싱 대상은 각각 192.168.100.51, 192.168.100.50   1. Status check를 위한 user 추가 HAProxy가 mysql 상태 확인을 위해 접근하는 사용자 계정이 추가되어야 한다. 다른 방식으로 status check 하는게 가능하다면… Read more »

MySQL replication을 해보자 – 두번째

지난 글에 이어서 이번엔 약간 다른 내용을 정리.   1. Slave 추가 이전 그림을 다시 꺼내보면 slave는 2개인데 지난번에는 slave를 하나만 만들어두고 replication 하도록 해두었었다. Slave를 추가하려면 어떻게 해야할까? 처음 slave#1을 구성할 때에는 snapshot 적용을 위해서 master를 일시적으로 중단하거나 lock을 걸고 dump를 떠야했는데 이미 존재하는 slave가 있으니 master는 건드릴 필요는 없다. 아래의 순서대로 진행. (1)… Read more »

MySQL replication을 해보자

DBA는 아니지만 나중에 필요할 것 같기도 하고 실무 관점에서 직접 구성해보는게 좋을 것 같다는 생각에 DB 이중화를 해보기로 했다. 연습용 DB를 대상으로 하다보니 이중화 구성이 생각보다 간단했고 실제 운영을 하면서 마주칠 수 있는 복잡한 사례와 트러블슈팅을 통해 얻을 수 있는 노하우가 중요할 것 같다. 구성하고자 하는 최종 형태는 아래 그림과 같은 모습인데   우선 DB만… Read more »

Marathon authentication

오전에 marathon을 열어봤더니 이상한 application 들이 여러 개 올라가 있었다. 별다른 인증절차 없이 사용하고 있었으니 올게 온거다. (왜 이제 오셨나. 항상 이런 건 뭔가 처리할 작업이 많을 때 찾아오신다. 신기하다.) 다행히 실제 동작하는 application은 아니었는지 모두 deploying 혹은 waiting 상태로 대기하고 있어서 서둘러 모두 제거했다. Marathon 사용하던 초기에(0.8? 0.9? 버전) 보안 관련 옵션을 문서에서 찾지… Read more »