linux - timedatectl을 이동한 ntp서버 시간동기화

시간 및 상태 확인

$ timedatectl
                      Local time: 수 2023-05-10 18:26:43 KST
                  Universal time: 수 2023-05-10 09:26:43 UTC
                        RTC time: 수 2023-05-10 09:26:43
                       Time zone: Asia/Seoul (KST, +0900)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Timezone 변경

timedatectl set-timezone 'Asia/Seoul'


Timezone list 확인

timedatectl list-timezones


시간 수동 설정

timedatectl set-time '2023-03-08 09:34:40'


systemd-timesyncd.service vs NTP service

  • 시간 동기화하는데는 두가지 서비스가 있다 : systemd-timesyncd 와 ntp
    • Ubuntu 20.04는 systemd-timesyncd, CentOS 7.7은 ntp가 설치되어있다.
  • 둘 모두 동시에 사용할 수는 없다.
    • systemd-timesyncd 가 사용되고 있는데 ntp를 설치하면 systemd-timesyncd는 죽으면서 mask 된다.
  • timedatectl 명령어 결과를 보면 어느 서비스가 시간 동기화에 사용되고 있는지 알 수있다.
    • ntp 사용중인 경우 : NTP service: active
    • systemd-timesyncd 사용중인 경우 : systemd-timesyncd.service active: yes
    • systemctl is-enabled 서비스이름 으로 enable 상태인지 확인가능

RTC in local TZ

  • RTC는 하드웨어 시간을 가리킨다.
  • yes이면 time zone에 따라 시간을 계산한다
  • 동기화와는 관계없다.

시간 동기화

  • ntp 또는 systemd-timesyncd 서비스가 enable 되어 있으면 시간 동기화를 부팅떄 마다 시도한다
  • 동기화가 되지 않은 상태에서 서비스를 시작하면 동기화 되기 까지 몇초에서 몇분 정도 소요된다.
    • 동기화가 완료되면 timedatectl 결과 아래 내용이 yes이다
      • System clock synchronized: yes
  • ntp 서비스를 사용하는 경우 ntpq -p 명령어로 동기화 상태를 확인할 수 있다. - 명령어 결과 첫줄 앞에 *가 있으면 동기화 된 상태이다

동기화 방법

  • 아래 명령어로 ntp 또는 system-timesyncd 서비스를 실행과 동시에 enable 처리한다.
  • true 대신 false 를 입력하면 서비스를 쓰고 동기화를 종료한다.
timedatectl set-ntp true
  • 서비스에 따라 timedatectl 결과 내용이 다르다.

systemd-timesyncd 사용중인 경우

systemd-timesyncd.service active: yes

ntp 사용중인 경우

NTP service: active

NTP 서버 설정

  • 서비스별 각 설정 파일에서 NTP 서버를 직접 입력할수 있다. systemd-timesyncd 서비스 설정파일
/etc/systemd/timesyncd.conf

ntp 서비스 설정파일

/etc/ntp.conf

댓글 쓰기

0 댓글