Windows Server 2008の「信頼性とパフォーマンス・モニタ」は、いままでWindows OSに用意されていた「パフォーマンス」というツールの後継であり、現在のシステムの状況をリアルタイムに監視するトップページに加えて、システムの状況を分かりやすく表示するモニタリング・ツール、ある期間に特定のパフォーマンス・データを取得するデータ・コレクタ・セット、そして収集したデータをレポート化するレポート機能の3つをサポートする。
まずはトップページを見ていただきたい。
この画面では、CPU/ディスク/ネットワーク/メモリの使用状況を、分かりやすいグラフによってリアルタイムに監視できる。またCPUへ負荷をかけているプロセスや、どのプロセスがどのファイルへアクセスすることで負荷をかけているのか、それが読み取りなのか書き込みなのかといった、マシン内で起きているさまざまな事象を確認することもできる。
またシステムに異常があった場合のパフォーマンス・データ収集や、システム増強のために必要なサンプル・データの収集には、「データ・コレクタ・セット」という機能によって独自にルールを作ることができる。ある瞬間のデータに加え、一定期間に渡ってどのように負荷が変化したかなどを確認できるため、不定期に発生するようなトラブルの解決にも役立てることができる。さらに、このデータ・コレクタ・セットにデフォルトで設定されたSystem Diagnosticsの設定項目(次の画面参照)を見ると分かるように、単純なパフォーマンス監視だけでなく、アンチウイルス・ソフトウェアの導入やファイアウォール、BIOSなどの情報を定期的に取得できる。
これらの情報をパフォーマンス・データとともに定期的に取得し、システムが正しく設定され、運用されているかを確認することはシステムを安定的に動作させるために必要な作業である。もちろんレポート機能によってその情報を出力することができるため、報告書の作成などにも利用できる。
さて、これだけではいままでのパフォーマンス・モニタの機能を拡張したにすぎないと思われるかもしれないが、Windows Server 2008の信頼性とパフォーマンス・モニタには、もう1つ機能が追加されている。それは、名前にもある信頼性モニタという機能である。
Windows OSだけではないが、OSを運用していくためには、ドライバの追加や各種アプリケーションのインストール/削除、さらには修正プログラムの適用といった、さまざまな環境の変化が発生する。そして、その環境の変化は、時にオペレーティング・システム全体の安定性を損なう可能性がある。そこでこの信頼性モニタの登場である。上の画面のように、信頼性モニタでは、過去28日間にシステム上で行われたさまざまな変化を保存し、システム安定性グラフやシステム安定性レポートという形で可視化している。これにより、システムで発生しているさまざまな事象の原因特定の手助けとなる。
最後に、システム運用のためのスクリプティング環境について見ておく。Windows PowerShellについては本サイトでもすでに取り上げられているので、ここでは、技術的な細かな部分ではなく、マイクロソフト・テクノロジにおけるWindows PowerShellの位置付けについて触れる。
ITが、一部の専門家によるものではなく、より多くの人が自ら構築し利用できるものになるために、GUIが果たしてきた役割は非常に大きいはずである。そのため、マイクロソフトが提供するGUIは改善を続けており、ウィザードによる設定の容易性やビジュアルに可視化することによって直観的に理解できる仕組みを追求している。しかし、いったん設定が完了し、いざ運用のフェイズに入ると、その状況は一変する。作業は定型化され、繰り返し行うことも多く、しかも増え続けるサーバすべてを管理することを考えなければならない。特に、これから押し寄せてくるであろう自動化の波を考えると、すべての作業がGUIに依存してしまう事態は避ける必要がある。
そこで出てくるのがWindows PowerShellである。ご存じの方も多いと思うが、Windows PowerShellはWindows Server 2008のために作られたものではなく、GUIに依存してきたシステムの運用管理環境を大きく変えるために開発された、まったく新しいスクリプティング環境である。
Windows OS環境にはGUIツールしかないと思われているかもしれないが、実際には、スクリプトによって多くの作業を自動化しやすくするためのAPIの提供や、OSが新しくなるたびに運用管理に利用できるコマンドの数を増やしていたことも事実である。しかし、抜本的な解決策でなかったこともまた事実である。
それでは、Windows PowerShellを利用するとどうなっていくのだろうか。Exchange Server 2007において採用されている理想的なパターンを紹介しておこう。Exchange Server 2007では、管理対象に対してまずはWindows PowerShellベースで管理環境が構築されている。そして、その上にGUIの画面を被せている。こうすることにより、GUIで設定することもできるし、GUIでできるすべての作業は、スクリプトでも実行できるようになる。また開発する側もGUIツールとコマンドを別々に開発するのではなく、スクリプトに与える情報をユーザーインターフェイス(UI)で入力させたり、実際にスクリプトを呼び出したり、またスクリプトの実行状況を可視化したりするのにGUIを使ったとしても、管理ロジックそのものはWindows PowerShellをそのまま利用すればよくなる。
もう少し具体的にいうと、Windows PowerShellは.NET Frameworkをベースに構築されており、GUIの管理環境のベースとなるMicrosoft Management Consoleには.NET をベースに開発されたスナップインを追加することができる。このように、スクリプトもGUIも同じテクノロジの上に成り立つことで開発の容易性と実行環境の統一、さらには運用管理そのものも大きく変えることができる。本記事としては余談となるが、これからWindowsベースのシステムを開発しようとしているエンジニアはこのパターンの採用をぜひご検討いただきたい。
さてWindows Server 2008に話を戻そう。Windows Server 2008の開発はWindows PowerShellとは別の流れになっていたため、現状ではWindows PowerShellによってWindows Server 2008のすべての管理ができるわけではない。しかし、Windows PowerShellには130もの実行可能なコマンド(コマンドレット)が用意されており、拡張も可能なので、例えば、シェル上でイベント・ログを取得することも、フィルタをかけて必要なログのみ表示することも、また取得したイベント・ログの情報をファイルへ出力したりすることも容易である。また、ファイル・システムやレジストリにスムーズにアクセスできることから、対話型のシェルを通じて、コマンドに慣れ親しんだ多くの運用管理にメリットをもたらしてくれる。そして、Windows PowerShellがWindows Server 2008の標準機能として組み込まれることになったことで、今後その結びつきはさらに強いものになっていくだろう。
さて、第3回ではWindows Server 2008で採用された新しい運用管理機能について解説した。いままでOSの標準機能として組み込まれている管理機能をこれほど前面に押し出したことはなかっただろう。しかしITの運用コスト増大が多くの企業の懸念材料となり、これからどうすべきか議論がなされる中、Windows Server 2008が新機能の追加だけではなく、現場の運用管理者の声によって、管理機能も新しくなったことを理解いただければ幸いである。
Windows Server 2008はまだベータ版であり(現在RC0がリリースされている)、これからも開発は進むことになる。ぜひ、多くの方にテストをしていただき、不具合についてはご連絡をいただきたい。その過程を経ることで、Windows Server 2008が正式にリリースされる時点では、もっとよいものになっていることだろう(ベータ版の入手方法などについては、第1回を参照のこと)。
この連載では今まで3回に渡って、Windows Server 2008の新しい機能についてその概要を解説してきた。次回からは、IISやActive Directory、NAP、ネットワーク機能など、個別の各機能について掘り下げ、より詳しく解説していく予定である。
Copyright© Digital Advantage Corp. All Rights Reserved.