장애 조치로 HAProxy를 설정하는 방법은 무엇입니까?


14

HAProxy로드 밸런싱 설정에서 장애 조치를 수행하려면 HAproxy를 실행하는 두 대의 시스템이 필요하며이를 여러 웹 서버 인스턴스로 라우팅해야합니다. 그러나이 경우 abcd.com에 따르면이 트래픽을 하나가 아닌 2 개의 IP 주소로 어떻게 분할 / 라우팅합니까? DNS는 일반적으로 도메인 이름을 단일 IP로 확인합니다. 무료 / 저렴한 도구 / 서비스를 사용하는 방법은 무엇입니까?


이것도 역시 확인하십시오 serverfault.com/questions/238605/…
mixdev

답변:


20

두 개의 haproxy 인스턴스에서로드 밸런싱이 필요한로드가 너무 많은 경우 DNS 라운드 로빈은 나쁜 생각이 아닙니다 (이로드가 있으면 놀랄 것입니다). DNS 라운드 로빈은 양호한 페일 오버를 제공하지 않습니다.

Stack Overflow heartbeat에서는 단일 가상 IP를 제공하는 데 사용 하며이 IP는 한 번에 하나의 haproxy 호스트에서만 활성화됩니다 (정지 된 경우 다른 IP가이 IP를 인수 함). 하트 비트를 사용하여 각 컴퓨터에 IP를 설정 한 다음 두 컴퓨터 사이에 DNS 라운드 로빈을 사용할 수 있습니다. 하나가 실패하면 다른 하나는 두 IP를 모두 갖게됩니다.

HAProxy는 물리적 서버에서 약 1-5 %의 CPU를 사용하여 단일 트래픽을 균형있게 유지합니다 Intel(R) Xeon(R) CPU E5504 @ 2.00GHz. 따라서 HAProxy는 일반적으로 많은 트래픽을 쉽게 처리 할 수 ​​있습니다.


1
아니요. 나는 확실히 그런 종류의 트래픽이 없습니다. SPOF를 피하려는 시도 일뿐입니다.
mixdev

2
@mixdev :이 경우 DNS가 히트 비트가 제공하는 단일 가상 IP를 가리 키도록하면 좋을 것입니다. 두 컴퓨터에서 haproxy를 계속 실행하면됩니다. 물론 시작하기 전에 하트 비트 장애 조치를 테스트하십시오.
Kyle Brandt

@KyleBrandt : haproxy 프로세스가 죽으면 어떻게됩니까? 가상 IP를 기반으로 이동하도록 구성한 것이 있습니까?
CarpeNoctem

@CarpeNoctem : 현재로서는 다루지 않았습니다. 하트 비트와 keepalived 모두 프로세스를 볼 수 있도록 설정할 수 있다고 생각합니다. 이 경로를 사용하는 경우 프로세스를 적절한 시간 (예 : 1 분) 동안 중지하도록 설정하는 것이 좋습니다. 구성 오류로 인해 하트 비트가 사라지는 것을 원하지 않을 것입니다. HAProxy는 이들 중 대부분을 검사 -c하지만 바인딩 구성 실수와 같은 것을 포착하지 못할 수 있습니다.
Kyle Brandt

5
관심이있는 사람은 Stack에서 1 년 전에 잘 유지하기로 옮겼습니다
Kyle Brandt

24

Kyle이 말했듯이 하트 비트 는 두 개의 haproxy 서버가 페일 오버 쌍으로 작동하도록하는 데 사용될 수 있습니다. 그러나 많은 사람들이 그 일에 심장 박동 을 사용하지만 , keepalived 는 haproxy의 저자에 의해 제안됩니다.

그는 haproxy 메일 링리스트에 대한 세부 사항을 설명합니다 : http://www.formilux.org/archives/haproxy/1003/3259.html

간단히 말하면 다음과 같습니다.

  • 하트 비트는 클러스터 지향입니다. 단 하나의 서버 만 리소스 (예 : SAN 스토리지)에 액세스 할 수 있습니다.

  • keepalived는 네트워크 중심입니다. 적어도 하나의 서버에 IP가 있는지 확인합니다.


-1

1
게시물에 레시피의 전체 내용을 포함 시키십시오. 우리는 블로그 연결 서비스가 아닙니다.
사슴 사냥꾼

1
또한 블로그가 종종 다운되거나 URL을 변경하면 정보가 손실됩니다.
Dennis Nolte

질문과는 전혀 관련이 없기 때문에 투표를 거부하십시오.
danieljimenez

@danieljimenez, 전혀 무관심, 오해입니다. OP는 HAProxy 자체에 대해 Active / Passive를 요청했으며 user3595100은이 질문을 HAProxy 백엔드에 대한 Active / Passive로 해석했습니다. 그럼에도 불구하고, 링크를 게시하는 것만으로는 받아 들여질만한 대답이 아닙니다.
duct_tape_coder
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.