VRRP 마스터가 실패한 후 마스터가되지 않도록 방지


12

가상 IP에 대해 VRPP (keepalived에서)를 실행하는 두 개의 시스템 (A 및 B, A는 마스터)이 있습니다.

A가 실패하고 다시 돌아 오면 (어떤 이유로 든) 다시 마스터가되지 않도록하려면 어떻게해야합니까?

나는 두 번째 상자에 대한 단일 장애 조치를 갖기 위해 이것을하고 있으며 정상으로 돌아가려면 수동 개입이 필요합니다.


"VRRP"태그를 생성하기에는 너무 새롭습니다
MrMagu

답변:


14

에 따르면 keepalived 개발자 목록 비교적 오래된 스레드, 그것은 수행 할 수 있습니다. 두 서버를 모두 동일한 우선 순위로 설정하거나 전혀 설정하지 않고 상태를 MASTER 또는 BACKUP으로 선언하지 않고 대신 두 서버 모두에 대해 상태를 EQUAL로 설정하십시오.

편집 (2017 년 12 월 7 일) :

이 답변이 게시 된 시점에 원하는 효과를 제공하는 것처럼 보이지만 EQUAL은 실제로 유효한 상태가 아닌 것으로 보입니다. 아래 설명, 특히 @cristi가 제공 한 keepalived에 대한 현재 이슈 목록에 대한 링크 를 참고하십시오 .


3
감사합니다. 또한 마스터를 인수하지 않은 경우 위 구성 (동일한 우선 순위 및 "EQUAL"사용)을 사용하면 IP가 가장 낮은 VRRP 인스턴스가 MASTER가됩니다.
MrMagu

1
이것은 잘못이다. 개발자에서이 메시지를 참조하십시오 github.com/acassen/keepalived/issues/707이
크리스티

@cristi-게시 당시 (2009) 작동 솔루션으로, 그 당시에도 분명히 인정받은 정보를 기반으로했습니다 (2003). osdir.com이 더 이상 keepalived-devel 아카이브를 가지고 있지 않기 때문에 작동하는 링크에 대한 링크를 업데이트했습니다. 당시 소프트웨어는 잘못된 EQUAL지시문을 자동으로 무시하고 우선 순위가 전혀 설정되지 않은 것처럼 취급했습니다 (원하는 효과가 발생했습니다).
James Sneeringer

8

이를 해결하는 방법은 nopreemptkeepalived 구성 파일에 플래그를 추가하는 것 입니다. 다른 변경 아무것도하지 않았다 (여전히 하나의 왼쪽 MASTER과 하나 BACKUP등등을). 기본적으로 이것은 새로운 서버가 온라인 상태이기 때문에 마스터를 전환하지 말고 현재 마스터가 실패 할 때만 전환하도록 지시합니다.


4
" article.gmane.org/gmane.linux.keepalived.devel/1537 " "state"가 MASTER로 설정되면 "state MASTER"가있는 머신이 리턴 할 때 "nopreempt"는 기본적으로 무시됩니다. 선거를하지 않아도 "상태 BACKUP"이있는 머신 "비 선점"기능이 의도 한대로 작동하려면 두 시스템을 우선 순위가 높은 시스템으로 BACKUP 상태로 설정해야했습니다.
MrMagu

우선 순위 및 상태를 삭제하고 선점권을 추가했습니다. 나를 위해 잘 작동
Rihard Novozhilov

-1

내가 알기로, 새로운 VRRP 서버가 등장하면 선거를 강제하고 현재 서버는 아무런 혜택을 얻지 못하므로 이전 마스터가 와서 선거에서 승리합니다. 나는 잔인한 Shoot The Other Node In The Head를 넘어서서 이것을 막을 수있는 많은 일이 의심 스럽다. Keepalive는 선거 프로세스를 제어하기 위해 일부 구성을 가질 수 있습니다. 슬프게도 지금 확인할 시간이 없지만 나중에 살펴볼 것입니다.


이 작업을 수행하는 구성 플래그가 있으므로이 답변은 잘못되었습니다.
davr

투표 응답은 마스터가 서비스로 돌아올 때 마스터를 인계하지 않으려는 vrrp의 일반 배치에 적합합니다. 당신이 말했듯이, 이것을 유지하는 방법도 있습니다. 기본 경로 (vrrp를 사용하는 더 일반적인 이유)에 L3 중복성을 제공하기 위해 vrrp를 사용하는 대신 Linux HA 작업을 수행 할 때 더 정확할 것입니다.
chris
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.