Red Hat Training

A Red Hat training course is available for RHEL 8

30.3. chrony への移行

Red Hat Enterprise Linux 7 では、正確な時間管理を行う方法として、ntp または chrony を選択できます。ntpchrony の相違点、ntpdchronyd の相違点は、「ntpd と chronyd の違い」を参照してください。

Red Hat Enterprise Linux 8 では、ntp に対応しなくなりました。chrony は、デフォルトで有効になっています。このため、ntp から chrony への移行が必要になる場合があります。

ntp から chrony への移行は、ほとんどの場合簡単です。プログラムの、設定ファイル、およびサービスに対応する名前は、次のとおりです。

表30.1 ntp から chrony へ移行する際に、プログラム、設定ファイル、サービスに対応する名前

ntp の名前chrony の名前

/etc/ntp.conf

/etc/chrony.conf

/etc/ntp/keys

/etc/chrony.keys

ntpd

chronyd

ntpq

chronyc

ntpd.service

chronyd.service

ntp-wait.service

chrony-wait.service

ntpdate ユーティリティーおよび sntp ユーティリティーは ntp ディストリビューションに含まれていますが、-q オプションまたは -t オプションを使用して chronyd に置き換えることができます。この設定は、/etc/chrony.conf を読み込まないようにコマンドラインで指定できます。たとえば、ntpdate ntp.example.com を実行する代わりに、以下のように chronyd を起動できます。

# chronyd -q 'server ntp.example.com iburst'
2018-05-18T12:37:43Z chronyd version 3.3 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG)
2018-05-18T12:37:43Z Initial frequency -2.630 ppm
2018-05-18T12:37:48Z System clock wrong by 0.003159 seconds (step)
2018-05-18T12:37:48Z chronyd exiting

ntpstat ユーティリティーは、ntp パッケージに含まれていましたが、ntpd だけをサポートしていました。現在は、ntpdchronyd の両方をサポートします。これは、ntpstat パッケージで入手できます。

30.3.1. 移行スクリプト

chrony パッケージのドキュメント (/usr/share/doc/chrony) には、ntp2chrony.py という名前の Python スクリプトがあります。このスクリプトは、既存の ntp 設定を chrony に自動的に変換します。ntp.conf ファイルで最も一般的なディレクティブおよびオプションがサポートされます。変換で無視されている行はすべて、確認のために、生成された chrony.conf ファイルにコメントとして追加されます。ntp 鍵ファイルに指定し、ntp.conf で信頼される鍵としてマークされていない鍵は、生成された chrony.keys ファイルにコメントとして追加されます。

デフォルトでは、スクリプトはいずれのファイルも上書きしません。/etc/chrony.conf または /etc/chrony.keys が存在する場合は、-b オプションを使用してファイルの名前を変更すれば、バックアップとして使用できます。このスクリプトはその他のオプションもサポートします。--help オプションを使用すると、サポートされるすべてのオプションが表示されます。

ntp パッケージで提供されるデフォルトの ntp.conf を使用したスクリプトの呼び出し例は以下のようになります。

# python3 /usr/share/doc/chrony/ntp2chrony.py -b -v
Reading /etc/ntp.conf
Reading /etc/ntp/crypto/pw
Reading /etc/ntp/keys
Writing /etc/chrony.conf
Writing /etc/chrony.keys

この場合に無視される唯一のディレクティブは disable monitor です。これは、noclientlog ディレクティブで chrony に相当するものがありますが、アンプ攻撃を軽減するためだけに、デフォルトの ntp.conf に含まれていました。

生成した chrony.conf ファイルには、通常、ntp.conf の制御行に対応する allow ディレクティブが多数含まれています。chronydNTP サーバーとして実行しない場合は、allow ディレクティブをすべて chrony.conf から削除します。