概要
Chronyとは、NTP(Network Time Protocol)クライアント、NTPサーバーであり、NTPからわかる通り、時間同期を行うもので、Chrony以外にはntpdateなどが存在する。今回は時刻同期をChronyを用いて行っていきます。
インストール
CentOSでは、標準パッケージに同梱されているのですが、もしインストールされていない場合は次のコマンドを実行します。CentOS7
# yum install chrony
CentOs8
# dnf install chrony
これでインストールができます。
設定
まず、設定をいつでも元に戻せるように設定ファイルのバックアップを作成します。デフォルトの設定ファイルの場所は/etc/chrony.confです# cp -a /etc/chrony.conf /etc/chrony.conf.back
.backでも.originalでもバックアップと分かればなんでも良いです。
では、実際に設定を行っていきます。
# vi /etc/chrony.conf
まず、どこと時刻同期させるかを設定します。
3行目あたりにある下記の行を変更することで、時刻同期をさせる場所を変更できます。
pool 2.rhel.pool.ntp.org iburst
たとえばこれをゲートウェイサーバーに設定したりするのもアリです。ただ、特にNTPサーバーになったりする気がなければそのままで問題は無いです。
ここで、末尾にiburstとついていますが、これは起動時は短い時間に4回連続NTPサーバへ問い合わせに行き、時刻を合わせるためにサンプルを多くとりに行くように指定しています。
iburstの他にも preferやtrustといったオプションがあるようです。
意味合いとしては複数の同期サーバーを設定した際に、どれを優先的に見に行くか、絶対参照をするか、などのオプションになるみたいです。
自分のサーバーをNTpサーバーとして設定した方は、下記の設定も行いましょう。
22行目あたりにあるこの行で、自分のサーバーを指定して許可しましょう。
# allow 192.168.0.0/16
以上で設定ファイルの編集は終わりです。
一度Chronyを再起動して、設定を反映させましょう
systemctl restart chronyd.service
さて、これだけで勝手に時刻同期はされていくようにはなるのですが、大幅にずれていた場合、徐々に徐々に同期がされていくため、一発でほぼほぼ合わせてしまいましょう。
下記のコマンドで強制同期を行います。
# chronyc makestep
同期されたかどうか、どれぐらいズレているか、どこのサーバーに確認しに行ってるかは下記の二つのコマンドで確認できます。
# chronyc tracking
# chronyc sources
総括
意外とcronの実行時間だったり、時刻ズレは気になるもので、正しい時刻に実行できることの大切さは後々からわかります。時間がずれているのに違和感を感じて、この際にChronyで修正してしまってはいかがでしょう。