CentOS 기반 하트비트 프록시

CentOS 기반 하트비트 프록시

Apache 및 MySQL에 대한 자동 장애 조치를 설정하려고 합니다. 저는 두 개의 Apache 상자와 두 개의 MySQL 상자 앞에 작은 프록시 서버를 배치할 계획입니다. Apache는 마스터 -> 슬레이브의 데이터를 자주 재동기화하며, MySQL은 복제를 위해 마스터/슬레이브에 설정됩니다. 오류가 발생하는 경우 마스터가 재구축될 때까지 백업 상자가 대신할 수 있습니다.

앞의 프록시 서버는 일종의 하트비트 소프트웨어를 사용하여 교통 경찰로 실행됩니다(이 시점에서는 로드 밸런싱을 찾고 있지 않습니다). 이렇게 하면 메인 박스가 다운될 경우 방화벽을 변경하는 것에 대해 걱정할 필요가 없습니다. ~이다리눅스-HA최선의 선택입니까 아니면 제안 사항이 있습니까?

답변1

Linux HA는 훌륭한 도구 세트입니다. 단순함을 원한다면 하트비트 1을 선택하세요. 하트비트 2는 노드가 2개 이상인 클러스터와 XML 구성으로 이동했습니다. 대부분의 간단한 2노드 사례에는 1이면 충분합니다.

그러나 응용 프로그램 앞에 프록시를 두는 것이 항상 좋은 생각이라는 데 동의하지만(하나의 가상 서버 &c에서 여러 서버를 실행하는 것) 설명하는 설정은 새로운 SPF: 프록시를 도입하는 것처럼 들립니다.

귀하의 경우에 더 나은 방법은 두 서버 모두에서 전체 웹 서비스와 전체 프록시 서비스를 포함하여 활성-활성 구성으로 두 서버를 실행하는 것입니다(!).

세 개의 IP(활성 MySQL 서버용 IP, 활성 웹 서버용 IP, 활성 프록시용 IP)를 인계받도록 하트비트를 설정하기만 하면 됩니다(마지막 IP만 공개하면 됩니다).

그런 다음 프록시는 항상 내부 "활성 웹 서버" IP로 이동하도록 설정하고, 웹 서버는 "활성 DB 서버" IP로 이동하도록 설정합니다.

로드 밸런싱 구성을 시작할 준비가 되면 웹 서버 IP 전환을 중단하고 대신 두 웹 서버를 프록시의 백엔드 서버 그룹에 배치하기만 하면 됩니다.

초기 설정은 다음과 같습니다.

   Server A (Apache on Port 80)   Server A (Apache Port 8080)    Server A MySQL <-----------
              |                \           |                 \        |                      \
Web <-> Public Proxy IP         >-> Shared Private Web IP     >--> Shared Private MySQL IP    | Mysql Synchronization Link
              |                /           |                 /        |                      /
   Server B (Apache on Port 80)   Server B (Apache Port 8080)    Server B MySQL <-----------

그런 다음 준비가 되었을 때 사용자에게 표시되는 변경 사항 없이 실제 로드 밸런싱(웹에 대해 언급한 대로)과 MySQL 클러스터링으로 원활하게 이동할 수 있습니다.

무엇보다도 가장 좋은 점은 애플리케이션을 즉시 프록시 뒤에 두는 것입니다(프록시가 '실제로' 동일한 서버인 경우에도). 웹 앱에 많은 버그가 조기에 노출됩니다(링크 생성 시 호스트 이름 및 경로에 대한 가정).

답변2

http://studyhat.blogspot.com/2009/11/clustering-linux-ha.html

위 링크는 Linux HA 설정에 도움이 됩니다.

관련 정보