Chrony 설치 및 구성 방법

만성병 환자 설치 및 설정 방법

Chrony는 Linux 시스템에서 시간 동기화를 담당하는 프로그램 중 하나입니다. 이 프로그램을 설치하고 설정하는 방법을 살펴보겠습니다.

1. 크로니 설치

Chrony를 설치하려면 먼저 패키지 관리자를 사용하여 설치해야 합니다. 다음 명령을 사용하여 Chrony를 설치합니다.

  • 데비안 계열
sudo apt-get update
sudo apt-get install -y chrony
  • RHEL 제품군
sudo yum install -y chrony

2. 만성적인 태도

Chrony는 기본적으로 /etc/chrony.conf 파일로 구성됩니다. 이 파일을 열고 다음과 같이 변경합니다.

vim /etc/chrony.conf
# 서버 설정
server (NTP 서버 주소) iburst

# 로컬 서버와의 시간 차이를 보정하기 위한 옵션
driftfile /var/lib/chrony/drift

# 시간 정보를 로그에 기록하는 옵션
log tracking measurements statistics

위의 예에서 (NTP 서버 주소)는 동기화에 사용할 NTP 서버의 주소입니다. 대부분의 경우 NTP 서버는 인터넷에서 무료로 사용할 수 있습니다.

3. 크로니 실행

설정이 완료되면 Chrony를 실행해야 합니다. 다음 명령으로 Chrony를 시작합니다.

sudo systemctl start chronyd

시스템을 재부팅할 때마다 Chrony가 자동으로 실행되도록 하려면 다음 명령을 실행하십시오.

sudo systemctl enable chronyd

Chrony는 이제 시스템 시간 동기화를 처리합니다. 다음 명령을 사용하여 시간 동기화가 작동하는지 확인합니다.

chronyc tracking

위의 명령을 실행하면 NTP 서버에 시차와 같은 시간 정보가 표시됩니다. 이를 통해 Chrony가 시스템 시간을 제대로 동기화하고 있는지 확인할 수 있습니다.

4. Chrony 설정 추가

시간 동기화를 위한 NTP 서버가 여러 개인 경우 다음과 같이 설정을 추가할 수 있습니다.

# 서버 설정
server (NTP 서버1 주소) iburst
server (NTP 서버2 주소) iburst
server (NTP 서버3 주소) iburst

시스템이 로컬 네트워크에 있는 경우 로컬 네트워크 내에서 NTP 서버를 사용하는 것이 좋습니다. 다음과 같이 로컬 네트워크에 NTP 서버를 추가할 수 있습니다.

# 로컬 네트워크에 있는 NTP 서버 추가
server (로컬 NTP 서버 주소) iburst

5. 만성 시간 동기화 강제

Chrony가 시간 동기화를 하지 않는 경우 수동으로 시간 동기화를 강제할 수 있습니다. 다음 명령을 사용할 수 있습니다.

sudo chronyc -a makestep

위의 명령으로 시간 동기화가 즉시 수행됩니다. 그러나 이와 같이 시간을 변경하는 것은 시스템 안정성에 좋지 않습니다. 따라서 가능한 한 자동으로 시간을 동기화하도록 Chrony를 설정하는 것이 좋습니다.

6. Chrony 구성 파일을 다시 로드합니다.

Chrony 구성 파일을 수정한 경우 적용하려면 다음 명령으로 구성 파일을 다시 로드해야 합니다.

sudo systemctl restart chronyd

이제 Chrony가 다시 시작되면 새 설정이 적용됩니다.

위와 같이 Chrony를 설치하고 구성하는 방법을 배웠습니다. Chrony를 잘 사용하면 시스템의 시간을 효과적으로 동기화할 수 있습니다.


Chrony 설정 편집

시간 서버 추가

  • time.bora.net 추가
  • times.postech.ac.kr 추가
vim /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
server time.bora.net iburst
server times.postech.ac.kr 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

만성 재실행

$ systemctl restart chronyd
$ chronyc sourcestats -v
210 Number of sources = 2
                             .- 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
==============================================================================
time.bora.net               9   5   327     -0.836      7.884    -47us   448us
121.125.77.167              0   0     0     +0.000   2000.000     +0ns  4000ms
$ chronyc sources -v         
210 Number of sources = 2

  .-- 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               
===============================================================================
^* time.bora.net                 3   6   377    11    +99us(  +75us) +/-   33ms
^? 121.125.77.167                0   8     0     -     +0ns(   +0ns) +/-    0ns
$ chronyc -a makestep
200 OK
$ chronyc tracking  
Reference ID    : CBF8F08C (time.bora.net)
Stratum         : 4
Ref time (UTC)  : Mon Nov 16 12:45:16 2020
System time     : 0.081910394 seconds slow of NTP time
Last offset     : -0.000361153 seconds
RMS offset      : 0.000361153 seconds
Frequency       : 17.039 ppm slow
Residual freq   : -102.455 ppm
Skew            : 0.066 ppm
Root delay      : 0.025002619 seconds
Root dispersion : 0.016522199 seconds
Update interval : 1.9 seconds
Leap status     : Normal