본문 바로가기

리눅스

[draft] CentOS 7에서 Chrony 설치 및 설정 방법

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