特集 Windows Server 2003完全ガイド エンタープライズ環境はこう変わる コラム:高可用性システムの3つの重要ポイント Peter Pawlak2003/08/28 Copyright(C) 2003, Redmond Communications Inc. and Mediaselect Inc |
|
高可用性システムを構築する場合、システム設計者は信頼性、冗長性、保守性という3つの重要な要素を完全に理解し、それらに注意を払う必要がある。
■信頼性(Reliability)
システムの各コンポーネントの信頼性が高ければ高いほど、総合的な可用性は向上する。ここでいう信頼性とは、長期的な連続運転期間においてハードウェアやソフトウェアに障害が発生しないという意味である。しかし、信頼性の高いシステムの設計と構築はシステムのコストを押し上げ、ハードウェアとソフトウェアのエンジニアリングとテスティングが多すぎると製品の発売が遅れ、その結果収益が下がる。このため、ほかの手段、すなわち冗長性と保守性によって信頼性を補強する必要がある。
■冗長性(Redundancy)
完全な信頼性の実現は不可能であり、条件の変化に応じてアプリケーションの使用期間中にシステムの保守が必要となる可能性がある以上、冗長性は高可用性を実現する上で重要な役割を果たす。この冗長性は、二重の電源装置などのハードウェア・コンポーネントから、異なる地理的場所に存在するサーバ・ファーム全体まで、さまざまなレベルで実現できる。
フォールトトレラント(fault tolerant、耐障害性)という用語は、冗長な「信頼性の低い」コンポーネントを用いて実現した高可用性(つまり、1つのコンポーネントの障害がサービスの中断を引き起こさない状況)の説明にしばしば使われる。例えばRAID(Redundant Array of Inexpensive Disks)は、ディスク・ドライブに障害が発生した場合でもストレージ・デバイス・レベルでフォールトトレランスを実現する。しかしフォールトトレラントなコンポーネントを用いて構築したシステムも、しかるべく設計構築されていない限り、より高次のレベルでフォールトトレラントとは限らない。例えばサーバとそのOSにおいては、1つのハードウェアないしOSソフトウェア・コンポーネントの障害がシステムを停止させないように配慮した設計が必要である(この種のシステムは、ときに「ノンストップ」システムと呼ばれる)。しかしこうしたシステムの上で稼働するアプリケーション・サービスは、まだコードに欠陥を持つかもしれず、クラッシュの可能性がある。
冗長性はクラスタによって実現することもできる。また、アプリケーション・レベルで完全に実現することも可能だ。例えば、Active Directory(AD)やドメイン・ネーム・サービス(DNS)などの一部のWindowsシステム・サービスは、クラスタやファームの一部ではない通常のサーバで稼働するが、フォールトトレラントであるように設計されている(高可用性を実現するための冗長性のさまざまな活用方法に関する追加情報は、コラム「冗長性を用いて高可用性システムを構築する4つの方法」を参照)。
■保守性(Serviceability)
あるコンポーネントに障害が発生したり機能が低下したりした場合(たとえ冗長システムであっても)、それがサポートするサービスの可用性に影響を及ぼさずに障害を検出して修理する必要がある。そのためには、コンポーネントを稼働中に監視可能な機能(インスツルメンテーション)を実装するといった設計上の決定が必要になる。Microsoftは、Windowsのインスツルメンテーション・サポートを着実に改善し、Windows
Management Instrumentation(WMI)、パフォーマンス・カウンタ、イベント・ロギングのネイティブ・サポートを組み込んでいる。
たとえ開発者が多大な努力を払って信頼できるソフトウェア・コンポーネントを開発したとしても、現実にはこれらのコンポーネントの使用期間中にパッチを施したり、アップグレードを行ったりする必要が生じる。それらにパッチを施したりアップグレードを行ったりする際にサーバの再起動が不要で、パッチを施した後に問題が発生してもコンポーネントを以前の正常な状態に迅速にロールバックできれば、可用性は高まる。
問題が発生した場合、その解決とサービスの復旧は早ければ早いほどよい。サーバが修理担当スタッフと物理的に離れている場合は、管理者が遠隔操作できるツールの存在は非常に重要だ。Windowsサーバの場合、この種のツールとしてはMicrosoft管理コンソールとターミナル・サービスなどがある。しかし、ときとしてデータをテープからリストアするかシステムをゼロから構築し直すのが唯一の解決策の場合もある。これを迅速に行うツールがないと、基幹サービスが数時間、あるいは数日間オフラインになる可能性がある。
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をインストールしてみる
|
|