Armadilloフォーラム

NTPサーバー同期間隔(chrony)

k.sato

2024年4月16日 9時55分

佐藤です。

お世話になっております。

現在、REST APIを使用してNTPサーバーの設定をしています。(・NTP の設定 POST "/api/time/ntp_config")

>ntpサーバーとの同期方法
>https://armadillo.atmark-techno.com/forum/armadillo/18397
>通常の場合は少しずれることぐらいで、対象から外されることがないので、armadillo の時間が「飛ぶ」ことなく、細かいずれは常に直されます。今の設定でそれがすでにできてます(デフォルトは最大512秒毎にサーバーに時間を確認します)。

過去のフォーラムの上記とあったのですが、
最大512秒毎にNTPサーバーにポーリングされていて自動でArmadilloの時刻を修正してくれるという認識でよいのでしょうか?

armadilloというよりchronyの質問になってしまい申し訳ございません。

以上、よろしくお願い致します。

コメント

at_akihito.irie

2024年4月16日 14時20分

入江です。

> 最大512秒毎にNTPサーバーにポーリングされていて自動でArmadilloの時刻を修正してくれるという認識でよいのでしょうか?

はい。
ご認識のとおりですが、デフォルトの最大ポーリング時間は512秒ではなく1024秒でしたので、
この点だけ訂正させてください。

齊藤と申します。横から口を挟んで済みません
細かい話ですが、

NTPサーバーにポーリングされていて

NTPサーバーをポーリングしてていて

ですよね?

at_akihito.irie

2024年4月17日 15時46分

入江です。

> NTPサーバーにポーリングされていて
> ↓
> NTPサーバーをポーリングしてていて

はい、おっしゃるとおりです。
NTPクライアント(Armadillo上のchrony)が定期的にNTPサーバにアクセスしに行きます。

佐藤です。

入江様
>> 最大512秒毎にNTPサーバーにポーリングされていて自動でArmadilloの時刻を修正してくれるという認識でよいのでしょうか?
> はい。
> ご認識のとおりですが、デフォルトの最大ポーリング時間は512秒ではなく1024秒でしたので、
> この点だけ訂正させてください。
承知いたしました。
ありがとうございます。

齊藤様
> NTPサーバーにポーリングされていて
> ↓
> NTPサーバーをポーリングしてていて
> ですよね?
すみません。
自動的にchronyがやってくれるという感覚で、されると表現してしまいました。

ありがとうございました。

佐藤です。

続けてすみません。

Alpineのコンテナ内から任意のタイミングで時刻同期させる方法がありましたら教えていただけませんか?

以上、よろしくお願い致します。

at_akihito.irie

2024年4月18日 18時59分

入江です。

> Alpineのコンテナ内から任意のタイミングで時刻同期させる方法がありましたら教えていただけませんか?

コンテナ内から ABOS Web の REST API を用いて NTP サーバの設定を行うと、自動的にchronyサービスが再起動し、
その際に時刻が同期処理が実行されるはずです。

以下は設定例です。
ポイントとしては、initstepslewにもお客様のサーバを指定することで、chronyサービスの起動時にサーバと
Armadillo間で時間が大きく(下記の例では5秒以上)ずれていたら即時で同期するようになります。

curl -k -H "$PATH" https://armadillo.local:58080/api/time/ntp_config -X POST -d "servers=sever NTPサーバのIPアドレス iburst" -d "initstepslew=5 NTPサーバのIPアドレス"

initstepslewをはじめとしたchronyについての詳細は、英語ではありますが、以下のリンクをご参照ください。
https://chrony-project.org/doc/4.5/chrony.conf.html

上記コマンドを何度実行しても(設定内容自体を変更しなくても)都度chronyサービスは再起動されるので、
そのたびに時刻同期が行われます。

入江様

佐藤です。

> コンテナ内から ABOS Web の REST API を用いて NTP サーバの設定を行うと、自動的にchronyサービスが再起動し、
> その際に時刻が同期処理が実行されるはずです。
>
> 以下は設定例です。
> ポイントとしては、initstepslewにもお客様のサーバを指定することで、chronyサービスの起動時にサーバと
> Armadillo間で時間が大きく(下記の例では5秒以上)ずれていたら即時で同期するようになります。

> curl -k -H "$PATH" https://armadillo.local:58080/api/time/ntp_config -X POST -d "servers=sever NTPサーバのIPアドレス iburst" -d "initstepslew=5 NTPサーバのIPアドレス"

設定例まで詳しくありがとうございます。
> initstepslew=5
この設定は知らなかったので助かりました。

> 上記コマンドを何度実行しても(設定内容自体を変更しなくても)都度chronyサービスは再起動されるので、
> そのたびに時刻同期が行われます。
承知しました。

ありがとうございました。