(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Linux/CentOS】timedatectlを用いたNTPによる時刻同期方法

スポンサーリンク

はじめに

CentOS7のNTPによる時刻同期ができていない環境にて、NTPによる時刻同期を行う流れについて記載しました。
尚、時刻同期ができている状態とはtimedatectlコマンドの結果が以下という状態を指しています。

# timedatectl
...
NTP enabled: yes
NTP synchronized: yes
環境情報
  • CentOS Linux 7.7
  • ntp.x86_64 0:4.2.6p5-29.el7.centos.2

NTP enabled

時刻同期ができていないデフォルトの状態は以下となっています。

# timedatectl
...
NTP enabled: n/a
NTP synchronized: no

そのような環境では以下でNTPデーモンが有効化できますが

# timedatectl set-ntp true

モジュールがインストールされていない場合は以下のエラーとなるので

Failed to set ntp: NTP not supported.

先にインストールを行います。

# yum install ntp
...
Installed:
  ntp.x86_64 0:4.2.6p5-29.el7.centos.2

これができると以下のような状態に遷移しました。

# timedatectl
...
NTP enabled: yes
NTP synchronized: no

NTP synchronized

ここまでの作業でNTPデーモンが起動されているので

# systemctl status ntpd
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
   Active: active (running) ...

以下の設定ファイルに対してNTPサーバを追加した上でデーモンの再起動を行います。

/etc/ntp.conf

それによって以下コマンドでNTPサーバとの接続状態となり

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
=============================================================================
*X.X.X.X      X.X.X.X     2 u   63   64  377    1.588   39.193  12.894

時刻同期が完了すると以下となり同期が完了します。

# timedatectl
...
NTP enabled: yes
NTP synchronized: yes

終わりに

LinuxではNTPの関連サービスが多々あるので(systemd-timesyncd等)ややこしいですが、CentOSではtimedatectlで完結します。

以上、ご参考になれば幸いです。