特集 Windows Server 2003完全ガイド エンタープライズ環境はこう変わる 3.サーバ・ファーム全体のネットワーク負荷分散の改善 Peter Pawlak2003/09/02 Copyright(C) 2003, Redmond Communications Inc. and Mediaselect Inc |
|
アプリケーションとWebサーバをサーバ・ファーム全体に行き渡らせることが可能な場合、Windowsネットワーク負荷分散(Network Load Balancing、NLB)サービスは受信したクライアント・リクエストをファーム内のサーバに分配し、1台が応答しなくなった場合はリクエストを別のサーバに再び割り当てる。しかし、NLBには深刻な制約がある。NLBはアプリケーション自体の状態を監視しないので、ネットワークとOSは正常だが、アプリケーションが障害を示したり、ハングアップしたりしているサーバにリクエストを送る可能性が残されている。
Windows Server 2003のNLBサービスには依然としてこの制約があるが、Windows 2000の旧型に比べさまざまな改良を加えている。主な改良点を次に示す。
■NLBマネージャ
Windows 2000 ServerにはNLBファームを集中管理するツールが欠けていたが、新しい管理ユーティリティはNLBファームのコンフィギュレーションと管理を集中的に行える。管理者は、Application Center Serverのライセンスとインストールなしに、NLBファームの管理と個々のメンバーに対する設定の適用が容易になる。
■インターネット・プロトコル・セキュリティ(IPSec)のサポート
クライアントはIPSecを用いてNLBファームに接続できるようになった。これはWindowsルーティングとリモート・アクセス・サービス(RRAS)を用いてNLBファームをVPNサーバとして機能させる場合に特に重要だ。
■仮想クラスタ
NLBファームは「仮想クラスタ」と呼ばれる単位に分割できる(前述のWindowsクラスタ・サービスによって作成されたクラスタ・サーバとは別物)。管理者はこれらの仮想NLBクラスタによってファームをよりきめ細かくコントロールでき、例えば異なるクラスタIPアドレスに異なるルールを設定するといったことが可能だ。ここで、各クラスタIPアドレスは、NLBファーム上にホスティングされているWebサイトまたはアプリケーションに相当する。
■双方向アフィニティとマルチNICのサポート
NLBには、MicrosoftのInternet Security and Acceleration(ISA)Serverを稼働する冗長ファイアウォール・サーバのサポートを主眼とする多数の改良が含まれている。この新機能により、マルチホームの(2つ以上のネットワーク・インターフェイスを装備した)ISA Serverは内部および外部インターフェイスでNLBの異なるインスタンスをサポート可能になる。さらに、ファイアウォールの内側のWebサーバからのクライアント応答が、確実にそのリクエストが通過してきたのと同じISA Server経由でユーザーに再びルーティングされるようにする。
Windows Server 2003における保守性の改善
Windows Server 2003は計画メンテナンスの実施に伴うダウンタイムを削減し、インスツルメンテーション・サポートを改善してハードウェアとOS、アプリケーションの状態の監視を強化し、管理者がトラブルシューティングと障害復旧を行うためのツールを改善している。
計画ダウンタイムの削減
計画ダウンタイムは多くの場合、総ダウンタイムの中で最大の比率を占める。単体サーバの場合はその傾向が特に強い。アプリケーションやサービスが単体サーバでホスティングされている場合、メンテナンスにかかる時間を最小限に食い止めることは非常に重要である。通常、冗長サーバを使用することで、管理者はサービスを停止せずに1台のサーバのメンテナンスとアップグレードを同時に行える。しかし2台のサーバによって冗長性を実現している場合、1台をメンテナンスのために停止すると冗長性は失われる。従って管理者は、このような無防備な状態を最小限に抑える必要がある。
Windows Server 2003では、デバイス・ドライバのアップグレードなどのメンテナンスを行う際のリブート回数が従来バージョンよりも少なくて済む。Win32および.NETのサイドバイサイド・アセンブリ(主にDLL)をサポートしているため、サイドバイサイド・サポートを使うために開発されたこれらのシステムおよびアプリケーション・コンポーネントを、旧バージョンを使用したままでアップグレードできる。
Windows Server 2003は新たにホットスワップ・メモリとホットプラグPCIをサポートしており、サーバ・ハードウェア・ベンダがサポートしている機種であれば、管理者はサーバを停止せずにメモリやPCIベースのアダプタを追加できる。
インスツルメンテーションの改善
高水準の可用性が必要とされる場合、管理者は重要イベントをMicrosoft Operations Manager(MOM)などの監視システムに報告するインスツルメンツ付きのアプリケーションやシステム・コンポーネントを用いて、障害の発生や前兆を自動検出する必要がある。
Windows Server 2003のWindows Management Instrumentation(WMI)サポートは、AD、クラスタ・サービス、ディスク割り当て、IIS、プリンティング、ターミナル・サービス、ボリューム・シャドウ・コピー・サービス用のWMIプロバイダによって強化された。これらのプロバイダにより、これらのサービスの状態を集中監視できる(Windows Server 2003におけるWMIの改善についての追加情報は、Directions on Microsoft日本語版2003年5月15日号の「GUIを超えて進化するWindows管理ツール」を参照)。
新規サービスおよび修復ツール
OSやアプリケーションを手作業で修復する必要がある場合、Windowsサーバの管理者はその目的のために設計されたツールを必要とする。そのサーバに物理的にアクセスできない場合は特にそうである。例えばターミナル・サービスは、管理者がWindowsサーバを遠隔管理できるWindows 2000の非常に重要な機能だ。しかし、Windowsが稼働しており、ターミナル・サービス・クライアントの接続をサポートできるほど正常な状態でなければならない。ターミナル・サービスが機能しないとき、例えばセットアップ中やブート中、システム・クラッシュ後、あるいはサーバがネットワーク上で利用できない場合には、管理者は自らサーバのところに行く必要があった。
Windows Server 2003はEmergency Management Service(EMS)という新機能を搭載しており、管理者はこれを用いてリモート・サーバと、モニタおよびキーボードのないサーバ(いわゆる「ヘッドレス」サーバ)のキャラクタ・モードの仮想コンソールにアクセスできる。EMSと連携するには、サーバは互換性のあるマザーボート・ファームウェアとアウトオブバンド管理ポート(シリアル・ポートに接続したモデムまたはターミナル・コンセントレータ)を備えるか、独自のネットワーク接続とバッテリを備えたサービス・プロセッサ・アダプタ・カードを搭載している必要がある。管理者はEMS仮想コンソールにアクセスして、ハングアップしたサーバのリブート、ブルー・スクリーンおよびスタートアップ・エラー・メッセージの読み取り、BIOSの設定変更、電源の操作、Windowsスタートアップ・オプション(セーフ・モードなど)の選択などを遠隔操作で行える。
ときとして、サーバのすべてあるいは一部のファイルを以前の正常な状態に復帰させるのが唯一の手段の場合がある。その場合、この作業を速く実行できればそれだけ迅速にサーバを復旧できる。
Windows Server 2003の新しいボリューム・シャドウ・コピー・サービス(VSS)により、サーバの全ファイルを日中頻繁にディスクにバックアップすることが実用上可能になり、従来のテープ・ベース方式の数分の1の時間でデータを復旧できるようになる(VSSに関する追加情報は、Directions on Microsoft日本語版2002年12月15日号の「.NET Serverでエンタープライズストレージをサポート」およびWindows Server Insiderの「可用性を向上させるボリューム・シャドウ・コピー・サービス」を参照)。
サーバを完全にゼロから構築し直す必要がある場合、新しい自動システム回復(ASR)機能によってOSとシステムの状態、ハードウェア・コンフィギュレーションの復旧が迅速化かつ簡略化される。ASRはさらに、バックアップ、ディスク・コンフィギュレーション(ベーシックおよびダイナミック・ボリュームを含む)、リストア方法に関する情報を含むフロッピー・ディスクを作成する。しかし、管理者はASRを基本OSの再構築にしか使えない。プログラム・ファイルやデータ・ファイルは、依然としてテープやディスク・ベースのシャドウ・コピーからリストアする必要がある。
複雑さのパラドックス
高可用性の実現にはすべての重要コンポーネントの冗長性が必要となる。しかし冗長システムは不可避的に、同じサービスを提供する非冗長システムに比べて複雑になる。この複雑さは新たな問題を招き、冗長性が本来もたらすべきさまざまなメリットを相殺しかねない。
これはさまざまな原因によって起こり得る。システムのクリティカル・パスの要素が増えるに従い、実は総合的な障害のリスクは増加する。この現象を相殺する適切な手段を講じない限りそうなる。さらに、システムが複雑化するに伴い、開発者や管理者が使用されているテクノロジを完全に理解する可能性は下がる。その結果ヒューマン・エラーの機会が増え、変更のコントロールとトラブルシューティングはいっそう難しくなる。最後には、こうしたシステムの1つが完全に故障した場合、複雑さのせいで再構築やリストアはいっそう困難で時間のかかるものとなる。システムのステートが異なるサーバに分散している場合、適切なテープ・バックアップの作成さえ複雑な作業となり得る。
さらに、アプリケーションが冗長システムを活用するように設計されていなければ、基本インフラに対する投資の多くは無駄になる。しかし、高可用性アプリケーションの開発は通常、従来型アプリケーションの開発よりも難しくコストがかかり、それらに固有の複雑さはさらなる問題を招きかねない。
総合的には、高可用性を実現するための正しいテクノロジと設計を選ぶ確実な処方箋は存在しない。設計者やアーキテクトは、自分の判断力と経験を駆使して複雑さに伴うリスクと冗長性の潜在的メリットを天秤にかけ、デリケートにバランスをとらなければならない。
参考資料
Directions on Microsoft日本語版 本記事は、(株)メディアセレクトが発行するマイクロソフト技術戦略情報誌「Directions on Microsoft日本語版」から、同社の許可を得て内容を転載したものです。Directions on Microsoftは、同社のWebサイトより定期購読の申込みができます。 |
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をインストールしてみる
|
|