« 時間を指定して shutdown する方法 | メイン | vi の基本的な操作について »

2010年3月10日

NTP を slew モードで動かす方法

Solaris バンドルの NTP は step と slew の 2 つの同期モードをサポートしている。

■ step モード ... 一気に時間を同期し、時間が未来や過去になることがある。
■ slew モード ... ゆっくり時間をあわせ、時間が過去に戻ることはない。


デフォルトは参照先の NTP サーバとの時間のずれが 128 ms 以上場合
step で同期する。128 ms 以上の動作モードは選択が可能。
* 128 msec 未満の場合は常に slew で同期する。

step or slew slew only step or slew

---------------+---------0---------+--------------
-128ms +128ms

デフォルトの step 設定では 128 ms 以上のずれである場合一気に同期が取られるため、時間が "飛んだ" 状態が発生し、時間を参照するアプリケーションが誤作動する可能性がある。このような場合は動作モードを slew に設定することで回避が可能。

slew に変更するためには、事前に slew モードをサポートするパッチ適用が必要。設定は /etc/inet/ntp.conf に slewalways yes オプションを記載する。注意点として、Solaris 9 以下には 既知のバグ BugID:4532216 が存在しており、この対策のため disable pll オプションも合わせて設定が必要となっている。
* Solaris 10 で BugID:4532216 は修正されている。

/etc/inet/ntp.conf 作成または編集は、xntpd デーモンを再起動する。

■ slew モードに必要なパッチ

Solaris 8 109667-04
Solaris 9 パッチ不要
Solaris 10 パッチ不要

■ 設定方法

Solaris 9 以下
slewalways yes 時に disable pll も合わせて設定が必要

Solaris 10 以上
slewalways yes のみで動作可能。disable pll は不要

例)
Solaris 9 以下

/etc/inet/ntp.conf
------------------
server xx.xx.xx.xx
slewalways yes
disable pll
------------------

# /etc/init.d/xntpd stop
# /etc/init.d/xntpd start

Solaris 10 以上

/etc/inet/ntp.conf
------------------
server xx.xx.xx.xx
slewalways yes
------------------

# svcadm disable ntp
# svcadm enable ntp

投稿者 AJ : 2010年3月10日 20:10

トラックバック

このエントリーのトラックバックURL:
http://www.factory-aj.com/cgi/mtctrl/mt-tb.cgi/287

 
Powered by Movable Type 4.27-ja | RSS1.0 | RSS2.0 | ATOM