Postgres 9.4 버전이 설치된 서버를 H/A 구성하려하는데
repmgr, pgpool, 리눅스 서버 클러스터 등등 대부분 설정해서 테스트해본것 같습니다.
질문드리려는건 repmgr, pgpool 같은 Replication을 지원하는것중
대부분 어떤걸 많이 사용하는지와 master/master 구조가 가능한게 있는지 질문드립니다.
http://2ndquadrant.com/en/resources/bdr/
링크 중간 부분을 보시면
각 솔루션별 장, 단점이 잘 나나타 있습니다.
제가 알기로는
Master/Master를 지원하는 솔루션 중에는 BDR이 가장 좋은거 같습니다.
Bucardo 등도 지원을 하지만 테스트 해 본 결과 안정성이나 기능면에서
BDR이 가장 좋았던거 같습니다.
현재 회사 솔루션에 BDR을 적용하고 있는데....
참고 사이트, 문서 부족
Master/Master 충돌, DBR 다운 현상, Global Sequence 이슈, DDR 제약
등의 다양한 이슈가 있습니다.
적용 하기전에... 제약 사항을 자세히 읽어 보시고 적용 하기 바랍니다.
제약사항만 숙지하고 있으면
BDR 이 실 운영환경에서 사용해도 될만큼 안정적인가요?
아직 적용 경험이 없어서.
천정대님 답변감사합니다.
corosync랑 pacemaker를 가지고 서버를 이중화했더니 너무 상태가 안정적이지 못한거같아
repmgr + pgpool로 구성중인데 failover를 어떻게 해야할지 궁금합니다
구성은 아래와 같습니다
서버 1: repmgr 설치하고 master 서버로 등록
서버 2: repmgr 설치하고 slave 서버로 등록
서버 3: pgpool 설치
저도 postgresql을 잘 몰라서 제 답이 맞는건지는 모르겠습니다.
제가 정한 방침은 다음과 같습니다.
1 Active Standby 구성의 경우
- Postgresql 9.5.1 Streaming Replication 사용
가장 안정적이고, 의존성없이 좋다고 생각함
- repmgr 의 경우 운영 편의성은 좋으나 postgresql 기본 기능외에
repmgr 에 의존할 필요가 있을까는 각자 판단.
저는 Streaming Replication 만으로도 충분해 보임
- 2ndquadrant 의 pglogical 검토, 아직 설치 안해 봤음
2 Active Active 구성의 경우
- BDR 이 가장 좋은거 같음
- 원격 지원을 받고 싶은 경우 2ndquadrant 에서 지원하는 서비스가 있음
천정대님 답변 감사합니다.
BDR 설치 후 간단히 테스트 해보니 A/A 구조라 관리하기는 편한것 같습니다.
TO 황하진
저도 가장 많이 고민했던 부분이고
회사에서 매장 당하고, 고객사에서 난리나고, 최악의 경우 Streaming Replication + Xml 혹은 내장 DB로
교체까지 각오를 하고 있습니다.
해외에는 적용 사례가 조금 있던거 같은데...
국내에는 제 짧은 지식으로는 적용 사례가 없는거 같습니다.
단점 보다는 장점을 보고 선택을 했구요.
무모하지만 실제 운영 환경에서의 적용 사례가 없이는 기술 축적이 불가능하다는 똥고집으로 밀어 부쳤습니다.
현재 오픈 후 며칠 되지 않아서 큰 장애는 없지만늘 불안감에 쩔어 살고 있습니다.
conflict 로그는 자주 보이는거 같구요.
개발 단계에서 알수 없는 로그들과 해결이 안될때가 가끔 있었는데 잘 몰라서 재기동 했습니다.
sequence nextval, ddl default 옵션 등이 가장 불편한거 같습니다.
장애시 대응책은 무식하지만 없습니다.
경험이 전무해서요...
별 도움이 못되서 죄송 합니다.
좋은 하루 되십시오.