Windows Server 2008 以降は標準機能として搭載されている「グループポリシーの管理(gpmc.msc)」ですが、Windows Server 2003 においてはマイクロソフトのダウンロードセンターから入手する必要があります。
が、Windows Server 2003 の 64 bit 版にはインストールできないんですね・・・
誰かの役に立つ可能性は非常に低いであろう豆知識でした。
Windows Server 2008 以降は標準機能として搭載されている「グループポリシーの管理(gpmc.msc)」ですが、Windows Server 2003 においてはマイクロソフトのダウンロードセンターから入手する必要があります。
が、Windows Server 2003 の 64 bit 版にはインストールできないんですね・・・
誰かの役に立つ可能性は非常に低いであろう豆知識でした。
よくあるお問い合わせ「OS を再起動したところ、再起動前は実行されていなかったサービスが、再起動後に勝手に実行されている。これは問題ではないか。」をテーマに続けてきた [ サービスの「状態」比較 ] シリーズは、今回で最後となります。
今回取り上げるのは、第一回で少しだけ触れた、このお問い合わせに潜む問題点です。
問題点を一言で言うと、「サーバーの正常性確認というタスクを現場で実施している当人が、作業の意味をよく理解していない」という事に尽きます。
重要なサービスが起動しておらず、実際にサーバーとしての役割を果たせていなければ、紛れも無い障害事案です。
しかし多くの場合は何の問題も起きておらず、サービスの「スタートアップの種類」が「手動」であるが故の、たんなるタイミングの問題 (詳細は #2 参照) である場合がほとんどです。
この問題は、さらに A、B、C の要素に分解出来ます。
=====================================
[ A ] Windows における「サービス」の挙動についての知識不足。
他の OS を管理する部署から異動してきたばかりでたまたま知らなかっただけなのかもしれません。
が、Windows を管理する仕事においては、こういった知識がないと他にも色々と困る事が出てくると思います。
なぜか資格試験対策の本ではあまり触れられていないようなので、#3 で紹介したような情報源を利用して積極的に情報収集する必要があります。
=====================================
[ B ] 管理対象サーバーの正常性判断基準およびその手法が確立されていない
これは必ずしも個人の力量の問題ではなく、どちらかと言うと組織の管理上の問題です。
「サーバーを再起動した後には、正常性確認のためにサービスの状態を確認する」という手順が決まっているのでしょうが、その結果を解釈・判定する基準を策定していないのであればお粗末と言わざるを得ません。
=====================================
[ C ] お問い合わせ自体の矛盾
個人的にはこの点が一番気になります。
再起動前は問題無く稼働していたことを根拠にその時のサービスの状態を「正常」とし、それと違っている現在(再起動後)の状態を「異常」ではないかと考えてお問い合わせいただくことが多いのですが、これはまったく理に適っていません。
「問題無く稼働していたから正常」というロジックが正しいなら、再起動後も同じロジックに基づいて正常性を判断出来るはずです。
「表面的には問題無くとも、サービスの状態を細かくチェックしなければ見つけられないような潜在的な問題も存在し得る」ということを心配しているのかもしれませんが、その場合、再起動前が正常だった保証など無いことになります。
これまで潜在的な問題に気付かないまま運用してきたのだとしたらそれも問題ですが、その点を懸念してお問い合わせいただいたことは(私が知る限り)ありません。
おわり。
Windows Vista 以降のサービスの動作について、マイクロソフトから公開されている情報をいくつかピックアップしてみました。
本来こういう情報は、OS 上で確認できるように「ヘルプ」メニュー内に書かれているべきだと思うのですが・・・
=====================================
マイクロソフトの WEB サイトですが、内容は書籍からの転載です。
「スタートアップの種類」の説明として「手動 サービスはスタートアップ時に自動的には起動しませんが、ユーザー、プログラム、または依存するサービスによって起動できます。」と書いてあることから、開始の契機がユーザー操作だけではないことが分かります。
他にもサービスの基本的な動作について一通り解説されており、Windows の管理を生業としているならば、確実に押さえておきたい内容となっています。
<補足>
「回復操作の指定」の項に書かれていることは、実行中のサービスに障害が起きた場合の話です。
これもよくある勘違いなのですが、停止しているサービスを開始しようとして失敗した場合には当てはまらない(回復されない)ので、注意が必要です。
=====================================
■ 2. Windows サービスの機能強化
スタートアップの種類が [ 自動(遅延開始) ] だと、[ 自動 ] のサービスよりも約 2 分遅れで開始されることが書かれています。
(1. では「コンピュータの起動後まもなく」という曖昧な表現だった事です。)
<補足>
インサイド Windows 第 6 版 上 という本の 367 〜 368 頁には、この 2 分という時間を変更するレジストリ値が紹介されています。
例えば 8 分遅延させたい場合は、デフォルトでは存在しない下記レジストリ値を作成します。
(レジストリ値の種類や単位までは本に書いていません。私が Windows 7 で実際に確認した結果です。)
レジストリキー : HKLM¥SYSTEM¥CurrentControlSet¥Control
レジストリ値 : AutoStartDelay (REG_DWORD)
データ : 480000 (10 進数 , ミリ秒)
※ 個別のサービスではなく、[ 自動(遅延開始) ] の全サービスに対して適用される設定です。
=====================================
■ 3. Windows 7 および Windows Server 2008 R2 のスタンドアロン環境で Windows Time サービスが自動的に起動しない
「トリガー起動サービス」について解説されています。
Windows 7 や Windows Server 2008 R2 では、GUI の管理ツール「サービス」の画面では存在すら確認出来ない裏設定 (?) だったのですが、Windows 8 や Windows Server 2012 以降は確認出来るようになっています。存在だけは。
まだまだつづく
前回からだいぶ間が空いてしまいましたが、よくあるお問い合わせ「OS を再起動したところ、再起動前は実行されていなかったサービスが、再起動後に勝手に実行されている。これは問題ではないか。」についての第二回です。
例えば Windows 7 や Windows Server 2008 R2 の場合ですと、サービスの「スタートアップの種類」は4種類あります。
OS 起動時に自動的に開始される [ 自動 ]、それより 2 分遅れで自動的に開始される [ 自動(遅延開始)] 、何らかの契機により必要に応じて開始される [ 手動 ] 、まったく動かない [ 無効 ] です。
これらのうち [手動] という表現が問題で、「人間が手作業で [ 開始 ] ボタンを押した時にだけ開始する」サービスだという誤解を生んでいます。
実際にはそういう意味ではなく、人間の操作によらずとも、コンピューターの内部動作により必要に応じて随時開始(用が済んだら停止)されます。
そのことは、イベントビューアの「システム」ログで確認出来ます。
何らかのサービスが開始された際には「レベル:情報, ソース:Service Control Manager, イベント ID:7036, 説明:○○サービスは 実行中 状態に移行しました。」というイベントが記録されますので、パソコンを半日ぐらい手を触れずに放置してから確認してみてください。
いくつかのサービスが勝手に開始していることを確認出来ると思います。
(停止の際に記録されるイベントも、同ソースの同イベント ID です。)
なお「スタートアップの種類」を [ 自動 ] から [ 手動 ] に変更した場合、「システム」ログに「レベル:情報, ソース:Service Control Manager, イベント ID:7040, 説明:○○サービスの開始の種類は 自動的な開始 から 要求による開始 に変更されました。」というイベントが記録されます。
全部「要求による開始」という表現に統一しておけば無駄な誤解を生むことも無いはずなのですが、マイクロソフトはそこまで考えていないのでしょう。。。
このように、サービスの中には勝手に開始および停止するモノもありますので、OS 再起動の前後でサービスの状態を単純比較することに、たいした意味は有りません。
(もしかしたら、完全一致するケースの方が珍しいのかもしれません。)
意味のあるチェックをするとしたら、「このサーバーにおいて必ず開始されていなくてはいけない○○サービスが、ちゃんと開始されているか?」といったように、もっと的を絞る必要があります。
DNS サーバーなのに DNS Server サービスが開始されていなかったら、それは当然問題ですからね。
しかし、実際にこのお問い合わせいただいた場合に、本当に問題が起きていたことはほとんどありません。
大抵の場合は、そのサービスのスタートアップの種類が [ 手動 ] であるがために、状態を確認したタイミングでたまたま開始(または停止)されていただけです。
まだつづく。