12.3. chrony への移行
Red Hat Enterprise Linux 7 では、正確な時間管理を行う方法として、ntp または chrony を選択できます。ntp と chrony、ntpd と chronyd の違いについては、ntpd と chronyd の相違点 を参照してください。
Red Hat Enterprise Linux 8 以降、ntp はサポートされなくなりました。chrony は、デフォルトで有効になっています。このため、ntp から chrony への移行が必要になる場合があります。
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 だけをサポートしていました。現在は、ntpd と chronyd の両方をサポートします。これは、ntpstat パッケージで入手できます。
12.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 ディレクティブが多数含まれています。chronyd を NTP サーバーとして実行しない場合は、allow ディレクティブをすべて chrony.conf から削除します。