
最近、私が使用しているLinuxサーバー数台が想定外のタイムゾーンで動作しているという問題が発生しました。このタイムドリフトにより、一部のサービスが正常に動作しなくなっていました。特に、Docker Swarmクラスターのノードとして動作していた2台のサーバーが機能しなくなり、MariaDBデータベースのレプリケーションも失敗しました。この単純な問題を解決した後、サーバーの時刻にもっと注意を払うべきだと気づきました。
そこで、これを簡単にするツールを思い出しました。そのツールとはChronyです。サーバーとデスクトップの時刻を常に同期してくれます。
参照: 知っておくべきオープンソースと Linux の用語 40 選 (TechRepublic Premium)
LinuxにChronyをインストールしてみましょう。Ubuntu Server 22.04とRocky Linux 9の両方でデモを行います。
必要なもの
必要なのは、Linuxサーバーのインストールとsudo権限を持つユーザーだけです。これで準備完了です。さあ、時刻を同期させましょう。
タイムゾーンの設定方法
Chronyをインストールして使用する前に、タイムゾーンが正しく設定されていることを確認してください。タイムゾーンを設定する前に、正確な形式を知っておく必要があります。そのためには、次のコマンドを実行します。
timedatectl list-timezones
タイムゾーンのリストを確認し、お住まいの地域に適したタイムゾーンを見つけてください。タイムゾーンがわかったら、次のコマンドで設定してください。
sudo timedatectl set-timezone TIMEZONE
ここで、TIMEZONE はあなたの地域の正しいタイムゾーンです。
Chronyのインストール方法
次に、Chronyをインストールします。Ubuntu Server(またはDebian派生OS)の場合、インストールコマンドは以下のとおりです。
sudo apt-get install chrony -y
Rocky Linux または RHEL 派生版では、そのコマンドは次のようになります。
sudo dnf install chrony -y
次のコマンドで Chrony を起動して有効にします。
sudo systemctl enable --now chronyd
Chrony NTPサービスを有効にして時刻を確認する
最後に、Chrony NTP サービスを有効にして、サーバーの時刻を確認します。
次のコマンドで Chrony NTP を有効にします。
sudo timedatectl set-ntp yes
以下の方法でシステム上の時間データを表示できるようになりました。
timedatectl
出力 (図 A ) では、NTP サービスがアクティブであり、時刻とタイム ゾーンが正しいことがわかります。
図A

これで、Linuxサーバーの時刻を同期させる最も簡単な方法ができました。サービスやアプリが何の理由もなく動作しなくなるという問題が発生した場合は、時刻を確認してください。時刻の設定が間違っていたり、ずれたりしている場合は、Chronyがtimedatectl
いつでもお手伝いいたします。
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。