|
|
NTP SSH DHCPサーバーの構築
|
NTPサーバーについてntpdの設定(WBEL3,CentOS3)ntpdの設定(WBEL4,CentOS4)ntpdの設定(CentOS5)ntpdのコントロールntpdの動作チェックSSHサーバーについてsshdの設定(WBEL3,CentOS3)sshdの設定(WBEL4,CentOS4)sshdの設定(CentOS5)sshdのコントロールsshdの動作チェックポートフォワーディングの設定DHCPサーバーについてDHCPのインストールと設定DHCPのコントロールDHCPの動作チェック |
ntpdの動作チェック
ntpd
は、例えば参照する上位の
NTP
サーバー
がダウンしていても、"/var/lib/ntp/drift"の値を参照して見かけ上は正常に動作します
従って
構築中のLinuxサーバー
のntpdがきちんと設定されていて、"/etc/init.d/ntpd status"や
ps
コマンド
で動作確認
ntpdの実際の動作状態を確認するには、 "ntpq" コマンドを "-p" オプション付きで実行します。実行はroot アカウント から行います。 ntpdは直ぐには安定動作に入りませんから、ntpdを起動したら適当に間隔をおいて "ntpq -p" を実行してみてください。以下のような感じになるはずです。
"remote"
以下には、"/etc/ntp.conf"の"server"キーワード
また、この問い合わせ先のNTPサーバーが独立したNTPサーバーではない場合(別の上位のNTPサーバーの情報を中継しているケース)は、 "refid" 以下に実際に参照されるNTPサーバーのFQDNが表示されます。 ntpdが安定動作に入ると、上の 赤 で示すような "*" 、 "+" の記号が表示行の左端に入ります。 "*" で始まるものが現在同期に使用しているNTPサーバーで、 "+" で始まるものが予備のNTPサーバーです。 |
|||||||||
|
|
もしも、インターネットへの接続が正常であるにも係わらず、ntpdの起動から一時間ほど待ってもこの記号が付かない場合は、ntpdが正常に機能していません。"ntpq -p"の結果から以下の点をチェックしてみてください。 1."refid"の表示が"0.0.0.0"のまま変わらない。 この場合、NTPサーバーとの接続が成立していません。
原因としては、"ntp.conf"の"restrict default ignore"が有効になっている
2."refid"には FQDN が表示されているが、いつまで経っても"*"、"+"の符号が付かない。 つまり、NTPサーバーへの接続は成立しているのに、時刻調整ができないケースです。
原因としては、接続先のNTPサーバーが込み合っていて安定した時刻情報が得られていないというケースが考えられますので、NTPサーバーの指定
また稀なケースですが、ntpdが調整しようとしてる時刻と調整前の WBEL や CentOS のシステム時計の時刻が大幅に違っている場合、ntpdが補正値の計算をできずになかなか安定動作に入れない、ということもあり得ます。 こういう場合は、ntpdを一度停止してWBELやCentOSのシステム時計を ntpdate コマンドで手動調整し、 reboot コマンドでWBELやCentOSのシステムを再起動するときちんと動作するようになります。
なぜこの方法で問題が解消されるのかについては、次のパートをご覧ください。
|
|||||||||
おまけ〜ホスト上の二種類の時計 |
||||||||||
| ハードウェアクロックは BIOS を呼び出して調整することができます。 |
ひとつは、通称 ハードウェア クロック と呼ばれる、 マザーボード 上に組み込まれているクウォーツ時計です。 ハードウェアクロックは、ホスト機の電源が入っていない間もバックアップ用の電池で動作しています。 もうひとつは一般に システムクロック と呼ばれるもので、これはWBELやCentOSが ソフトウェア 的に動作させている時計です。 ntpd や、前のパートの最後に説明した ntpdate コマンド などで調整され、WBELやCentOSのシステムや アプリケーション が参照するのはこのシステムクロックです。 |
|||||||||
| 具体的にいうと、WBELやCentOSの起動時に実行される スクリプト の中で、システムクロックをハードウェアクロックに合わせる "hwclock --hctosys" というコマンドが実行されます。 |
WBELやCentOSは OS の起動時に、一度だけハードウェアクロックを参照してシステムクロックの動作を開始し、次回の起動作業までハードウェアクロックを参照することはありません。 さて、ハードウェアクロックは要するに「ただの時計」ですから、放っておくと少しずつ狂ってきます。能力的には通常の時計と同等の精度で時刻を刻むことができるはずですが、ホスト機の内部は温度や振動、電磁波の影響もあって、同じ仕組みを持つ通常の時計に比べるとかなり狂いやすくなっているのが事実です。 ということは、ハードウェアクロックは普通の時計と同じように、時々時間を合わせてやる必要がありそうな気がするかもしれませんが、実際にはまずその必要はありません。 |
|||||||||
| 具体的にいうと、WBELやCentOSの終了時に実行されるスクリプトの中で、ハードウェアクロックをシステムクロックに合わせる "hwclock --systohc" というコマンドが実行されます。 |
なぜかというと、WBELやCentOSは poweroff や reboot コマンドが実行されるとき、システム終了時に実行されるスクリプトによって、ハードウェアクロックの時刻をシステムクロックの時刻に合わせるようになっているためです。 つまり、ntpdやntpdateコマンドなどでシステムクロックが正確に調整された後にWBELやCentOSの再起動を行えば、自動的にハードウェアクロックも正確に調整され、その調整されたハードウェアクロックによってシステムクロックがスタートすることになります。 |
|||||||||
|
|
これで、前のパートの最後に説明した時刻調整方法のプロセスがお解かりと思います。 さて、連続稼動を前提としている 構築中のLinuxサーバー でも、メンテナンスなどで数ヶ月に一度くらいは電源を切ることもあるでしょう。 という訳ですから、ntpdによってシステムクロックが常に正確に時刻を刻んでいるのであれば、特に意識することなく不定期にハードウェアクロックの調整も行われている、ということになるわけです。 解説書などで、定期的にシステムクロックとハードウェアクロックを同期させるような仕組みを設けるように勧めているケースがよく見られますが、それが必ずしも必要なことではないことはこれでお解かりと思います。 トラブルを避ける意味でも、余分な仕組みはできるだけ作らないようにしましょう。
|
|
|
ntpdのコントロール
<<Previous
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |