Haru Utils

TIME SYNC

서버 시간과 NTP 동기화가 맞지 않을 때

현재 시각·시간대와 동기화 공급자를 확인하고 timesyncd와 chrony를 혼용하지 않은 상태에서 NTP 연결을 복구합니다.
NTP synctimedatectlclock skewSystem clock synchronized nochrony
환경Ubuntu LTS · systemd-timesyncd 또는 chrony
분류서비스
검토일2026-08-27
진행5단계 · 조회 우선

SAFE OPERATING BOUNDARY

중단·복구 기준부터 확인하세요

STOP CONDITIONS

여기서는 멈추세요

  • 명령 출력의 서버·서비스·경로가 예상 대상과 다르면 변경 단계로 넘어가지 않습니다.
  • 현재 접속 세션, 백업 또는 콘솔 복구 경로를 확보하지 못했다면 상태 변경 명령을 실행하지 않습니다.
ROLLBACK

복구 기준

변경 전 설정과 출력값을 기록하고, 예상과 다른 결과가 나오면 추가 변경을 멈춘 뒤 승인된 운영 복구 절차로 되돌립니다.

ESCALATION PACK

담당자에게 전달할 자료

  • 장애 발생 시각·정상화 시각과 원문 오류 메시지
  • 민감정보를 제거한 조회 명령 출력과 변경 전후 차이
  • 조치 후 동일 조건으로 수행한 재검증 결과
공식 문서와 읽기 전용 진단 명령을 우선 검토했습니다. 실제 서버에서는 설치된 버전의 --help와 man을 함께 확인하세요.

BEFORE YOU START

이런 증상에서 시작합니다

  • System clock synchronized: no
  • TLS 인증서가 아직 유효하지 않음
  • JWT 발급·만료 시각 오류
  • 로그와 Cron 실행 시각 불일치

CHECK THE BRANCH

놓치기 쉬운 원인 분기

01

시간대만 다른 경우

UTC·로컬 시간대 표시 문제와 실제 clock offset을 구분합니다.

02

timesyncd가 inactive인 경우

chrony가 설치돼 시간을 관리하면 timesyncd가 비활성인 것이 정상일 수 있습니다.

03

시간이 크게 틀린 경우

즉시 큰 폭으로 바꾸면 로그 순서·세션·분산시스템에 영향을 줄 수 있어 운영 승인이 필요합니다.

FOLLOW THE FLOW

순서대로 확인하기

1
조회시스템을 변경하지 않는 확인 단계

현재 시각·시간대·동기화 상태 확인

사람이 보는 시간대와 시스템 clock 동기화 여부를 분리합니다.

ISO 시각
date --iso-8601=seconds
시간 상태
timedatectl status
결과 읽기

System clock synchronized, NTP service, Time zone과 RTC in local TZ를 기록합니다.

다음 판단

시간대 문제인지 NTP 동기화 문제인지 구분합니다.

2
조회시스템을 변경하지 않는 확인 단계

사용 중인 시간 공급자 확인

timesyncd와 chrony 중 실제 활성 서비스를 확인합니다.

timesyncd 상태
systemctl is-active systemd-timesyncd.service
chrony 상태
systemctl is-active chrony.service
설치 unit 확인
systemctl list-unit-files 'systemd-timesyncd.service' 'chrony.service' --no-pager
결과 읽기

chrony가 active라면 timesyncd inactive는 충돌 방지를 위한 정상 상태일 수 있습니다.

다음 판단

활성 공급자 하나의 상태와 로그만 따라갑니다.

3
조회시스템을 변경하지 않는 확인 단계

공급자별 동기화 상태와 로그 확인

설치된 공급자에 해당하는 명령만 실행합니다.

timesyncd 상세
timedatectl timesync-status
timesyncd 사용 환경에서 실행합니다.
chrony 추적
chronyc tracking
chrony 사용 환경에서 실행합니다.
timesyncd 로그
journalctl -u systemd-timesyncd -b -n 100 --no-pager
chrony 로그
journalctl -u chrony -b -n 100 --no-pager
결과 읽기

서버 주소, offset, leap status와 timeout·DNS 오류를 확인합니다.

다음 판단

이름 조회 실패면 DNS, timeout이면 NTP 경로와 UDP 123 정책을 점검합니다.

4
조회시스템을 변경하지 않는 확인 단계

NTP 서버 이름과 설정 출처 확인

조직이 지정한 NTP 서버와 fallback 구성을 확인합니다.

NTP 이름 조회
resolvectl query ntp.ubuntu.com
timesyncd 설정 후보
sudo grep -R --line-number -E '^(NTP|FallbackNTP)=' /etc/systemd/timesyncd.conf /etc/systemd/timesyncd.conf.d 2>/dev/null
chrony 소스
chronyc sources -v
chrony 사용 환경에서 실행합니다.
결과 읽기

이름 조회가 실패하면 시간 서비스 재시작보다 DNS 복구가 먼저입니다. chrony의 ^* 표시는 현재 선택된 source입니다.

다음 판단

설정 파일과 이름순으로 적용되는 drop-in을 함께 확인합니다.

5
변경데이터·서비스 상태가 달라질 수 있는 단계

사용 중인 공급자만 재시작하고 재검증

두 서비스를 동시에 시작하지 말고 2단계에서 확인한 활성 공급자 하나만 선택합니다.

변경 단계입니다. 실행 전 대상 이름과 경로, 서비스 중단 영향, 복구 방법을 다시 확인하세요.
timesyncd 사용 시
sudo systemctl restart systemd-timesyncd.service
timesyncd가 공급자인 경우만 실행합니다.
chrony 사용 시
sudo systemctl restart chrony.service
chrony가 공급자인 경우만 실행합니다.
최종 상태
timedatectl status
결과 읽기

System clock synchronized가 yes로 바뀌고 로그 시각과 애플리케이션 인증 오류가 정상화되는지 확인합니다.

다음 판단

offset이 다시 커지면 방화벽·가상화 호스트 시간·NTP 서버 품질을 확인합니다.

PRIMARY REFERENCES

공식 문서

배포판과 버전에 따라 옵션·로그 위치가 다를 수 있습니다. 실행 전 서버의 --help와 로컬 매뉴얼을 함께 확인하세요.

도구 빠른 검색

최근 사용한 도구를 다시 열거나, 이름과 기능으로 검색하세요.

검색어와 도구의 입력·결과는 저장하지 않습니다.

↑↓ 이동 · Enter 열기 · Esc 닫기