이전 글
https://javannspring.tistory.com/256
https://javannspring.tistory.com/257
https://javannspring.tistory.com/258
1) 마스터 다운 감지
2) 마스터 후보 선택
3) 마스터로 승격
4) 동기화
5) 클라이언트에게 알림
6) 클라이언트 : 새 마스터로 접속
(1) 센티널 주요 기능
* 모니터링 Monitoring : 센티널은 레디스 마스터, 복제들을 제대로 동작하는지 지속적으로 감시합니다.
* 자동 장애조치 Automatic Failover : 센티널은 레디스 마스터가 예기치 않게 다운되었을 때 복제를 새로운 마스터로 승격시켜 줍니다. 그리고 복제가 여러 대 있을 경우 이 복제들이 새로운 마스터로 부터 데이터를 받을 수 있도록 재 구성하고, 다운된 마스터가 재 시작했을 때 복제로 전환되어 새로운 마스터를 바라볼 수 있도록 합니다.
* 알림 Notification : 센티널은 감시하고 있는 레디스 인스턴스들이 failover 되었을 때 Pub/Sub으로 Application(client)에게 알리거나 shell script로 관리자에게 이메일이나 SMS로 알릴 수 있습니다.
(2) 센티널 설정
sentinel.conf 에서 센티널을 설정합니다.
port <sentinel port>
daemonize yes
sentinel monitor mymaster <master ip> <master port> <quorum>
(quorum 이 2이면 2대 이상 센티널에서 오류가 인식됐을 때 장애조치,
현재는 센티널이 1대이므로 1로 설정)
(3) 센티널 실행
$ src/redis-sentinel sentinel.conf
$ redis-cli –p 16000
$ info sentinel 명령어로 sentinel이 모니터링 하고 있는 레디스 서버 정보를 확인할 수 있습니다.
현재 6379 레디스를 마스터로 모니터링 하고 있습니다.
6379 레디스를 shutdown 시켜보면 자동으로 두 번째 6002 레디스를 모니터링 함을 볼 수 있습니다.
(4) 센티널 명령어
명령어 |
설명 |
예시 |
INFO |
마스터의 정보를 간략히 조회 |
> info sentinel |
ROLE |
서버의 역할(sentinel/master/slave)과 부가 정보를 조회 |
> role 1) "sentinel" 2) 1) "mymaster01" 2) "mymaster02" 3) "mymaster03" |
MONITOR |
지정한 마스터에 대한 모니터링 시작 |
> sentinel monitor master7000 192.168.56.102 7000 2 OK |
REMOVE |
지정한 마스터에 대한 모니터링 중지 |
> sentinel remove master7000 OK |
MASTERS |
센티널이 모니터링하고 있는 마스터의 정보 조회 |
> sentinel masters 1) 1) "name" 2) "mymaster01" 3) "ip" 4) "127.0.0.1" 5) "port" 6) "7121" 7) "runid" 8) "6b926c736c1ba33f916135d4c665e1193836f01e" |
REPLICAS |
지정한 마스터의 슬레이브 정보 조회 |
> sentinel replicas mymaster01 1) 1) "name" 2) "127.0.0.1:7122" 3) "ip" 4) "127.0.0.1" 5) "port" 6) "7122" 7) "runid" 8) "a632b72b9565038b888ed5e8eac31117b860be4e" |
SENTINELS |
지정한 마스터를 모니터링하는 다른 센티널에 대한 정보 조회 |
> sentinel sentinels mymaster01 1) 1) "name" 2) "40ebf60db9dc4385cf404903e1db6c111d14c336" 3) "ip" 4) "127.0.0.1" 5) "port" 6) "7112" 7) "runid" 8) "40ebf60db9dc4385cf404903e1db6c111d14c336"
|
RESET |
센티널의 상태 정보를 초기화 |
> sentinel reset mymaster01 (integer) 1 |
FAILOVER |
강제로 장애조치(failover)를 진행 |
> sentinel failover Xmaster OK |
SET |
센티널 설정을 변경 |
> sentinel set Xmaster <option> <value> <ex> * parallel-syncs count 명령을 내릴 슬레이브 개수 설정 * quorum count 장애조치를 판단할 센티널 오류감지 개수 설정 * down-after-milliseconds milliseconds 서버 다운 여부를 판단할 기준시간 설정. Default : 30s |
'DB > REDIS' 카테고리의 다른 글
Redis Cache (0) | 2023.08.08 |
---|---|
3. REDIS Replication (Master-Slave) (0) | 2019.07.24 |
2. REDIS 실행 및 명령어 (0) | 2019.07.24 |
1. REDIS 설치 및 환경설정 (0) | 2019.07.24 |