PC의 시간은 특정 환경 및 상황에 따라 시간 오차가 발생한다. (온도, 하드웨어 연식 등의 이유로 오차 발생)
이러한 시간 오차를 재정비하고자 리눅스에서 NTP(Network Time Protocol)와 Chrony를 사용한다.
NTP(Network Time Protocol)는 네트워크를 통해 PC의 시간을 정확한 시간으로 동기화하는 프로토콜이다.
시간을 동기화할 때는 원자시계 및 GPS와 같은 신뢰 있는 서버 네트워크와 동기화하여 정확한 시간을 유지한다.
✅ NTP 서비스 확인
# NTP 서비스 시작 sudo systemctl start ntpd # NTP 서비스 중지 sudo systemctl stop ntpd # NTP 서비스 상태 확인 sudo systemctl status ntpd✅ NTP 서버 동기화 상태 확인
# NTP 서버 동기화 상태 확인 # 서버 목록 및 시간 동기화 상태 확인 ntpq -p ntpstat✅ 시간 동기화
# 시간 동기화 강제 수행 # -q : 시간 오차가 큰 경우에도 동기화 가능 (오프셋에 제한X) # -g : NTP 서버와 즉시 동기화 후 종료 ntpd -qg✅NTP 설정 파일 확인
일반적으로 NTP 설정 파일의 경우/etc하위에 위치한다.# NTP 설정 파일 확인 vi /etc/ntp.conf
Chrony도 NTP와 같은 기능을 제공해 주고 있다.
Chrony에서는 대표적인 명령어가 2개 있다.
chronyd 명령어 : Chrony 데몬을 실행, 관리chronyc 명령어 : 동기화 및 상태 확인, 설정 변경✅ Chrony 서비스 확인
# Chrony 서비스 시작 sudo systemctl start chronyd # Chrony 서비스 중지 sudo systemctl stop chronyd # Chrony 서비스 상태 확인 sudo systemctl status chronyd✅ Chrony 동기화 상태 확인
# Chrony 동기화 상태 확인 # 시스템의 시간 오차, 동기화 상태, 서버와의 지연 시간 등 확인 chronyc tracking✅ Chrony 서버 목록
# Chrony 서버 목록 및 동기화 상태 확인 # ntpq -p와 유사한 역할 chronyc sources✅ Chrony 시간 동기화
# 시간 동기화 sudo chronyc makestep
NTP와 Chrony는 각기 다른 특징과 장단점을 가지고 있다.
| 특징 | NTP | Chrony |
|---|---|---|
| 설정 | 복잡한 설정(클라이언트 및 서버 설정) | 간단한 설정, 자동 동기화 제공 |
| 동기화 속도 | 느림 | 빠름 |
| 정확도 | 높음 | 매우 높음 |
| 네트워크 안정성 | 네트워크 지연에 민감 | 불안정한 네트워크에서도 높은 성능 발휘 |
| 리소스 소모 | 많은 지원 소모 | 적은 자원 소모 |
| 지원 환경 | 넓은 호환성 제공 | 제한적 사용(구형 시스템에서 제한적 사용) |
| 사용 환경 | 대규모 환경에 안정적으로 동작 | 빠른 복구 및 동기화 등 빈번한 재부팅 환경에 적합 |