Solaris 10でntpdを有効にしたいときはSMFで有効に! #solaris #ntp
頼まれて他人サマのSolaris 10サーバにNTP(正しくはntpdだけど)を設定しようとして、ちょっとコケたので備忘録に。ちょっとうっかりしただ けだもんねっ!
Solaris 9以前のサーバでは、NTPを有効にするときに:
- /etc/ntp.confを用意する (書き方はこのへんを参照したら良いと思う)
- サーバを再起動する or /etc/init.d/ntpd startを実行する
このステップで有効になる。
ちなみに/etc/init.d/ntpd startを実行すると、ただちにNTPサーバと時刻が同期されて しまう。つまり、NTPサーバに対して5分遅れてたら、いきなり5分進むし、その逆もしかり。RDBMSみたいに時刻にナイーブなサービスが動いている場 合には、予めそれらのサービスを止めてから有効にすることをオススメしたい。
さておき、この手順で設定をやって、まぁ、業務的な調整もあるってんで適当なタイミングで再起動をしてもらったらNTPが動いていない。時刻も同期 されていない。
なんじゃこりゃ、と5分ほど考え込んで……
「あっ、しまった。Solaris 10じゃん」
とまぁ、自分の間抜けさに軽く眩暈を覚えた次第。
Solarisに関わってる人にとっては常識。Soalris 10からdaemonの管理は、/etc/rcX.dのスクリプトから起動する従来型(legacyと呼ばれる)からSMFという仕組みへ移行されつつある。そして、ntpdもアタリマエのようにその中に含まれている。
これをうっかり忘れていたわけ。
そんなわけで、Solaris 10の場合には:
- /etc/ntp.confを用意する
- 時刻にナイーブなサービスを停止する
- SMFで/network/ntpを有効にする
この3ステップになる。SMFで/network/ntpを有効にするには次のコマンドを実行すればいい。
svcadm enable /network/ntp #--- NTPのサービスを有効にする svcs -l /network/ntp #--- NTPのサービスの状態を確認する
以上。良い子のSolaris管理者のみんなは、真似しないように気をつけてね! くそぅっ。