Last Updated on 2016年4月18日 by かんりにん
DBサーバの時間同期の修正にあたって、どのくらいゆっくり修正できるのか調べたら、もともと”Slewモード”という”ゆっくり修正オプション(?)”があったので備忘録としてメモ。
オプションは、linuxサーバで”man ntpd”しても詳細が表示される。
- Stepモード
時刻を一気に修正 - Slewモード
1秒間に0.0005秒ずつ修正
データベースやログホストなど、一気に変更すると不具合のでるホストはSlewモードを使用するのが推奨。
ただし上記の計算で行くと、24時間で43秒しか補正されない。
むしろ『43秒以上ズレたまま運用してるのか!?』とツッコミの予感が~w あるんです、時々(泣)もちろんDBAもいないしw
それはさておき、時間同期のずれは、遅れている状態を戻す分にはさほど問題にならないが、進んでしまっている状態を戻すのは少々大変。
その場合はSlewモードでの地道な時間戻しが現実的な解答といえそう。
参考:SlewモードでのNTPDの実行例
オプション”-x”でslewモードでの実行が可能。
# /usr/sbin/ntpd -c /etc/ntp/ntp.conf -x &
redhatなどではinitスクリプトでは、当然”-x”オプションは無いので、slewモードで実行したい場合はコマンドラインからデーモンとして実行する。
またはntpdのinitスクリプトはただのシェルスクリプトなので、ささっとカスタマイズしても可。
ひとまずこれで2日かけて時間同期をしましたw (つまり90秒近く遅れていた、と(汗))