sentinel_failover-timeout
Redis SENTINEL FAILOVER-TIMEOUT
Redis Sentinel Course | Redis Technical Support | Redis Enterprise Server |
---|
Redis SENTINEL FAILOVER-TIMEOUT Parameter
FAILOVER-TIMEOUT는 장애조치가 일정 시간이 지나도 완료되지 않았으면 취소(abort)하는 시간이다.
주의할 것은 장애조치 시작부터 완료될때까지의 시간이 아니고, 각 단계마다의 시간을 체크하는 것이다.
아래 각 단계 완료 직후에 failover_state_change_time을 세팅하고,
이 시각과 현재 시각을 비교해서 failover-timeout 보다 크면 장애조치를 취소한다.
장애조치를 취소(abort)한다는 것은 각 단계마다 설정한 플레그를 초기화하고 선정된 슬레이브 정보를 삭제한다.
객관적 다운(odown) 플레그는 그대로 둔다.
정확한 의미에서 모두 롤백(rollback)하는 것은 아니지만 장애조치를 다시 시작할 수 있도록 초기화하는 것이다.
따라서 취소된 후 센티널 서버는 odown 단계에서 부터 다시 시작할 수 있다.
디폴트는 180초이다.
이 값은 일반적으로 장애조치를 하는데 충분한 시간이다.
- 1단계: 객관적 다운(odown)
- 2단계: 센티널 리더 선출(elected-leader)
- 3단계: 슬레이브 선정(selected-slave)
- 4단계: 선정된 슬레이브 마스터로 승격(promoted-slave)
- 5단계: 슬레이브들이 새 마스터에서 데이터를 받도록
SLAVEOF
명령 수행(slave-reconf-done) - 6단계: 센티널 내 정보 갱신(failover-end, switch-master, update_config)
시간초과(timeout)가 발생해서 취소(abort)되면 각 단계마다 다음과 같은 메시지가 센티널 로그에 남는다.
- 2단계: 센티널 리더 선출 -> "-failover-abort-not-elected"
- 3단계: 슬레이브 선정 -> "-failover-abort-no-good-slave"
- 4단계: 선정된 슬레이브 마스터로 승격 -> "-failover-abort-slave-timeout"
- 5단계: 슬레이브들이 새 마스터에서 데이터를 받도록 명령 수행 -> "+failover-end-for-timeout"
2,3,4단계에서 시간초과(timeout)가 발생하면 "failover-abort-..."로 시작하는 메시지를 남기고 취소를 한다. 하지만 5단계에서 좀 다르다. 5단계는 첫 번째 슬레이브부터 마지막 슬레이브까지 "slaveof" 명령이 완료된 시간을 체크하므로 슬레이브 수에 따라 시간초과 발생 가능성이 다른 단계에 비해서 높다. 이 단계에서 시간초과가 발생하면 센티널 로그에 "+failover-end-for-timeout" 메시지를 남기고, 완료되지 않은 슬레이브들에 대해서 "slaveof" 명령을 다시 보낸다. 이 때 센티널 로그에는 "+slave-reconf-sent-be" 메시지를 남긴다. 따라서 5단계에서는 시간초과가 발생해도 장애조치는 이상없이 완료된다.
사용법
Syntax
: sentinel failover-timeout <master-name> <milliseconds>
sentinel.conf 파일: sentinel failover-timeout master-name 180000
- 존재하지 않는 master-name을 지정했을 경우:
*** FATAL CONFIG FILE ERROR *** "No such master with specified name." - 0 또는 음수를 입력했을 경우:
*** FATAL CONFIG FILE ERROR *** "negative or zero time parameter." - 실수(소수점)를 입력했을 경우: 에러가 발생하지 않는다. 정수부분만 남아 적용된다.
예) 1000.5 ---» 1000 적용
파라미터
- 이 파라미터는 version 2.8.0 부터 사용할 수 있습니다.
문서
- 이 문서는 버전 3.2.8을 기준으로 만들었습니다.
<< DOWN-AFTER-MILLISECONDS | FAILOVER-TIMEOUT | PARALLEL-SYNCS >> |
---|
조회수 :