常に正確な時刻となるようにChronyを設定します。
(Ubuntu Server 22.04 LTS、24.04 LTSで動作確認済み)
設定手順
- Chronyをインストールする。
sudo apt update
sudo apt install chrony
- Chronyの設定ファイルを開く。
sudo nano /etc/chrony/chrony.conf
- 既存のプールに#をつけて無効化し、日本のサーバーを追加する。
pool ntp.nict.jp iburst maxsources 3 minpoll 4 maxpoll 6 polltarget 16
server ntp1.jst.mfeed.ad.jp iburst minpoll 4 maxpoll 6 polltarget 16
server ntp2.jst.mfeed.ad.jp iburst minpoll 4 maxpoll 6 polltarget 16
server ntp3.jst.mfeed.ad.jp iburst minpoll 4 maxpoll 6 polltarget 16
server 0.jp.pool.ntp.org iburst minpoll 4 maxpoll 6 polltarget 16
server 1.jp.pool.ntp.org iburst minpoll 4 maxpoll 6 polltarget 16
server 2.jp.pool.ntp.org iburst minpoll 4 maxpoll 6 polltarget 16
server 3.jp.pool.ntp.org iburst minpoll 4 maxpoll 6 polltarget 16
- Ctrl + O でファイルの変更内容を保存し、Ctrl + X で編集画面を閉じる。
- Chronyを再起動し、サーバー起動時に自動的に起動されるようにする。
sudo systemctl restart chrony
sudo systemctl enable chrony
- ファイアーウォールにntpを追加する。
sudo ufw allow ntp
- Chronyが正常に動いていることを確認する。
ざっくり記号の意味を説明すると、*
が現在同期しているソース、+
が同期候補となるソース、-
は同期候補から外れているソース、?
は接続できていないソース。
時差の単位は1秒 = 1,000 ms (ミリ) = 1,000,000 us (マイクロ) = 1,000,000,000 ns (ナノ)。
chronyc sources
※ 自分はAMDのCPUを使用していて、CPUのC6ステートを無効化しなければUbuntu 22.04までは時間の同期が安定しませんでした。24.04は特に何もせずに安定してます。