自由気ままに書いちゃおう

好きなことをつらつらと・・・

【RHEL8】【AWS】時刻同期について(chronyd , chronyc)

前回、前々回で時刻周りを記事にしている為、今回は時刻同期についてです。

www.guri2o1667.work

www.guri2o1667.work

 

■NTPについて

Network Time Protocol の頭文字です。
ネットワーク経由で正確な時刻を利用/提供する際に使用するプロトコルです。

■NTPを実装するためのサービスについて

RHEL5,6では、ntpdがNTPを実装するためのサービスでした。
RHEL7からchronydがNTPを実装するサービスとして登場しました。
RHEL8では、chronydの利用が推奨されています。※RHEL8からntpdがサポート対象外となっています。

■ntpdとchronydの同時起動について

同時起動不可です。
ただし、両方をOS上にインストールしておくことは可能です。

■ntpdとchronydの比較

以下の通りです。

f:id:guri2o1667:20210108142745p:plain

■AWSのEC2のchronyについて

EC2のRHEL8でchronyを利用しているので、これを基に解説します。
EC2の情報は以下の通りです。

f:id:guri2o1667:20210108143057p:plain

■chronyの各ファイルについて

chronyを設定する際に登場するファイルを確認します。
尚、NTPクライアント用途でもNTPサーバ用途でもchronyを利用できます。
※ntpと同じです。

■/usr/lib/systemd/system/chronyd.service

サービスユニットです。

f:id:guri2o1667:20210108143432p:plain

■/etc/sysconfig/chronyd

chronyd.serviceユニットのEnvironmentsに指定されているファイルです。
デフォルトでは何も設定されていません。
(OPTIONS変数は、chronyd.serviceのExecStartで使われています。)

f:id:guri2o1667:20210108143603p:plain

■/etc/chrony.conf

chronydのメイン設定ファイルです。

下記は、NTPクライアントとして動作させるための設定です。
※ コメント行を割愛したものです。
※ 169.254.169.123は「 Amazon Time Sync Service」です。

f:id:guri2o1667:20210108143922p:plain

各パラメータについてはRHELのサイトに説明があります。
また、man 5 chrony.conf で調べることもできます。

基本的なシステム設定の構成 Red Hat Enterprise Linux 8 | Red Hat Customer Portal

<補足:poolパラメータとserverパラメータについて>

2.rhel.pool.ntp.orgは、「NTPサーバが集まっているもの」と考えていただければと。
pool.ntp.orgという団体が運営しているNTPサーバのうちのひとつが2.rhelです。
serverパラメータを利用せず、poolで指定したサーバをNTPサーバとして利用する設定もあります。
サーバのため、複数のアドレスに解決されることが予想され、時間の経過とともに変更される可能性もあります。

また、前述の通り、poolとserverパラメータを併用するパターンもあります。
併用時には基本的にserverパラメータの方が優先されますが、接続状況により変動します。

serverパラメータの場合には、サーバ1台もしくは複数台を決め打ちで指定しますので、特定のNTPサーバと同期したい場合には、serverパラメータを使います。

poolパラメータもserverパラメータも、使えるオプションは(ほとんど)同じです。

<補足:driftfileパラメータについて>

補正情報ファイルです。
システムクロックの進み方のずれを記録しています。
システムクロックが再起動された時には、driftfileのファイルの内容でシステムクロックの補正を開始することができるようになっています。

<補足:rtcsyncパラメータについて>

システムクロックを定期的に RTC(=ハードウェアクロック) にコピーします。
コピーはカーネルによって 11 分ごと(11分モード)に実行されます。
※ chronyd がそのドリフトを追跡しようとしないモードを有効にします。
このディレクティブは rtcfile パラメータとは併用できません。

■chronycの使い方

chronydを操作するためのコマンドラインプログラムであるchronycについてです。

■sources

時刻同期状態が表示されます。

f:id:guri2o1667:20210108160028p:plain

■tracking

システムクロックのパフォーマンスを表示します。
※各項目の意味は、man 1 chronyc で確認できます。

f:id:guri2o1667:20210108160446p:plain

■activity

オンラインとオフラインのサーバーとピアの数をレポートします。

f:id:guri2o1667:20210108160837p:plain

■ntpdate

認識している全てのNTPサーバ、もしくは指定された NTP サーバに関する有効な情報やその他の NTP 固有の情報を表示します。
※ 169.254.169.123は「 Amazon Time Sync Service」です。

f:id:guri2o1667:20210108161202p:plain


以上です。