728x90
CentOS 7에서 Chrony 설치 및 설정 방법(ntpd 대체)
1. Chrony 설치
sudo yum install -y chrony
chronyc -v
chronyc (chrony) version 3.4 (+READLINE +SECHASH +IPV6 +DEBUG)
Chrony 서비스 활성화 및 서비스
sudo systemctl --now enable chronyd
(또는)
sudo systemctl enable chronyd
sudo systemctl start chronyd
Chrony 설정(chrony.conf) 파일 편집
NTP 서버 설정
- time.bora.net 추가
- times.postech.ac.kr 추가
vim /etc/chrony.conf
# NTP 서버 설정 (외부 시간 서버)
server gps.bora.net iburst
server ntp.kornet.net iburst
server ntp.postech.ac.kr iburst
server time.kriss.re.kr iburst
server time2.kriss.re.kr iburst
server time.google.com iburst
server time.cloudflare.com iburst
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
# 클라이언트 IP 대역 허용 (다중 서브넷 허용)
allow 192.168.0.0/24
allow 192.168.10.0/24
# 드리프트 파일 경로
driftfile /var/lib/chrony/drift
# 로컬 시간 서버 설정 (필요 시 유지, 외부 NTP가 사용할 수 없을 때만)
local stratum 10
# 로그 설정 (추가된 정보로 로깅)
log measurements statistics tracking
logdir /var/log/chrony
# 시스템 시간 즉시 동기화 (큰 시간 차이가 있을 경우)
makestep 1.0 3
# 하드웨어 클록과 RTC 동기화
rtcsync
더보기
---
cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *
# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2
# Allow NTP client access from local network.
#allow 192.168.0.0/16
# Serve time even if not synchronized to a time source.
#local stratum 10
# Specify file containing keys for NTP authentication.
#keyfile /etc/chrony.keys
# Specify directory for log files.
logdir /var/log/chrony
# Select which information is logged.
#log measurements statistics tracking
sudo tee /etc/chrony.conf <<EOF
server gps.bora.net iburst
server ntp.kornet.net iburst
server ntp.postech.ac.kr iburst
server time.kriss.re.kr iburst
server time2.kriss.re.kr iburst
server time.google.com iburst
server time.cloudflare.com iburst
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
allow 192.168.0.0/24
allow 192.168.10.0/24
driftfile /var/lib/chrony/drift
local stratum 10
log measurements statistics tracking
logdir /var/log/chrony
makestep 1.0 3
rtcsync
EOF
---
서비스 재기동
sudo systemctl restart chronyd
728x90
2. Chrony 동작 확인
NTP 서버들의 통계 정보 확인 (지연 시간, 오프셋 등)
chronyc sourcestats -v
210 Number of sources = 9
.- Number of sample points in measurement set.
/ .- Number of residual runs with same sign.
| / .- Length of measurement set (time).
| | / .- Est. clock freq error (ppm).
| | | / .- Est. error in freq.
| | | | / .- Est. offset.
| | | | | | On the -.
| | | | | | samples. \
| | | | | | |
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
gps.bora.net 0 0 0 +0.000 2000.000 +0ns 4000ms
168.126.3.6 0 0 0 +0.000 2000.000 +0ns 4000ms
ntp.postech.ac.kr 0 0 0 +0.000 2000.000 +0ns 4000ms
210.98.16.100 0 0 0 +0.000 2000.000 +0ns 4000ms
210.98.16.101 4 3 6 +48.455 2824.357 +2408us 443us
time1.google.com 4 3 6 -794.166 9816.113 -27ms 973us
time.cloudflare.com 4 3 6 -423.463 6525.819 -8747us 1040us
121.174.142.81 4 3 8 +60.361 1907.299 +7454us 302us
mail.innotab.com 4 4 6 -62.234 3048.960 +2919us 374us
현재 사용 중인 시간 소스 상태 확인
chronyc sources -v
210 Number of sources = 9
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? gps.bora.net 0 7 0 - +0ns[ +0ns] +/- 0ns
^? 168.126.3.6 0 7 0 - +0ns[ +0ns] +/- 0ns
^? ntp.postech.ac.kr 0 7 0 - +0ns[ +0ns] +/- 0ns
^? 210.98.16.100 0 7 0 - +0ns[ +0ns] +/- 0ns
^* 210.98.16.101 2 6 17 62 +741us[ -342us] +/- 15ms
^+ time1.google.com 1 6 17 62 +3438us[+2355us] +/- 33ms
^- time.cloudflare.com 3 6 17 63 +5040us[+3956us] +/- 102ms
^- 121.174.142.81 3 6 27 61 +5801us[+5801us] +/- 48ms
^- mail.innotab.com 3 6 17 61 +5649us[+5649us] +/- 8773us
시간 오차가 클 경우 즉시 시스템 시간을 NTP 서버와 동기화
chronyc -a makestep
$ chronyc -a makestep
200 OK
시스템의 시간 동기화 상태 확인
chronyc tracking
Reference ID : D8EF2300 (time1.google.com)
Stratum : 2
Ref time (UTC) : Thu Oct 24 11:46:16 2024
System time : 0.000000000 seconds slow of NTP time
Last offset : +0.002225525 seconds
RMS offset : 0.001245716 seconds
Frequency : 15.050 ppm slow
Residual freq : +8.108 ppm
Skew : 16.729 ppm
Root delay : 0.055804230 seconds
Root dispersion : 0.001931446 seconds
Update interval : 64.2 seconds
Leap status : Normal
연결된 클라이언트 정보 확인 (서버일 경우)
chronyc clients
Hostname NTP Drop Int IntL Last Cmd Drop Int Last
===============================================================================
192.168.10.112 6 0 4 - 24 0 0 - -
chrony를 설치하고 설정하면 CentOS 7에서 시간 동기화를 관리할 수 있습니다. chrony는 NTP 서버와의 동기화를 통해 정확한 시간을 유지하는 데 도움을 줍니다.
728x90
'리눅스' 카테고리의 다른 글
OpenSSL을 사용하여 자체 서명된 SSL 인증서와 개인 키를 생성하는 방법(openssl) (0) | 2021.06.22 |
---|---|
[리눅스] 메일 SMTP 오류 코드 정리 (0) | 2021.06.17 |
[리눅스] OpenLDAP 설치 및 구성 (0) | 2021.06.11 |
[리눅스] jenkins 도커 컨테이너로 올리기 (0) | 2021.06.10 |
Ansible setup 모듈(setup module)을 사용하는 방법 (0) | 2021.06.05 |