リンクバル技術部の川畑です。今年も残すことあと2週間となりました。良い年か迎えられるよう、サーバーリソースやログに異常がないかなど確認したり、監視設定を見直しなどに日々追われております。そして来年早々にうるう秒が「2017/1/1 0:00:00(UTC)」に挿入されるので、その対応についてまとめさせて頂きます。
目次
うるう秒とは
- 時間というのは1日に1から3ミリ秒ぐらいずれる
- ±0.9秒ぐらい誤差がでると時間調整のために世界一斉に1秒挿入する
- 調整実施日は誤差がでている場合、6月末と12月末に実施する
サーバーのうるう秒対応
リンクバルではほとんどのサーバでntpdで上位NTPサーバと時間同期をしております。この場合の対策として大きく分けて2つ考えられます。
- うるう秒挿入前に、ntpdをslewモードで起動する
- ntpdを停止する
2.の方法は年末年始は問題なく過ごせそうですが、結局どこかのタイミングで時間の補正が必要となるため、1.の対応を今年中に対応することにしました。
ntpdの同期モード
ntpdの同期モードにはstepモードとslewモードがある
- stepモード : 上位NTPサーバに問い合わせた時間にすぐに合わせる(デフォルト)
- slewモード : システム時間の進み方(早くしたり遅くしたり)を調整する
デフォルトがstepモードのため、うるう秒が挿入された場合に強制的に1秒戻される可能性があるためslewモードにする必要がある。
slewモード変更手順
ここからは実際の設定変更手順となります。リンクバルで使用している AmazonLinux / CentOS / Ubuntu の設定変更手順となります。
AmazonLinux / CentOS
yum –releasever=latest install ntp
2.ntpd停止
service ntpd stop
3.時刻ステータスクリア
ntptime -s 0
4.slewモード設定(オプション「-x」を追加するとslewモード)
vi /etc/sysconfig/ntpd
—
NTPD_OPTS=’-g -x’
—
5.ntpd起動
service ntp start
6.プロセス確認(ntpdにオプション「-x」が付与された状態で起動されているか確認)
ps aux | grep ntpd
[/bash]
Ubuntu
apt-get update
apt-get install ntp
2.ntpd停止
service ntp stop
3.時刻ステータスクリア
ntptime -s 0 -f 0
4.slewモード設定(オプション「-x」を追加するとslewモード)
vi /etc/default/ntp
—
NTPD_OPTS=’-g -x’
—
5.ntpd起動
service ntp start
6.プロセス確認(ntpdにオプション「-x」が付与された状態で起動されているか確認)
ps aux | grep ntp
[/bash]
ということでなんとか年内には対応完了する目処はつきました。あとは「人知を尽くして天命を待つ」といった感じで、元旦早々アラートが上がらないことを祈りながら過ごすことになりそうですが、みなさま良いお年をお過ごし下さい。
リンクバルでは エンジニアを積極募集中 です。興味のある方のご応募お待ちしております。