見出し画像

【Linux】 NTPとChronyの設定

NTP

Network Time Protocol の略で 時刻を同期 するために使われるサーバー。常に自分より正確で信頼できる上位NTPサーバーを参照することで、時刻の正確さを担保しており、参照のつながりは階層構造となり、各層のことを Stratum と呼び、0~16の数字で表される。

Chrony

CentOSに標準でインストールされているNTPサーバー。

基本的には、LAN内にNTPサーバを立て外部のNTPサーバとの同期は同サーバが行い、その他のサーバはLAN内のNTPサーバから時刻を同期するようにして、インターネットへのトラフィックを削減する。


NTPサーバの構築

インストール

# yum install chrony


ファイルの編集

/etc/chrony.confの編集

# /etc/chrony.conf

----------------------------------------------------

# 下記は初期設定。不要な場合はコメントアウトする。
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

# 新しい同期先NTPサーバを指定する場合。
server <NTPサーバのFQDNまたはIPアドレス> iburst

# これは追加しておいてもいい
server ntp.nict.jp iburst  #日本標準時に直結したNTPサーバー
server ntp.jst.mfeed.ad.jp iburst  #一般向けのNTPサービスとしてのNTPサーバー


# ローカルネットワークからの通信の許可(任意のアドレスまたはFQDN)
 allow 192.168.0.0/16

# 上位NTPサーバーを参照していなくても、時刻同期を行えるように設定(#を外すだけでOK)
 local stratum 10


サービスの起動

# systemctl start chronyd
# systemctl enable chronyd


時刻同期の確認

# chronyc sources

先頭のM列はソースの種別を示す。
 ^:リモートNTPサーバ
 =:NTPピア
 #:ローカルソース

2列目のS列はソースとの時刻同期状態を示す。
 *:ソースとして時刻同期しているNTPサーバ
 +:選択されたソースと結合される受け入れ可能なソース
 –:受け入れ可能なソースで結合アルゴリズムに除外されたもの
 ?:接続が切断されたソース、またはパケットがすべてのテストをパスしないソース
 x:その時間が他の大半のソースと一致しない
 ~:時間の変動性が大きすぎるように見えるソース


chronyc tracking
システムのクロックパフォーマンスに関するパラメータを表示

 #chronyc  tracking
参考


作業ログ



クライアント側の設定

インストール

# yum install chrony


ファイルの編集

/etc/chrony.confの編集

# /etc/chrony.conf

----------------------------------------------------

# 下記は初期設定。不要な場合はコメントアウトする。
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

# ネットワーク内のNTPサーバのIPアドレスを指定する
server 192.168.1.1 iburst


サービスの起動

# systemctl start chronyd
# systemctl enable chronyd


時刻同期の確認

# chronyc sources
# 設定したサーバと通信が取れている表示になっていればOK。*がついていること。


時刻調整の設定

iburst

NTPサーバに対して、起動直後に短い間隔で4回問い合わせをする。起動直後に4度問い合わせをすることによって妥当性判断が早く済み、結果として起動から時刻同期が行われるまでの時間が短くなる。


ハードウェアクロック、システムクロック

ハードウェアクロック:コンピュータがマザーボード上に保持する時刻
システムクロック:OSカーネルは起動時に、高精度のソフトウェアクロックを生成

ntpdはシステムクロックを問い合わせたNTPサーバの時刻に同期するが、ハードウェアクロックは同期しない。
cronで定期的にシステムクロックの時刻をハードウェアクロックに書き出すhwclock -wを実行させるのが一般的であった。

また、chronyでは設定ファイルにrtcsyncと書いておけばシステムクロックを11分置きにハードウェアクロックに書き出してくれる。

上記は、使用するシステムによって起動しないこともあるので、両方とも使えるようにしておくと良い。


makestep 1.0 3

chrony が起動してから 1.0 秒以上のずれが 3回続いた場合に step モードで同期する。


この記事が参加している募集

#この経験に学べ

54,275件

よろしければサポートお願いします!よりいい情報を発信します。