SSブログ

chronyでのNTPサーバーの構築 [CentOS]

CentOS 7.3 上で NTP サーバーの構築を行った。
ntpd を使用することも可能であるが、今回は chrony を使用した。
最低限必要な手順は、以下の通りである。

1. ファイアウォールの設定確認


下記の通信が許可されていることを確認する。

・上位 NTP サーバーの 123/udp ポートへのアクセス
・NTP クライアントからの 123/udp ポートへのアクセス


2. /etc/chrony.conf の編集


(1) 上位 NTP サーバーの指定

server <ntp-server-1> iburst
...


iburst: 起動時に短い間隔で問い合わせ、初回の同期に要する時間を短縮する。


(2) 時刻同期を許可する NTP クライアントの指定

(例)
allow 192.168.0.0/24


デフォルト値: 全ノード拒否


3. chronyd の再起動
# systemctl restart chronyd

4. 備考


(1) 時刻同期の状況確認

# chronyc [-n] sources


・-n: 逆引きの名前解決を行わない(IP アドレスで表示する)。
・実行結果の S 欄が * の NTP サーバーと時刻同期を行っている。


(2) 上位 NTP サーバーと時刻同期できない場合の発生事象


NTP クライアントが NTP サーバーと時刻同期できない(ntpd の場合と同様)。
よって、通常は 上位 NTP サーバーを複数指定する。


5. 追記


(1) ローカルタイムの使用

local stratum 10


上位 NTP サーバーとの同期ができない場合に、ローカルタイム(RTC) を使用する。
・ローカルタイムを使用して、クライアントへ時刻情報を提供する。


(2) うるう秒への対策

leapsecmode slew  … (注1)
maxslewrate 1000  … (注2)
smoothtime 400 0.001 leaponly  … (注3)


・うるう秒の発生時に、CPU が高負荷状態となること等への対策である。
・chrony の推奨する設定である(詳細は当該ドキュメントを参照)。

(注1) うるう秒対策での同期モード
(注2) slew モードの調整速度の上限
(注3) 該当時の時刻調整の平滑化


(3) RTC(Real Time Clock: ハードウェアクロック) の同期

rtcsync


・システムクロックを RTC にコピーする(11 分毎に実施)。
・KVM 上のゲスト OS の場合には、うまく機能しない。


(4) command key の自動生成

generatecommandkey


・chronyc の認証で使用する command key を自動生成する。
・自動生成された場合、'chronyc -a' で認証可能である。


(5) 起動時の step モードでの同期

makestep 10 3


下記の両条件を満たす場合、起動時に step モードでの時刻同期を実施する。
・時刻のズレが第 1 引数の値(秒)以上である。
・時刻同期の試行回数が、第 2 引数で指定した値以下である。
(この設定がない場合には、slew モードのみで時刻同期するようである。)

(補足)
システムのブート時に、RTC のシステムクロックへのコピーが実施される。
システムクロック、RTC は、下記のコマンドで確認可能である。
・timedatectl



nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。