본문 바로가기

리눅스

우분투에서 Chrony를 설치하고 설정하는 방법

반응형

우분투에서 Chrony를 설치하고 설정하는 방법

Chrony는 NTP(Network Time Protocol)를 사용하여 시스템 시각을 동기화하는 데 사용되며 특히 불안정한 네트워크 환경에서도 빠르게 정확한 시간을 동기화할 수 있는 장점이 있습니다.

Chrony 서버 (192.168.10.111)

1. Chrony 설치

패키지 업데이트

sudo apt-get update

Chrony 설치

sudo apt-get install -y chrony

Chrony 버전 정보

chronyc -v
$ chronyc -v
chronyc (chrony) version 4.2 (+READLINE +SECHASH +IPV6 -DEBUG)

Chrony 서비스 시작 및 활성화

sudo systemctl enable chrony
sudo systemctl start chrony

Chrony 서비스 상태 확인

sudo systemctl status chrony

2. Chrony 설정

Chrony 설정 파일은 /etc/chrony/chrony.conf에 있습니다.

sudo vim /etc/chrony/chrony.conf
더보기

---

sudo tee /etc/chrony/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

pool ntp.ubuntu.com        iburst maxsources 4
pool 0.ubuntu.pool.ntp.org iburst maxsources 1

allow 192.168.0.0/24
allow 192.168.10.0/24

local stratum 10

driftfile /var/lib/chrony/chrony.drift

log tracking measurements statistics
logdir /var/log/chrony

maxupdateskew 100.0
rtcsync
makestep 1 3
EOF

---

# 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

# NTP 풀 설정
pool ntp.ubuntu.com        iburst maxsources 4
pool 0.ubuntu.pool.ntp.org iburst maxsources 1

# 클라이언트 허용 범위
allow 192.168.0.0/24
allow 192.168.10.0/24

# 로컬 시간 서버 설정
local stratum 10

# 드리프트 파일 경로
driftfile /var/lib/chrony/chrony.drift

# 로그 관련 설정
log tracking measurements statistics
logdir /var/log/chrony

# 동기화 관련 설정
maxupdateskew 100.0
rtcsync
makestep 1 3
  • server 구문 : 로컬 네트워크 또는 인터넷의 시간 서버를 추가하거나 수정합니다.
  • pool 구문 : NTP 풀을 사용하여 다수의 서버를 지정할 수 있습니다.
  • allow 구문 : 클라이언트에게 접근을 허용하는 IP 주소 또는 네트워크를 추가하거나 수정합니다.

Chrony 서비스 재시작

sudo systemctl restart chrony

Chrony 서비스 상태 확인

sudo systemctl status chrony

출력에서 "Active: active (running)"과 "Source: chronyd"라는 메시지를 확인할 수 있어야 합니다. 또한, Reference ID 및 Stratum 정보가 시간 서버와의 동기화를 나타냅니다.

 

Chrony가 설치되고 설정되었습니다. 이제 chrony는 우분투 시스템의 시간 동기화를 관리하게 됩니다.

728x90

3. Chrony 동작 확인

NTP 서버들의 요약 상태 확인

chronyc activity
200 OK
12 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address

현재 사용 중인 시간 소스 상태 확인

chronyc sources -v
  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- 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    45   +115us[ +581us] +/- 8053us
^- time2.google.com              1   6    17    45  -2433us[-2433us] +/-   31ms
^- time.cloudflare.com           3   6    17    45  +1662us[+2128us] +/-  100ms
^- prod-ntp-3.ntp1.ps5.cano>     2   6    27    39  +3758us[+3758us] +/-  132ms
^- prod-ntp-4.ntp1.ps5.cano>     2   6    53    40   +536us[ +536us] +/-  128ms
^- alphyn.canonical.com          2   6    17    44  -5594us[-5594us] +/-  130ms
^- prod-ntp-5.ntp1.ps5.cano>     2   6    17    44   +815us[ +815us] +/-  136ms
^- 106.247.248.106               2   6    17    45  +2217us[+2217us] +/-   72ms

NTP 서버들의 통계 정보 확인 (지연 시간, 오프셋 등)

