RHEL7時代からLinux上の時刻同期(ntp)は、ntpdからchronydが標準となりました。ntpd、chronyd、うるう秒の詳細に関しては、以下のマニュアルをご参照ください。
RHELオフィシャル:第18章 CHRONY スイートを使用した NTP 設定
RHLEオフィシャル:Red Hat Enterprise Linux で「うるう秒」問題を解決する
簡単にchronyのデフォルトの挙動であるstep ⇒ slew、うるう秒対策の設定についてまとめておきます。
デフォルトconfに時刻同期先だけ設定して動作確認
RedHatのchrony.confに、時刻同期先サーバを指定し有効にしてみる。修正箇所は★の1か所だけ。
# vi chrony.conf //以下、confを一部修正、国内の信頼できる時刻同期サーバへ向ける # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). #pool 2.rhel.pool.ntp.org iburst server ntp.nict.jp iburst ★nictやmfeedを指定 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 # Get TAI-UTC offset and leap seconds from the system tz database. leapsectz right/UTC # Specify directory for log files. logdir /var/log/chrony # Select which information is logged. #log measurements statistics tracking
設定を反映し、同期できているか確認
// ntpサービスを自動起動にする # systemctl enalbe chronyd.service // chronydサービスを起動する # systemctl start chronyd.service // 同期できているか確認 *アスタリスクが付与されていると同期されている # chronyc sources MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* ntp-b2.nict.go.jp 1 6 377 35 -54us[ -74us] +/- 2787us
stepモード解除、slewモード有効、うるう秒対策
confの修正は、★の2か所のみ。
chronydは標準でslewで動作しているが、うるう秒が挿入された際の挙動を指定できる。デフォルト(標準)は「none」で無視ではあるが、他の機器などは明示的にslewにしていることが多いため合わせておく。
# vi chrony.conf // 2か所修正 # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). #pool 2.rhel.pool.ntp.org iburst server ntp.nict.jp 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 ★起動時の話。コメントアウトすれば上限の1分を超えた時、stepモードを解除し、slewモード補正。有効の場合、1分超えていればstep、1分以内のずれであればslewモード補正 leapsecmode slew ★chronyd がうるう秒が挿入された際に、徐々に調整することでシステム時計を修正。 # 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 # Get TAI-UTC offset and leap seconds from the system tz database. leapsectz right/UTC # Specify directory for log files. logdir /var/log/chrony # Select which information is logged. #log measurements statistics tracking
設定を反映し、同期できているか確認
// ntpサービスを自動起動にする # systemctl enalbe chronyd.service // chronydサービスを起動する # systemctl start chronyd.service // 同期できている確認 *アスタリスクが付与されていると同期されている # chronyc sources MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* ntp-b2.nict.go.jp 1 6 17 19 -63us[ -253us] +/- 1907us