« 2008年9月 | メイン | 2010年4月 »

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 : 20:10トラックバック (0)

2010年3月 3日

時間を指定して shutdown する方法

特定の時間に shutdown を実行するには、at コマンドを利用することにより可能。

例として、12 月 1 日 AM 10:00 に shutdown する設定を記載。

# at 10:00 Dec 1
at> shutdown -i 5 -y
at> <- Ctrl+D にて終了。
/sbin/sh を使用してコマンドを実行。
(水) 12月 1 10:00:00 2007 のジョブ 1198043220.a です

at コマンドに -l オプションを指定することでジョブの登録を確認できる。 そのジョブの内容については、/var/spool/cron/atjobs/ 配下 のジョブ ID ファイルに記述がある。

# at -l
user = root 1198137600.a (木) 12月 20 17:00:00 2007

# more /var/spool/cron/atjobs/1198137600.a
: at job
: jobname: stdin
;

詳細は、[ # man at ] [ # man shutdown ]を参照。

投稿者 AJ : 21:09トラックバック (0)

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