chronyc sourcestats -v
                             .- 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               5   3    73     +7.218    140.917   +158us   494us
time2.google.com            5   3    72    -23.164    137.561  -5848us   604us
time.cloudflare.com         5   3    72    -14.607    450.838  +1711us  1259us
prod-ntp-3.ntp1.ps5.cano>   4   3    10   +244.199   3088.317    +23ms   837us
prod-ntp-4.ntp1.ps5.cano>   5   5    78     +6.587    716.674  +1209us  2705us
alphyn.canonical.com        5   4    72    +86.920   2545.243  +8258us  1438us
prod-ntp-5.ntp1.ps5.cano>   4   4     8    -79.527   4390.572  -7502us   683us
106.247.248.106             5   5    72     +1.864    181.021   +778us   632us

시간 오차가 클 경우 즉시 시스템 시간을 NTP 서버와 동기화

chronyc -a makestep
200 OK

시스템의 시간 동기화 상태 확인

chronyc tracking
Reference ID    : D2621065 (210.98.16.101)
Stratum         : 3
Ref time (UTC)  : Thu Oct 24 04:10:32 2024
System time     : 0.001710546 seconds slow of NTP time
Last offset     : -0.002071171 seconds
RMS offset      : 0.000932353 seconds
Frequency       : 18.982 ppm slow
Residual freq   : -4.194 ppm
Skew            : 72.622 ppm
Root delay      : 0.011854849 seconds
Root dispersion : 0.007438552 seconds
Update interval : 65.1 seconds
Leap status     : Normal

연결된 클라이언트 정보 확인 (서버일 경우)

chronyc clients
Hostname                      NTP   Drop Int IntL Last     Cmd   Drop Int  Last
===============================================================================
node2                          21      0   6   -     8       0      0   -     -

클라이언트 서버 (192.168.10.112)

1. ntpdata 설치

ntpdate 패키지 설치

sudo apt update
sudo apt install ntpdate

원격 시간 확인 (-q 옵션)

sudo ntpdate -q 192.168.10.111
server 192.168.10.111, stratum 3, offset -0.010633, delay 0.02882
24 Oct 13:16:48 ntpdate[2061]: adjust time server 192.168.10.111 offset -0.010633 sec

시간 동기화

sudo ntpdate 192.168.10.111
24 Oct 13:17:33 ntpdate[2067]: adjust time server 192.168.10.111 offset -0.010505 sec

2.1 Chrony 설치

Chrony 패키지 설치

sudo apt update
sudo apt install chrony
chronyc -v

서비스 시작 및 활성화

sudo systemctl --now enable chrony

Chrony 서비스 상태 확인

sudo systemctl status chrony

2.2 Chrony 설정

sudo vim /etc/chrony/chrony.conf
sudo tee /etc/chrony/chrony.conf <<EOF
server 192.168.10.111 iburst

driftfile /var/lib/chrony/chrony.drift

log tracking measurements statistics
logdir /var/log/chrony

maxupdateskew 100.0
rtcsync

makestep 1 3
EOF

Chrony 서비스 재시작

sudo systemctl restart chrony

2.3 Chrony 동작 확인

시간 동기화 상태 확인

chronyc tracking
Reference ID    : C0A80A6F (node1)
Stratum         : 4
Ref time (UTC)  : Thu Oct 24 04:18:43 2024
System time     : 0.000757098 seconds slow of NTP time
Last offset     : -0.001043119 seconds
RMS offset      : 0.001043119 seconds
Frequency       : 27.101 ppm slow
Residual freq   : +7.895 ppm
Skew            : 1000000.000 ppm
Root delay      : 0.008760448 seconds
Root dispersion : 0.528876126 seconds
Update interval : 0.0 seconds
Leap status     : Normal

연결된 NTP 서버 상태 확인

chronyc sources -v
  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- 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
===============================================================================
^* node1                         3   6    17    19   +172us[ +274us] +/- 9866us

 

Chrony 서버와 클라이언트를 설정하고 시간 동기화를 수행할 수 있습니다.

 

참고URL

- Ubuntu Manpage : ntpdate

- Ubuntu Manpage : chronyd

 

728x90
반응형