心地よいライフハック

これ便利だな〜と思ったことを書き溜めていければと思います。

Chrony で 自動 強制 時刻 同期 設定  for 仮想OS VM ( CentOS7 )

chrony の一部設定において 日本語 サイト では 以下対策の情報が とてもヒットしづらかったので 書き起こします。

 

https://chrony.tuxfamily.org 

f:id:asuki_y:20180908120247p:plain

 

自身は 仮想OS を扱いますが、その仮想OS は、夜中の間、仮想サスペンド状態 になります。
 
そして、朝 特定の時間になると、 サスペンド から復帰した時に、時刻が 夜中のまま盛大に毎回ずれるという仕様です。( QNAP Virtulization Station の VM - CentOS7 上で )
 
そのとき、どうやって chrony の設定ファイルを使って 毎朝 強制時刻同期させるか? というテーマです。

 

f:id:asuki_y:20180421214033p:plain

 


 

[ 結論 ]

 
/etc/chrony.conf  の makestep 指定において、最後の引数を -1 に する。
 
例) 10秒以上 ずれてたら 毎回 stepモードで 強制的に時間を設定する。
 
makestep 10 -1

 


 
通常 makestep は、このような設定などが 例としてあげられています。
リアルマシン向け にも妥当な設定かと思います。

 


 
makestep 3 
 
1秒以上の 時刻ズレ があったら、3回まで ntpサーバーに同期する " 設定です。

 


 

 

しかし、 回数 無制限 の指定はどうするのか、わからなかった。
 
アシタリスク * を使ってもNGだったし🤔むむむ
 
「 回数指定を -1  にするんだよ 」
 
あ、なるほどね。。

 


 
こちら を参照しました。
 
参考1  
" 3.3. Is chronyd allowed to step the system clock?  "  の段落
 
参考2
" makestep "  の 段落
 (マイナス値を使うと、制限を無効にできます)。