18.16. ntpdate サーバーの設定

ntpdate サービスの目的は、システム起動時にクロックを設定することです。このサービスはこれまで、ntpdate が正確な時間を確保して、クロックでジャンプが生じないようにしてからサービスが開始するために使われていました。ntpdate および step-tickers リストの使用は非推奨とみなされているため、Red Hat Enterprise Linux 7 では -g オプションを付けた ntpd コマンドをデフォルトで使用し、ntpdate は使用しません。
Red Hat Enterprise Linux 7 の ntpdate サービスが役に立つのは、ntpd を使わずに単独で使用する場合のみです。サービスを並行して起動する systemd では、ntpdate サービスが提供する time-sync.target への並び順依存関係を指定しない限り、ntpdate サービスを有効にしても正確な時間を確保した後に他のサービスが起動することはありません。あるサービスが正確な時間を伴って起動されるようにするには、そのサービスに After=time-sync.target を追加し、ターゲット (ntpdate または sntp) を提供するサービスの 1 つを有効にします。Red Hat Enterprise Linux 7 上のサービスには、デフォルトでこの依存関係が含まれているものもあります (たとえば、dhcpddhcpd6、および crond)。
ntpdate がシステム起動時に実行されるようになっていることを確認するには、以下のコマンドを発行します。
~]$ systemctl status ntpdate
システム起動時にサービスが実行するようにするには、root で以下のコマンドを発行します。
~]# systemctl enable ntpdate
Red Hat Enterprise Linux 7 では、デフォルトの /etc/ntp/step-tickers ファイルに 0.rhel.pool.ntp.org が含まれています。追加の ntpdate サーバーを設定するには、テキストエディターを root で実行し、/etc/ntp/step-tickers を編集します。ntpdate は、システム起動時に日付情報を取得するためにこのファイルを 1 回使用するだけなので、記載されているサーバー数は重要ではありません。内部のタイムサーバーがある場合は、そのホスト名を 1 行目に使います。2 行目に追加のホストをバックアップとしておくのがよいでしょう。バックアップサーバーにどれを選ぶか、また 2 番目のホストを内部または外部とするかは、リスク評価によります。たとえば、1 番目のサーバーに影響する問題が 2 番目のサーバーにも影響する可能性はどの程度か。1 番目のサーバーにアクセスできなくなるネットワーク障害時に、より接続性が高いのは外部サーバーかそれとも内部サーバーか、といった点を考慮します。