質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.38%

  • Linux

    4621questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    3260questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Vagrant

    1436questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

chronyの自動同期について

解決済

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 62

Yuuki2918

score 5

前提・実現したいこと

macOSの中にvagrantとvirtual boxを使い、Centos7で仮想環境を1から作っています。
githubにpushした際に時刻がずれていることに気づき、chronyを使い時刻の同期を試みているのですが、うまくいきません。
具体的には、vagrant sshでログインした時、sudo systemctl restart chronydとchronyを再起動した際などは同期が有効(NTP synchronized: yes)になっているのですが、macbookを閉じて、再度ログイン画面からmacにログイン、仮想環境の時刻をターミナルで確認をすると、スリープに入った時点から時刻の経過がとまっており、同期もしばらくするとNTP synchronized: noになります。

chronyの同期を、macのスリープから復帰後も維持するにはどうすればいいか教えていだたきたいです。

chrony.confは以下のようになっています。

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
server 3.jp.pool.ntp.org iburst


# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3

# Enable kernel synchronization of the real-time clock (RTC).
rtcsync

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2

# Allow NTP client access from local network.
#allow 192.168.0.0/16

# Serve time even if not synchronized to a time source.
#local stratum 10

# Specify file containing keys for NTP authentication.
#keyfile /etc/chrony.keys

# Specify directory for log files.
logdir /var/log/chrony

# Select which information is logged.
#log measurements statistics tracking

試したこと

qiita 時刻同期chronyの導入
など、複数の記事を読んでも同じような状態を見つけられませんでした。
そもそも、スリープから復帰時は手作業、もしくは自動化して毎回chronyを再起動しないといけないのでしょうか?
上記の記事にあったこちらのコマンド
sudo systemctl enable chronyd(chrony自動起動設定)
は打ち込んであります。

スリープから復帰時の状態

$ timedatectl
      Local time:  2019-07-12 20:44:21 JST
  Universal time:  2019-07-12 11:44:21 UTC
        RTC time:  2019-07-12 11:44:20
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes ←しばらくするとnoになります。
 RTC in local TZ: no
      DST active: n/a
$ chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^- ntp.kiba.net                  2   6    77    67    -34us[+2750us] +/-   55ms
^? y.ns.gin.ntt.net              2   6   177     2   -1059s[ -1059s] +/-  111ms
^~ ntp.paina.net                 2   6   175     1   -1059s[ -1059s] +/-   62ms
^? ntp-a2.nict.go.jp             1   6   177     1   -1059s[ -1059s] +/- 6561us


↑少したって確認すると、どれかのサーバーには*マークがつくので同期はしていると思われます。

再起動時

$ timedatectl
      Local time:  2019-07-12 21:34:09 JST
  Universal time:  2019-07-12 12:34:09 UTC
        RTC time:  2019-07-12 12:16:29
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
$ chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^- x.ns.gin.ntt.net              2   6   377    18   +127us[ +127us] +/-   73ms
^- ec2-13-230-38-136.ap-nor>     2   6   377    22   -303us[ -303us] +/-   36ms
^- kuroa.me                      2   6   377    19   +392us[ +392us] +/-   41ms
^* ntp-b2.nict.go.jp             1   6   377    23   -376us[ -568us] +/- 6932us

補足情報(FW/ツールのバージョンなど)

mac 10.14.5
CentOS Linux release 7.6.1810 (Core) 
vagrant 

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

0

自分で調べるうちに解決しました。
システムのステータスなど、動作自体を確認する癖がまだついておりませんでした。質問後に確認した所

$sudo systemctl status chronyd -l
713 17:10:32 localhost.localdomain chronyd[3954]: System clock wrong by 269.240688 seconds, adjustment started

という風にきちんと時刻のずれを確認して、調整していました。
調整方法がslewモードなので、ずれが修正されていることに気がつきませんでいた。
ためしに3分程度スリープモードにして確認した際に、本当にゆっくりですが時刻が調整されていました。

その後、海外のフォーラムなどでchrony.conf内のstepモードの設定部分を、makestep 1 -1にすることでntpサーバーへ再度接続する際にもstepモードで時刻同期ができるようになりました。
これでスリープからの復帰時にもstepモードで時刻が同期されるようになりました。

$sudo systemctl status chronyd -l
 713 18:46:55 localhost.localdomain chronyd[4155]: Selected source 202.181.103.212
 713 18:46:55 localhost.localdomain chronyd[4155]: System clock wrong by 9647.522797 seconds, adjustment started
 713 21:27:43 localhost.localdomain chronyd[4155]: System clock was stepped by 9647.522782 seconds

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.38%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Linux

    4621questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    3260questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Vagrant

    1436questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。