特集 Windows Server 2003完全ガイド Windows Server 2003でエンタープライズ環境はこう変わる 1.Windows Server 2003信頼性向上のポイントPeter Pawlak2003/08/28 Copyright(C) 2003, Redmond Communications Inc. and Mediaselect Inc |
||
|
本記事は、(株)メディアセレクトが発行する月刊誌「Directions on Microsoft日本語版」 2003年8月15日号 p.27の「Windows Server 2003が実現する高可用性の世界」を、許可を得て転載したものです。同誌に関する詳しい情報は、本記事の最後に掲載しています。 |
Windows Server 2003の新機能は、OS障害の可能性の削減、冗長性のサポートによる障害の影響の低下、問題検出および修理の迅速化と簡略化によって、アップタイムの改善を実現している。しかしアプリケーションの高水準の可用性を実現するには、信頼性の高いOSだけでは不十分である。多くの場合、アプリケーションはさらにハードウェアとOSの高可用性機能と連係するように設計されている必要がある。さもなければ、こうしたシステムの追加コストは正当性がない。
一般的に、アプリケーションの高可用性は3つの要素、すなわちテクノロジと人間、そしてプロセスと関係している。2番目と3番目の要素は多くのITの現場ではしばしば無視されるが、最初の要素と同様に重要である。しかし本稿の内容は、テクノロジ(ここではWindows Server 2003の新機能)がいかにアプリケーションの可用性を向上できるかという点にフォーカスする。
高可用性を支える3要素
「可用性(availability)」とは、あるアプリケーションがそのパフォーマンス仕様に従って機能を遂行できる時間のパーセンテージであり、アプリケーションの使用期間中の計画的および計画外のダウンタイムを含む。この用語は通常、サーバ・ベースのアプリケーションに使用されるが、ネットワークとクライアント側の障害や性能低下も総合的な測定基準の一部とみなせる。可用性の目標値(例えば99.9%、99.99%、99.999%のアップタイム)に関係なく、高可用性の技術的要素は本来、信頼性と冗長性、保守性という3つの基本的要素に依存している(この3要素が総合的な可用性にどのように貢献するかについては、コラム「高可用性システムの3つの重要ポイント」を参照)。
Windows Server 2003は総合的な可用性を向上するために、信頼性と冗長性、保守性をさまざまな点で改善している。さらに、高可用性はサーバの整理統合と結びついている。組織は少数のサーバ、特に連続稼働に近いアップタイムを達成しそうなサーバでより多くのユーザーをサポートできるなら、高可用性システムの割高なサーバ単価に納得できる可能性が高いからだ。
Windows Server 2003の信頼性の向上
MicrosoftのTrustworthy Computing(信頼できるコンピューティング)構想はWindows Server 2003の開発の初期段階に開始されたので、同製品の設計目標に影響を及ぼしている。特に重視された目標は、Windows Server 2003のセキュリティだけでなく信頼性も高めることだった。Microsoftと共同開発パートナーによって、このリリースは従来バージョンよりも綿密にテストされたことから、より堅牢な製品に仕上がったと思われる。しかしMicrosoftは100%欠陥のない製品は存在しないとの認識の下に、信頼性問題の性質にかかわる情報を検出収集するWindows Server 2003の機能を強化した。そして、それらの情報をMicrosoftとアプリケーション・ベンダにフィードバックし、フィックス(修正プログラム)の開発とインストールができるようにした。
Windows Server 2003は、不完全な振る舞いをするアプリケーションがほかのコンポーネントやシステムの総合パフォーマンスを低下させないように確実に対処し、欠陥のあるコードの修正を容易にする一連の機能を装備している。信頼性に影響する最も重要な新機能のいくつかを次に示す。
■Internet Information Services(IIS)6.0
IISの基本的なHypertext Transfer Protocol(HTTP)ハンドリング・モジュール(「リスナ」)は今回からWindows Server
2003カーネルの一部となった。これによりHTTPのパフォーマンスは格段に向上し、欠陥のあるアプリケーション・コードに起因する問題から保護される。IIS 6.0は各Webアプリケーション用に個別の「ワーカー」プロセスを開始する。このプロセスはユーザーが書いたアプリケーション・コードをリスナやほかのWebアプリケーションから隔離し、サーバ上で稼働するWebアプリケーション(およびWebサービス)の総合的な信頼性を向上する(IISの改良点のうち信頼性に影響するものに関する追加情報は、Directions
on Microsoft日本語版2002年7月15日号の「Windows
.NET Serverを支えるIIS 6.0―再設計で信頼性とセキュリティが向上」を参照)。
■ドライバのハンドリングの改善
Windows Server 2003のデバイス・ドライバ・インストーラは、新バージョンが問題を引き起こした場合には、従来バージョンのドライバに戻すことができる。またWindowsのファイル保護機能は今回から既知の問題があるドライバのリストを備え、それらのインストールを防止する。Windowsファイル保護(WFP)は重要なOSファイルを保護するサービスで、それらのファイルが置き換えられたり破損したりした場合、マシンのハードディスクにある保護されたコピーから自動的に修復する。OSには強化版のDriver
Verifierが付属し、開発者や管理者はコンピュータにインストールされたカーネルモード・ドライバをテストして、不正なファンクション・コールなど、システム・クラッシュを誘発する可能性のある動作がないかを確認できる。
■Application Verifier
Windows Server 2003にはApplication Verifierツールが付属する。開発者や管理者はこれを用いて、アプリケーションがヒープ・メモリ破損などの潜在的問題を抱えていないか確認できる。同ツールはアプリケーションによるOS(ファイル・システム、レジストリ、メモリ、APIなど)の利用を監視して、発見された問題を解決する上で役立つ情報を開発者に提供する仕組みだ。
■継続的コード改良ツール
Windows Server 2003はWindows XPと同様に自動アップデート・エージェントをネイティブ・サポートしており、Windowsアップデート・サービスから修正プログラムをダウンロードして適切なシステムにインストールできる。自動アップデートにより、管理者がシステムに重要な修正プログラムを施して最新状態に保つことが容易になる。また自動アップデートはソフトウェア・アップデート・サービスと連携できる(Directions
on Microsoft日本語版2002年5月15日号の「Software Update Serviceが6月末に登場、主要パッチの適用が容易に」を参照)。
Windows Server 2003はWindows Error Reporting(WER)サービスをサポートする初のMicrosoftサーバOSである。WERサービスは障害が発生したOSコンポーネントやドライバ、アプリケーションに関する詳細な情報を収集してMicrosoftに転送し、Microsoftやほかのソフトウェア・ベンダによるシステマチックな問題解決を支援する(WERに関する追加情報は、Directions on Microsoft日本語版2003年7月15日号の「Windows Error Reporting バグ追跡の仕組みを探る」を参照)。
■Windows Server 2003, Datacenter Edition
完全なフォールトトレラント・システムに依存せずに単体のWindowsサーバの信頼性を最も高めるには、Windows Server 2003, Datacenter Editionを稼働するサーバが最良の選択肢となる。これらのサーバは「Windows Datacenter High Availability Program(この件に関する ニュースリリース)」に参加しているOEMやシステム・ベンダからしか入手できない。これらはより高価だが、テスティングとサポートの水準は通常のWindowsサーバをはるかに上回る(詳細情報は、コラム「Windows 2003 Datacenterの新機能」を参照)。
冗長性サポートの新機能
Windows Server 2003は、ハードウェア・コンポーネント・レベルとシステム・レベルの両方で冗長性の新たなサポートを導入している(フォールトトレラント・サーバ、サーバ・ファーム、サーバ・クラスタなどの概念については、コラム「冗長性を用いて高可用性システムを構築する4つの方法」を参照)。
一般的な高可用性Windowsシステム・アーキテクチャ |
Windowsサーバは多層グラフィカル・ビジネス・アプリケーションをホスティングする高可用性システムの構築に使える。データ層はビジネスおよびプレゼンテーション・ロジックを処理する層と分離されるので、各層には異なる高可用性(HA―High Availability)テクノロジが適している。このHAアーキテクチャの例では、フロントエンドのWindows Server 2003サーバ・ファームがビジネス・ロジックを処理し、Webブラウザ・クライアントのユーザー・インターフェイスを用意する。一方、バックエンドのWindows Server 2003クラスタはSQL Server上のデータ層をホスティングする。バックエンド・データ層は、クラスタではなくWindowsベースのフォールトトレラント(FT)・サーバ上にホスティングすることも可能だ。 クライアント・リクエストは、Windowsネットワーク負荷分散(NLB)サービス(あるいはF5 Network社のBigIPボックスなどの負荷分散ハードウェア)を用いてフロントエンド・サーバ内に分散される。ブラウザ・クライアントはステートレスであり、従って各トランザクションは異なるフロントエンド・サーバへの接続を伴うことが可能で、特定のフロントエンド・サーバに依存することはない。 フロントエンド・サーバもステートレスで、データ層にすべてのトランザクショナル・データを格納する。フロントエンド・サーバに障害が発生した場合やメンテナンスのためにサービスを中断する必要がある場合、クライアント・リクエストは自動的に別のフロントエンド・サーバへと再送される。 バックエンド・クラスタ(またはFTサーバ)のノードに障害が発生した場合やメンテナンスのためにサービスを中断する必要がある場合、正常なノードがデータへのアクセスを提供し続ける。 プレゼンテーション・レイヤは、WebサーバではなくクライアントPC上にホスティングしている一部の「ファット・クライアント」アプリケーションにも同様のアーキテクチャにより適応可能だ。ただしアプリケーションがステート情報を中間層サーバに格納せず、特定のサーバへの連続接続に依存していないことが条件となる。例としては、Windows SharePoint Servicesに接続するOffice 2003アプリケーションや、Exchangeフロントエンド・サーバに接続するPOP3メイン・クライアントなどがある。Webサービスを使用するクライアント・アプリケーションもこの種のHAアーキテクチャを使用できる。 |
INDEX | ||
[特集]Windows .NET Server 2003完全ガイド | ||
Windows Server 2003でエンタープライズ環境はこう変わる | ||
1.Windows Server 2003信頼性向上のポイント | ||
コラム:高可用性システムの3つの重要ポイント | ||
コラム:Windows 2003 Datacenterの新機能 | ||
コラム:冗長性を用いて高可用性システムを構築する4つの方法 | ||
2.新しいフォールトトレラント・ハードウェア・コンポーネントのサポート | ||
3.サーバ・ファーム全体のネットワーク負荷分散の改善 | ||
Windows Server 2003完全ガイド |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|