Database/Redis

[Redis] Replication 복제 Failover, Failback 방법

꽁담 2020. 3. 11. 02:04

마스터서버에서 복제서버로 Failover 하는 방법


마스터가 다운되었다면 복제서버를 마스터로 변경해야 합니다.

이 때 복제서버에서 사용하는 명령어 입니다.


1
127.0.0.1:6380> replicaof no one
cs



마스터 서버 복구 후 마스터서버로 FailBack 하는방법


기존 마스터 서버 : '127.0.0.1 6379' (이하 6379)

현 마스터 서버 : '127.0.0.1 6380' (이하 6380)


replicaof 명령을 사용하여 failback 방법

1. 6379 를 마스터로 바라보는 복제서버가 없는지 확인합니다. (복제서버의 데이터 유실 방지를 위해)

2. 6379 를 마스터로 구동합니다.

3. 6380 서버에서 클라이언트 접속을 차단합니다.

4. 6379 에서 6380 의 복제서버로 구성하여 데이터를 동기화합니다.

1
127.0.0.1:6379> replicaof 127.0.0.1 6380
cs

5. 동기화 완료 후 6379 를 마스터로 변경합니다.

1
127.0.0.1:6379> replicaof no one
cs

6. 6380 을 6379 의 복제서버로 변경하여 데이터를 다시 동기화 합니다.

7. 6380 에서 변경한 내용을 redis.conf 파일에 동기화 하기 위해 rewrite 명령을 실행합니다.

1
2
127.0.0.1:6380> replicaof 127.0.0.1 6379
127.0.0.1:6380> config rewrite
cs

8. 6379 서버로 클라이언트를 접속시킵니다.



rdb 파일을 복사하여 failback 방법

1. 6380 서버에서 클라이언트 접속을 차단합니다.

2. 6380 서버에서 save 혹은 bgsave 명령으로 RDB 파일을 생성합니다.

3. RDB 파일을 6379 서버의 working directory 로 복사합니다.

4. 6379 서버를 마스터로 실행합니다.

5. 6380 서버를 복제서버로 설정 변경하고 실행합니다.

6. 6379 서버로 클라이언트를 접속시킵니다.