DBAtlas · 데이터베이스 운영 아틀라스

Clock skew / NTP 문제

증상

클러스터 노드 간 시간 차이. 복제/선출 불일치, 'certificate not yet valid', 로그의 시간 점프.

1. 증상을 알아본다

clock skew는 은밀하다: Mongo/Redis Sentinel 선출 반복(flapping), TLS 'not yet valid/expired' 오류, Kerberos 오류, 로그에서 타임스탬프가 거꾸로 감. 분산 시스템에서 대부분의 '설명할 수 없는' 이상 현상의 근원이다.

2. 차이를 측정한다

각 노드에서 시간 소스와 offset을 비교한다: timedatectl, chronyc tracking(또는 ntpq -p), 노드 간 date -u. 몇 ms/s 차이가 나는가?

3. NTP/chrony를 수정한다

chronyd/ntpd가 실행 중인가, 시간 소스에 도달할 수 있는가, 동기화되었는가? 서비스를 시작하고 소스를 수정한다. offset이 크면 신중하게 step한다(갑작스러운 점프는 일부 DB에 영향을 줄 수 있음).

4. 영향받은 구성 요소를 검증한다

시간을 수정한 후 확인한다: MongoDB replica set 선출이 안정적인가, Redis Sentinel/Cluster가 정상인가, TLS handshake가 성공하는가, 복제 지연 지표가 회복되었는가?

5. 영구 조치

모든 노드에서 NTP를 필수로 하고 offset을 모니터링한다(알림: >100ms). 가상 머신에서는 host-guest 시간 동기화 설정을 정리한다. 가능하면 단일하고 신뢰할 수 있는 시간 소스 계층을 사용한다.

DBAtlas에서 열기 →