리더가 둘이었다 · 로그는 무한히 자란다 · 퀴즈
퀴즈: 스냅샷과 압축
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
스냅샷에 마지막으로 포함한 자리 번호와 그 자리의 임기를 함께 적는 이유는?
- 그 뒤의 로그를 이어 붙일 기준점이 되기 때문
- 스냅샷 파일의 무결성을 검증하기 위해
- 복구할 때 클러스터 ID 를 다시 만들기 위해
- 어느 리더가 스냅샷을 떴는지 감사 기록을 남기기 위해
로그를 압축하지 않으면 가장 먼저 문제가 되는 것은?
- 리더 선거가 느려진다
- 재시작과 따라잡기 시간이 로그 길이에 비례해 늘어난다
- 과반 계산이 틀리기 시작한다
- 임기 번호가 정수 한계를 넘는다
리더가 팔로워에게 보내려는 항목이 이미 압축되어 사라졌다면?
- 그 팔로워를 클러스터에서 제거한다
- 압축을 되돌려 로그를 복원한다
- 스냅샷을 통째로 보내고 그 뒤부터 로그로 이어 간다
- 그 팔로워가 스스로 백업에서 복구할 때까지 기다린다
etcd 의 `--snapshot-count` 가 정하는 것은?
- 보관할 백업 파일의 개수
- 키 하나가 보관하는 과거 리비전의 개수
- 정족수를 계산할 때 세는 멤버의 수
- 압축이 일어나기 전까지 메모리에 들고 있는 raft 항목의 수
etcd 스냅샷으로 복구할 때 반드시 알아야 하는 것은?
- 복구는 멤버 ID 와 클러스터 ID 를 덮어써서 새로운 논리적 클러스터를 만든다
- 복구한 멤버는 기존 클러스터에 그대로 합류한다
- 멤버마다 서로 다른 스냅샷으로 복구해도 된다
- 복구하면 스냅샷 이후에 쓴 데이터도 함께 되살아난다
운영 중인 멤버에 `etcdctl defrag` 를 돌릴 때 주의할 점은?
- 임기가 올라가 리더 선거가 다시 열린다
- 상태를 다시 만드는 동안 그 멤버의 읽기와 쓰기가 막힌다
- raft 로그가 함께 압축되어 따라잡기가 빨라진다
- 클러스터 ID 가 바뀌어 다른 멤버와 통신하지 못한다